From dd0c008c3f2d1144fa65a0a72f69d68975ff5893 Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Tue, 26 Nov 2024 15:37:17 +0300 Subject: [PATCH] import binutils-2.41-48.el10 --- .binutils.metadata | 1 + .gitignore | 1 + SOURCES/bin.ppc64.gcc.patch | 22 + .../binutils-2.19.50.0.1-output-format.sed | 38 + SOURCES/binutils-2.27-aarch64-ifunc.patch | 11 + SOURCES/binutils-BPF-reloc-4.patch | 38 + SOURCES/binutils-Intel-APX-part-1-fixes.patch | 871 + ...nutils-Intel-APX-part-1-supplimental.patch | 540 + SOURCES/binutils-Intel-APX-part-1.patch | 117747 +++++++++++++++ SOURCES/binutils-aarch64-RELR.patch | 3448 + .../binutils-aarch64-big-bti-programs.patch | 139 + SOURCES/binutils-autoconf-version.patch | 11 + SOURCES/binutils-big-merge.patch | 29 + SOURCES/binutils-demangler-updates.patch | 374 + ...ls-do-not-link-with-static-libstdc++.patch | 85 + SOURCES/binutils-execstack-error.patch | 1481 + SOURCES/binutils-export-demangle.h.patch | 33 + SOURCES/binutils-gold-empty-dwp.patch | 11 + ...inutils-gold-i386-gnu-property-notes.patch | 193 + ...binutils-gold-ignore-execstack-error.patch | 16 + ...nutils-gold-mismatched-section-flags.patch | 19 + .../binutils-gold-pack-relative-relocs.patch | 27 + SOURCES/binutils-gold-powerpc.patch | 71 + SOURCES/binutils-gold-warn-unsupported.patch | 66 + ...binutils-handle-corrupt-version-info.patch | 29 + SOURCES/binutils-libtool-lib64.patch | 236 + SOURCES/binutils-libtool-no-rpath.patch | 28 + SOURCES/binutils-multilib.am.patch | 49 + SOURCES/binutils-no-config-h-check.patch | 28 + SOURCES/binutils-power-11.patch | 83 + SOURCES/binutils-ppc-dt_relr-relocs.patch | 114 + SOURCES/binutils-revert-PLT-elision.patch | 167 + SOURCES/binutils-riscv-SUB_ULEB128.patch | 239 + SOURCES/binutils-riscv-testsuite-fixes.patch | 136 + SOURCES/binutils-section-ordering.patch | 26973 ++++ .../binutils-special-sections-in-groups.patch | 27 + .../binutils-suppress-ld-align-tests.patch | 13 + SOURCES/binutils-testsuite-fixes.patch | 986 + SOURCES/binutils-version.patch | 46 + SOURCES/binutils-x86-64-v3.patch | 33 + SOURCES/i686-AVX10.1-part-1.patch | 209 + SOURCES/i686-AVX10.1-part-2.patch | 379 + SOURCES/i686-AVX10.1-part-3.patch | 160 + SOURCES/i686-AVX10.1-part-4.patch | 1121 + SOURCES/i686-AVX10.1-part-5.patch | 3092 + SOURCES/i686-AVX10.1-part-6.patch | 39749 +++++ SPECS/binutils.spec | 4528 + 47 files changed, 203697 insertions(+) create mode 100644 .binutils.metadata create mode 100644 .gitignore create mode 100644 SOURCES/bin.ppc64.gcc.patch create mode 100644 SOURCES/binutils-2.19.50.0.1-output-format.sed create mode 100644 SOURCES/binutils-2.27-aarch64-ifunc.patch create mode 100644 SOURCES/binutils-BPF-reloc-4.patch create mode 100644 SOURCES/binutils-Intel-APX-part-1-fixes.patch create mode 100644 SOURCES/binutils-Intel-APX-part-1-supplimental.patch create mode 100644 SOURCES/binutils-Intel-APX-part-1.patch create mode 100644 SOURCES/binutils-aarch64-RELR.patch create mode 100644 SOURCES/binutils-aarch64-big-bti-programs.patch create mode 100644 SOURCES/binutils-autoconf-version.patch create mode 100644 SOURCES/binutils-big-merge.patch create mode 100644 SOURCES/binutils-demangler-updates.patch create mode 100644 SOURCES/binutils-do-not-link-with-static-libstdc++.patch create mode 100644 SOURCES/binutils-execstack-error.patch create mode 100644 SOURCES/binutils-export-demangle.h.patch create mode 100644 SOURCES/binutils-gold-empty-dwp.patch create mode 100644 SOURCES/binutils-gold-i386-gnu-property-notes.patch create mode 100644 SOURCES/binutils-gold-ignore-execstack-error.patch create mode 100644 SOURCES/binutils-gold-mismatched-section-flags.patch create mode 100644 SOURCES/binutils-gold-pack-relative-relocs.patch create mode 100644 SOURCES/binutils-gold-powerpc.patch create mode 100644 SOURCES/binutils-gold-warn-unsupported.patch create mode 100644 SOURCES/binutils-handle-corrupt-version-info.patch create mode 100644 SOURCES/binutils-libtool-lib64.patch create mode 100644 SOURCES/binutils-libtool-no-rpath.patch create mode 100644 SOURCES/binutils-multilib.am.patch create mode 100644 SOURCES/binutils-no-config-h-check.patch create mode 100644 SOURCES/binutils-power-11.patch create mode 100644 SOURCES/binutils-ppc-dt_relr-relocs.patch create mode 100644 SOURCES/binutils-revert-PLT-elision.patch create mode 100644 SOURCES/binutils-riscv-SUB_ULEB128.patch create mode 100644 SOURCES/binutils-riscv-testsuite-fixes.patch create mode 100644 SOURCES/binutils-section-ordering.patch create mode 100644 SOURCES/binutils-special-sections-in-groups.patch create mode 100644 SOURCES/binutils-suppress-ld-align-tests.patch create mode 100644 SOURCES/binutils-testsuite-fixes.patch create mode 100644 SOURCES/binutils-version.patch create mode 100644 SOURCES/binutils-x86-64-v3.patch create mode 100644 SOURCES/i686-AVX10.1-part-1.patch create mode 100644 SOURCES/i686-AVX10.1-part-2.patch create mode 100644 SOURCES/i686-AVX10.1-part-3.patch create mode 100644 SOURCES/i686-AVX10.1-part-4.patch create mode 100644 SOURCES/i686-AVX10.1-part-5.patch create mode 100644 SOURCES/i686-AVX10.1-part-6.patch create mode 100644 SPECS/binutils.spec diff --git a/.binutils.metadata b/.binutils.metadata new file mode 100644 index 0000000..9cb01f7 --- /dev/null +++ b/.binutils.metadata @@ -0,0 +1 @@ +0e008260a958bbd10182ee3384672ae0a310eece SOURCES/binutils-2.41.tar.xz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..85a28a3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/binutils-2.41.tar.xz diff --git a/SOURCES/bin.ppc64.gcc.patch b/SOURCES/bin.ppc64.gcc.patch new file mode 100644 index 0000000..a9aa80e --- /dev/null +++ b/SOURCES/bin.ppc64.gcc.patch @@ -0,0 +1,22 @@ +--- binutils.orig/ld/ldlang.c 2024-07-30 16:10:24.931862075 +0100 ++++ binutils-2.41/ld/ldlang.c 2024-07-30 19:11:58.741929934 +0100 +@@ -7940,6 +7940,19 @@ lang_list_remove_tail (lang_statement_li + { + union lang_statement_union **savetail; + /* Check that ORIGLIST really is an earlier state of DESTLIST. */ ++ ++ if (getenv ("LD_DEBUG_NEVER") != NULL) ++ { ++ /* FIXME: RHEL-49348: For some reason building this function for the ++ PowerPC architecture on RHEL-10 is resulting in a linker that ++ triggers the ASSERT below - because the origlist pointer is ++ corrupt. These fprintf statements, even if they will never be ++ used, are enough to cause the compiler to build the function ++ correctly, thus avoiding the problem. */ ++ fprintf (stderr, "origlist %p destlist %p\n", origlist, destlist); ++ fprintf (stderr, "heads: %p %p\n", origlist->head, destlist->head); ++ } ++ + ASSERT (origlist->head == destlist->head); + savetail = origlist->tail; + origlist->head = *(savetail); diff --git a/SOURCES/binutils-2.19.50.0.1-output-format.sed b/SOURCES/binutils-2.19.50.0.1-output-format.sed new file mode 100644 index 0000000..fd770cb --- /dev/null +++ b/SOURCES/binutils-2.19.50.0.1-output-format.sed @@ -0,0 +1,38 @@ +# Generate OUTPUT_FORMAT line for .so files from the system linker output. +# Imported from glibc/Makerules. + +/ld.*[ ]-E[BL]/b f +/collect.*[ ]-E[BL]/b f +/OUTPUT_FORMAT[^)]*$/{N +s/\n[ ]*/ / +} +t o +: o +s/^.*OUTPUT_FORMAT(\([^,]*\), \1, \1).*$/OUTPUT_FORMAT(\1)/ +t q +s/^.*OUTPUT_FORMAT(\([^,]*\), \([^,]*\), \([^,]*\)).*$/\1,\2,\3/ +t s +s/^.*OUTPUT_FORMAT(\([^,)]*\).*$)/OUTPUT_FORMAT(\1)/ +t q +d +: s +s/"//g +G +s/\n// +s/^\([^,]*\),\([^,]*\),\([^,]*\),B/OUTPUT_FORMAT(\2)/p +s/^\([^,]*\),\([^,]*\),\([^,]*\),L/OUTPUT_FORMAT(\3)/p +s/^\([^,]*\),\([^,]*\),\([^,]*\)/OUTPUT_FORMAT(\1)/p +/,/s|^|*** BUG in libc/scripts/output-format.sed *** |p +q +: q +s/"//g +p +q +: f +s/^.*[ ]-E\([BL]\)[ ].*$/,\1/ +t h +s/^.*[ ]-E\([BL]\)$/,\1/ +t h +d +: h +h diff --git a/SOURCES/binutils-2.27-aarch64-ifunc.patch b/SOURCES/binutils-2.27-aarch64-ifunc.patch new file mode 100644 index 0000000..562ef18 --- /dev/null +++ b/SOURCES/binutils-2.27-aarch64-ifunc.patch @@ -0,0 +1,11 @@ +diff -rup binutils.orig/bfd/elfnn-aarch64.c binutils-2.27/bfd/elfnn-aarch64.c +--- binutils.orig/bfd/elfnn-aarch64.c 2017-02-21 10:45:19.311956006 +0000 ++++ binutils-2.27/bfd/elfnn-aarch64.c 2017-02-21 11:55:07.517922655 +0000 +@@ -4947,6 +4947,7 @@ elfNN_aarch64_final_link_relocate (reloc + it here if it is defined in a non-shared object. */ + if (h != NULL + && h->type == STT_GNU_IFUNC ++ && (input_section->flags & SEC_ALLOC) + && h->def_regular) + { + asection *plt; diff --git a/SOURCES/binutils-BPF-reloc-4.patch b/SOURCES/binutils-BPF-reloc-4.patch new file mode 100644 index 0000000..a664518 --- /dev/null +++ b/SOURCES/binutils-BPF-reloc-4.patch @@ -0,0 +1,38 @@ +diff -rup binutils.orig/bfd/bpf-reloc.def binutils-2.41/bfd/bpf-reloc.def +--- binutils.orig/bfd/bpf-reloc.def 2023-10-30 10:41:59.114273359 +0000 ++++ binutils-2.41/bfd/bpf-reloc.def 2023-10-30 11:09:41.316109162 +0000 +@@ -72,3 +72,20 @@ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + true) /* pcrel_offset */ ++ ++ /* R_BPF_64_NODYLD32 is not used by GNU tools - but it is generated by LLVM. ++ We provide an entry here so that tools like strip can safely handle BPF ++ binaries generated by other tools. */ ++ BPF_HOWTO (R_BPF_64_NODYLD32, /* type */ ++ 0, /* rightshift */ ++ 0, /* size */ ++ 0, /* bitsize */ ++ false, /* pc_relative */ ++ 0, /* bitpos */ ++ complain_overflow_dont, /* complain_on_overflow */ ++ bpf_elf_generic_reloc, /* special_function */ ++ "R_BPF_64_NODYLD32", /* name */ ++ false, /* partial_inplace */ ++ 0, /* src_mask */ ++ 0, /* dst_mask */ ++ false) /* pcrel_offset */ +diff -rup binutils.orig/include/elf/bpf.h binutils-2.41/include/elf/bpf.h +--- binutils.orig/include/elf/bpf.h 2023-10-30 10:41:59.332273599 +0000 ++++ binutils-2.41/include/elf/bpf.h 2023-10-30 10:59:44.475368448 +0000 +@@ -30,8 +30,8 @@ START_RELOC_NUMBERS (elf_bpf_reloc_type) + RELOC_NUMBER (R_BPF_64_64, 1) + RELOC_NUMBER (R_BPF_64_ABS64, 2) + RELOC_NUMBER (R_BPF_64_ABS32, 3) +-/* R_BPF_64_NODYLD32 is not used by GNU tools. +- * It is kept in this file to remind that the value is already taken. */ ++/* R_BPF_64_NODYLD32 is not used by GNU tools - but it is generated by LLVM. ++ It is kept in this file to remind that the value is already taken. */ + RELOC_NUMBER (R_BPF_64_NODYLD32, 4) + RELOC_NUMBER (R_BPF_64_32, 10) + END_RELOC_NUMBERS (R_BPF_max) diff --git a/SOURCES/binutils-Intel-APX-part-1-fixes.patch b/SOURCES/binutils-Intel-APX-part-1-fixes.patch new file mode 100644 index 0000000..ddd7a0a --- /dev/null +++ b/SOURCES/binutils-Intel-APX-part-1-fixes.patch @@ -0,0 +1,871 @@ +diff -rupN binutils.orig/opcodes/i386-dis.c binutils-2.41/opcodes/i386-dis.c +--- binutils.orig/opcodes/i386-dis.c 2024-02-12 15:55:21.578572835 +0000 ++++ binutils-2.41/opcodes/i386-dis.c 2024-02-12 15:56:38.828623964 +0000 +@@ -8824,6 +8824,8 @@ get_valid_dis386 (const struct dis386 *d + break; + + case USE_3BYTE_TABLE: ++ if (ins->last_rex2_prefix >= 0) ++ return &err_opcode; + if (!fetch_code (ins->info, ins->codep + 2)) + return &err_opcode; + vindex = *ins->codep++; +@@ -9540,8 +9542,6 @@ print_insn (bfd_vma pc, disassemble_info + /* REX2.M in rex2 prefix represents map0 or map1. */ + if (ins.last_rex2_prefix < 0 ? *ins.codep == 0x0f : (ins.rex2 & REX2_M)) + { +- unsigned char threebyte; +- + if (!ins.rex2) + { + ins.codep++; +@@ -9549,17 +9549,15 @@ print_insn (bfd_vma pc, disassemble_info + goto fetch_error_out; + } + +- threebyte = *ins.codep; +- dp = &dis386_twobyte[threebyte]; +- ins.need_modrm = twobyte_has_modrm[threebyte]; +- ins.codep++; ++ dp = &dis386_twobyte[*ins.codep]; ++ ins.need_modrm = twobyte_has_modrm[*ins.codep]; + } + else + { + dp = &dis386[*ins.codep]; + ins.need_modrm = onebyte_has_modrm[*ins.codep]; +- ins.codep++; + } ++ ins.codep++; + + /* Save sizeflag for printing the extra ins.prefixes later before updating + it for mnemonic and operand processing. The prefix names depend +diff -rupN binutils.orig/opcodes/i386-opc.tbl binutils-2.41/opcodes/i386-opc.tbl +--- binutils.orig/opcodes/i386-opc.tbl 2024-02-12 15:55:21.578572835 +0000 ++++ binutils-2.41/opcodes/i386-opc.tbl 2024-02-12 15:56:28.955616704 +0000 +@@ -1586,7 +1586,9 @@ vandnp, 0x55, AVX, Modrm|Ve + vandp, 0x54, AVX, Modrm|C|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vblendp, 0x660c | , AVX, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vblendvp, 0x664a | , AVX, Modrm|Vex|Space0F3A|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vbroadcastf128, 0x661a, AVX, Modrm|Vex=2|Space0F38|VexW=1|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM } ++vbroadcastf128, 0x661a, AVX, Modrm|Vex256|Space0F38|VexW0|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM } ++// vbroadcastf32x4 in disguise (see vround{p,s}{s,d} comment) ++vbroadcastf128, 0x661a, APX_F&AVX512VL, Modrm|EVex256|Space0F38|VexW0|Disp8MemShift=4|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM } + vbroadcastsd, 0x6619, AVX, Modrm|Vex256|Space0F38|VexW0|NoSuf, { Qword|Unspecified|BaseIndex, RegYMM } + vbroadcastss, 0x6618, AVX, Modrm|Vex128|Space0F38|VexW0|NoSuf, { Dword|Unspecified|BaseIndex, RegXMM|RegYMM } + vcmpp, 0xc2/0x, AVX, Modrm||Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf|ImmExt, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } +@@ -1614,7 +1616,9 @@ vdivp, 0x5e, AVX, Modrm|Vex + vdivs, 0x5e, AVX, Modrm|VexLIG|Space0F|VexVVVV|VexWIG|NoSuf, { |Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } + vdppd, 0x6641, AVX, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } + vdpps, 0x6640, AVX, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vextractf128, 0x6619, AVX, Modrm|Vex=2|Space0F3A|VexW=1|NoSuf, { Imm8, RegYMM, Unspecified|BaseIndex|RegXMM } ++vextractf128, 0x6619, AVX, Modrm|Vex256|Space0F3A|VexW0|NoSuf, { Imm8, RegYMM, Unspecified|BaseIndex|RegXMM } ++// vextractf32x4 in disguise (see vround{p,s}{s,d} comment) ++vextractf128, 0x6619, APX_F&AVX512VL, Modrm|EVex256|Space0F3A|VexW0|Disp8MemShift=4|NoSuf, { Imm8, RegYMM, Xmmword|Unspecified|BaseIndex } + vextractps, 0x6617, AVX|AVX512F, Modrm|Vex128|EVex128|Space0F3A|VexWIG|Disp8MemShift=2|NoSuf, { Imm8, RegXMM, Reg32|Unspecified|BaseIndex } + vextractps, 0x6617, x64&(AVX|AVX512F), RegMem|Vex128|EVex128|Space0F3A|VexWIG|NoSuf, { Imm8, RegXMM, Reg64 } + vhaddpd, 0x667c, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +@@ -1622,6 +1626,8 @@ vhaddps, 0xf27c, AVX, Modrm|Vex|Space0F| + vhsubpd, 0x667d, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vhsubps, 0xf27d, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vinsertf128, 0x6618, AVX, Modrm|Vex256|Space0F3A|VexVVVV|VexW0|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegYMM, RegYMM } ++// vinsertf32x4 in disguise (see vround{p,s}{s,d} comment) ++vinsertf128, 0x6618, APX_F&AVX512VL, Modrm|EVex256|Space0F3A|VexVVVV|VexW0|Disp8MemShift=4|NoSuf, { Imm8, Xmmword|Unspecified|BaseIndex, RegYMM, RegYMM } + vinsertps, 0x6621, AVX, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8, Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } + vlddqu, 0xf2f0, AVX, Modrm|Vex|Space0F|VexWIG|CheckOperandSize|NoSuf, { Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM } + vldmxcsr, 0xae/2, AVX, Modrm|Vex128|Space0F|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex } +@@ -1792,8 +1798,8 @@ vroundp, 0x6608 | , AVX, Mod + vrounds, 0x660a | , AVX, Modrm|VexLIG|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8, |Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } + // These are really clones of VRNDSCALE{P,S}{S,D}, with broadcast, masking, SAE, + // 512-bit operand size, and register sources dropped. +-vroundp, 0x6608 | , APX_F, Modrm|Space0F3A||Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM } +-vrounds, 0x660a | , APX_F, Modrm|EVexLIG|Space0F3A|VexVVVV||Disp8MemShift|NoSuf, { Imm8, |Unspecified|BaseIndex, RegXMM, RegXMM } ++vroundp, 0x6608 | , APX_F&AVX512VL, Modrm|Space0F3A||Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM } ++vrounds, 0x660a | , APX_F&AVX512F, Modrm|EVexLIG|Space0F3A|VexVVVV||Disp8MemShift|NoSuf, { Imm8, |Unspecified|BaseIndex, RegXMM, RegXMM } + vrsqrtps, 0x52, AVX, Modrm|Vex|Space0F|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } + vrsqrtss, 0xf352, AVX, Modrm|Vex=3|Space0F|VexVVVV|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } + vshufp, 0xc6, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +@@ -1828,7 +1834,9 @@ vpmovzxwq, 0x6634, AVX2|AVX512VL, Modrm| + + // New AVX2 instructions. + +-vbroadcasti128, 0x665A, AVX2, Modrm|Vex=2|Space0F38|VexW=1|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM } ++vbroadcasti128, 0x665A, AVX2, Modrm|Vex256|Space0F38|VexW0|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM } ++// vbroadcasti32x4 in disguise (see vround{p,s}{s,d} comment) ++vbroadcasti128, 0x665a, APX_F&AVX512VL, Modrm|EVex256|Space0F38|VexW0|Disp8MemShift=4|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM } + vbroadcastsd, 0x6619, AVX2, Modrm|Vex=2|Space0F38|VexW=1|NoSuf, { RegXMM, RegYMM } + vbroadcastss, 0x6618, AVX2|AVX512F, Modrm|Vex|EVexDYN|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + vpblendd, 0x6602, AVX2, Modrm|Vex|Space0F3A|VexVVVV|VexW0|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +@@ -1840,8 +1848,12 @@ vpermd, 0x6636, AVX2|AVX512F, Modrm|Vex2 + vpermpd, 0x6601, AVX2|AVX512F, Modrm|Vex256|EVexDYN|Masking|Space0F3A|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM } + vpermps, 0x6616, AVX2|AVX512F, Modrm|Vex256|EVexDYN|Masking|Space0F38|VexVVVV|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM } + vpermq, 0x6600, AVX2|AVX512F, Modrm|Vex256|EVexDYN|Masking|Space0F3A|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM } +-vextracti128, 0x6639, AVX2, Modrm|Vex=2|Space0F3A|VexW=1|NoSuf, { Imm8, RegYMM, Unspecified|BaseIndex|RegXMM } ++vextracti128, 0x6639, AVX2, Modrm|Vex256|Space0F3A|VexW0|NoSuf, { Imm8, RegYMM, Unspecified|BaseIndex|RegXMM } ++// vextracti32x4 in disguise (see vround{p,s}{s,d} comment) ++vextracti128, 0x6639, APX_F&AVX512VL, Modrm|EVex256|Space0F3A|VexW0|Disp8MemShift=4|NoSuf, { Imm8, RegYMM, Xmmword|Unspecified|BaseIndex } + vinserti128, 0x6638, AVX2, Modrm|Vex256|Space0F3A|VexVVVV|VexW0|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegYMM, RegYMM } ++// vinserti32x4 in disguise (see vround{p,s}{s,d} comment) ++vinserti128, 0x6638, APX_F&AVX512VL, Modrm|EVex256|Space0F3A|VexVVVV|VexW0|Disp8MemShift=4|NoSuf, { Imm8, Xmmword|Unspecified|BaseIndex, RegYMM, RegYMM } + vpmaskmov, 0x668e, AVX2, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { RegXMM|RegYMM, RegXMM|RegYMM, Xmmword|Ymmword|Unspecified|BaseIndex } + vpmaskmov, 0x668c, AVX2, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } + vpsllv, 0x6647, AVX2|AVX512F, Modrm|Vex|EVexDYN|Masking|Space0F38|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +@@ -2115,12 +2127,12 @@ xcryptofb, 0xf30fa7e8, PadLock, NoSuf|Re + xstore, 0xfa7c0, PadLock, NoSuf|RepPrefixOk, {} + + // Multy-precision Add Carry, rdseed instructions. +-adcx, 0x6666, ADX&APX_F, C|Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|DstVVVV|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } ++adcx, 0x6666, ADX&APX_F, C|Modrm|CheckOperandSize|No_bSuf|No_wSuf|No_sSuf|DstVVVV|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } + adcx, 0x660f38f6, ADX, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } +-adcx, 0x6666, ADX&APX_F, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } +-adox, 0xf366, ADX&APX_F, C|Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|DstVVVV|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } ++adcx, 0x6666, ADX&APX_F, Modrm|CheckOperandSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++adox, 0xf366, ADX&APX_F, C|Modrm|CheckOperandSize|No_bSuf|No_wSuf|No_sSuf|DstVVVV|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } + adox, 0xf30f38f6, ADX, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } +-adox, 0xf366, ADX&APX_F, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++adox, 0xf366, ADX&APX_F, Modrm|CheckOperandSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } + rdseed, 0xfc7/7, RdSeed, Modrm|NoSuf, { Reg16|Reg32|Reg64 } + + // SMAP instructions. +@@ -3098,11 +3110,11 @@ rdsspq, 0xf30f1e/1, SHSTK&x64, Modrm|NoS + saveprevssp, 0xf30f01ea, SHSTK, NoSuf, {} + rstorssp, 0xf30f01/5, SHSTK, Modrm|NoSuf, { Qword|Unspecified|BaseIndex } + wrssd, 0x0f38f6, SHSTK, Modrm|IgnoreSize|NoSuf, { Reg32, Dword|Unspecified|BaseIndex } +-wrssd, 0x66, SHSTK&APX_F, Modrm|IgnoreSize|NoSuf|EVexMap4, { Reg32, Dword|Unspecified|BaseIndex } ++wrssd, 0x66, SHSTK&APX_F, Modrm|NoSuf|EVexMap4, { Reg32, Dword|Unspecified|BaseIndex } + wrssq, 0x0f38f6, SHSTK&x64, Modrm|NoSuf|Size64, { Reg64, Qword|Unspecified|BaseIndex } + wrssq, 0x66, SHSTK&APX_F, Modrm|NoSuf|Size64|EVexMap4, { Reg64, Qword|Unspecified|BaseIndex } + wrussd, 0x660f38f5, SHSTK, Modrm|IgnoreSize|NoSuf, { Reg32, Dword|Unspecified|BaseIndex } +-wrussd, 0x6665, SHSTK&APX_F, Modrm|IgnoreSize|NoSuf|EVexMap4, { Reg32, Dword|Unspecified|BaseIndex } ++wrussd, 0x6665, SHSTK&APX_F, Modrm|NoSuf|EVexMap4, { Reg32, Dword|Unspecified|BaseIndex } + wrussq, 0x660f38f5, SHSTK&x64, Modrm|NoSuf, { Reg64, Qword|Unspecified|BaseIndex } + wrussq, 0x6665, SHSTK&APX_F, Modrm|NoSuf|EVexMap4, { Reg64, Qword|Unspecified|BaseIndex } + setssbsy, 0xf30f01e8, SHSTK, NoSuf, {} +@@ -3152,7 +3164,7 @@ cldemote, 0x0f1c/0, CLDEMOTE, Modrm|Anys + // MOVDIR[I,64B] instructions. + + movdiri, 0xf38f9, MOVDIRI, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } +-movdiri, 0xf9, MOVDIRI&APX_F, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } ++movdiri, 0xf9, MOVDIRI&APX_F, Modrm|CheckOperandSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } + movdir64b, 0x660f38f8, MOVDIR64B, Modrm|AddrPrefixOpReg|NoSuf, { Unspecified|BaseIndex, Reg16|Reg32|Reg64 } + movdir64b, 0x66f8, MOVDIR64B&APX_F, Modrm|AddrPrefixOpReg|NoSuf|EVexMap4, { Unspecified|BaseIndex, Reg32|Reg64 } + +@@ -3459,13 +3471,13 @@ wrmsrlist, 0xf30f01c6, MSRLIST, NoSuf, { + // RAO-INT instructions. + + aadd, 0xf38fc, RAO_INT, Modrm|IgnoreSize|CheckOperandSize|NoSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } +-aadd, 0xfc, RAO_INT&APX_F, Modrm|IgnoreSize|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } ++aadd, 0xfc, RAO_INT&APX_F, Modrm|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } + aand, 0x660f38fc, RAO_INT, Modrm|IgnoreSize|CheckOperandSize|NoSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } +-aand, 0x66fc, RAO_INT&APX_F, Modrm|IgnoreSize|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } ++aand, 0x66fc, RAO_INT&APX_F, Modrm|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } + aor, 0xf20f38fc, RAO_INT, Modrm|IgnoreSize|CheckOperandSize|NoSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } +-aor, 0xf2fc, RAO_INT&APX_F, Modrm|IgnoreSize|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } ++aor, 0xf2fc, RAO_INT&APX_F, Modrm|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } + axor, 0xf30f38fc, RAO_INT, Modrm|IgnoreSize|CheckOperandSize|NoSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } +-axor, 0xf3fc, RAO_INT&APX_F, Modrm|IgnoreSize|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } ++axor, 0xf3fc, RAO_INT&APX_F, Modrm|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } + + // RAO-INT instructions end. + +diff -rupN binutils.orig/opcodes/i386-tbl.h binutils-2.41/opcodes/i386-tbl.h +--- binutils.orig/opcodes/i386-tbl.h 2024-02-12 15:55:21.578572835 +0000 ++++ binutils-2.41/opcodes/i386-tbl.h 2024-02-12 16:42:52.494835094 +0000 +@@ -15372,6 +15372,16 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, ++ { MN_vbroadcastf128, 0x1a, 2, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } } } }, + { MN_vbroadcastsd, 0x19, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -20804,6 +20814,18 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } } } }, ++ { MN_vextractf128, 0x19, 3, SPACE_0F3A, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } } } }, + { MN_vextractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, +@@ -20890,6 +20912,20 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, ++ { MN_vinsertf128, 0x18, 4, SPACE_0F3A, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } } } }, + { MN_vinsertps, 0x21, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -25296,7 +25332,7 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, +@@ -25320,7 +25356,7 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, +@@ -25346,7 +25382,7 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, +@@ -25374,7 +25410,7 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, +@@ -25884,6 +25920,16 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, ++ { MN_vbroadcasti128, 0x5a, 2, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpblendd, 0x02, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -26106,6 +26152,18 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } } } }, ++ { MN_vextracti128, 0x39, 3, SPACE_0F3A, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } } } }, + { MN_vinserti128, 0x38, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -26120,6 +26178,20 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, ++ { MN_vinserti128, 0x38, 4, SPACE_0F3A, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaskmovd, 0x8e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -30933,7 +31005,7 @@ static const insn_template i386_optab[] + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_adcx, 0x66, 3, SPACE_EVEXMAP4, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, +@@ -30955,7 +31027,7 @@ static const insn_template i386_optab[] + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_adcx, 0x66, 2, SPACE_EVEXMAP4, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, +@@ -30965,7 +31037,7 @@ static const insn_template i386_optab[] + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_adox, 0x66, 3, SPACE_EVEXMAP4, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 2, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, +@@ -30987,7 +31059,7 @@ static const insn_template i386_optab[] + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_adox, 0x66, 2, SPACE_EVEXMAP4, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, +@@ -37497,7 +37569,7 @@ static const insn_template i386_optab[] + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_wrssd, 0x66, 2, SPACE_EVEXMAP4, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 105, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, +@@ -37537,7 +37609,7 @@ static const insn_template i386_optab[] + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_wrussd, 0x65, 2, SPACE_EVEXMAP4, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 105, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, +@@ -37697,7 +37769,7 @@ static const insn_template i386_optab[] + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_movdiri, 0xf9, 2, SPACE_EVEXMAP4, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 120, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, +@@ -41093,7 +41165,7 @@ static const insn_template i386_optab[] + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_aadd, 0xfc, 2, SPACE_EVEXMAP4, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 95, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, +@@ -41113,7 +41185,7 @@ static const insn_template i386_optab[] + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_aand, 0xfc, 2, SPACE_EVEXMAP4, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 95, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, +@@ -41133,7 +41205,7 @@ static const insn_template i386_optab[] + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_aor, 0xfc, 2, SPACE_EVEXMAP4, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 95, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, +@@ -41153,7 +41225,7 @@ static const insn_template i386_optab[] + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_axor, 0xfc, 2, SPACE_EVEXMAP4, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 95, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, +@@ -41398,203 +41470,203 @@ static const i386_op_off_t i386_op_sets[ + 1540, 1541, 1542, 1544, 1546, 1548, 1550, 1552, + 1554, 1556, 1558, 1560, 1562, 1564, 1566, 1568, + 1570, 1572, 1574, 1576, 1578, 1579, 1580, 1582, +- 1584, 1586, 1588, 1589, 1590, 1591, 1592, 1593, +- 1596, 1598, 1600, 1602, 1604, 1606, 1608, 1610, +- 1612, 1614, 1616, 1618, 1620, 1622, 1624, 1626, +- 1628, 1630, 1632, 1634, 1636, 1638, 1640, 1642, +- 1644, 1646, 1648, 1650, 1652, 1654, 1656, 1658, +- 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, +- 1676, 1678, 1680, 1682, 1684, 1686, 1688, 1690, +- 1692, 1694, 1696, 1698, 1700, 1702, 1704, 1706, +- 1708, 1710, 1712, 1714, 1716, 1718, 1720, 1722, +- 1724, 1726, 1728, 1730, 1732, 1734, 1736, 1738, +- 1740, 1742, 1744, 1746, 1748, 1750, 1752, 1754, +- 1756, 1758, 1760, 1762, 1764, 1766, 1768, 1770, +- 1772, 1774, 1776, 1778, 1780, 1782, 1784, 1786, +- 1788, 1790, 1792, 1794, 1796, 1798, 1800, 1802, +- 1804, 1806, 1808, 1810, 1812, 1814, 1816, 1818, +- 1820, 1822, 1824, 1826, 1828, 1830, 1832, 1834, +- 1836, 1838, 1840, 1842, 1844, 1846, 1848, 1850, +- 1852, 1854, 1856, 1858, 1860, 1862, 1864, 1866, +- 1868, 1870, 1872, 1874, 1876, 1878, 1880, 1882, +- 1884, 1886, 1888, 1890, 1892, 1894, 1896, 1898, +- 1900, 1902, 1904, 1906, 1908, 1910, 1912, 1914, +- 1916, 1918, 1920, 1922, 1924, 1926, 1928, 1930, +- 1932, 1934, 1936, 1938, 1940, 1942, 1944, 1946, +- 1948, 1950, 1952, 1954, 1956, 1958, 1960, 1962, +- 1964, 1966, 1968, 1970, 1972, 1974, 1976, 1978, +- 1983, 1985, 1990, 1992, 1994, 1999, 2001, 2003, +- 2005, 2010, 2012, 2014, 2016, 2020, 2026, 2028, +- 2033, 2035, 2037, 2039, 2041, 2043, 2045, 2047, +- 2049, 2051, 2052, 2053, 2054, 2056, 2057, 2058, +- 2059, 2060, 2061, 2063, 2064, 2065, 2066, 2068, +- 2070, 2072, 2074, 2076, 2078, 2080, 2082, 2084, +- 2086, 2088, 2090, 2092, 2096, 2097, 2098, 2100, +- 2104, 2108, 2110, 2114, 2118, 2119, 2120, 2122, +- 2124, 2126, 2128, 2133, 2137, 2141, 2143, 2145, +- 2147, 2149, 2150, 2152, 2154, 2156, 2158, 2160, +- 2162, 2164, 2166, 2168, 2170, 2172, 2174, 2176, +- 2178, 2180, 2182, 2184, 2186, 2188, 2190, 2192, +- 2194, 2195, 2196, 2198, 2200, 2201, 2202, 2205, +- 2208, 2211, 2214, 2216, 2218, 2220, 2222, 2224, +- 2226, 2227, 2228, 2229, 2231, 2235, 2237, 2239, +- 2245, 2249, 2250, 2251, 2252, 2253, 2254, 2255, +- 2256, 2260, 2262, 2264, 2268, 2270, 2272, 2274, +- 2276, 2278, 2280, 2282, 2284, 2286, 2288, 2290, +- 2292, 2294, 2296, 2297, 2300, 2303, 2308, 2313, +- 2316, 2319, 2322, 2325, 2330, 2335, 2338, 2341, +- 2343, 2345, 2347, 2349, 2351, 2353, 2355, 2356, +- 2358, 2360, 2362, 2364, 2366, 2367, 2368, 2369, +- 2373, 2377, 2379, 2383, 2387, 2391, 2395, 2399, +- 2401, 2405, 2407, 2409, 2411, 2413, 2415, 2417, +- 2419, 2421, 2422, 2424, 2426, 2428, 2430, 2432, +- 2434, 2436, 2438, 2439, 2440, 2441, 2443, 2445, +- 2447, 2449, 2450, 2451, 2453, 2455, 2457, 2459, +- 2461, 2463, 2464, 2466, 2468, 2470, 2472, 2473, +- 2474, 2476, 2478, 2480, 2482, 2484, 2486, 2488, +- 2490, 2491, 2492, 2493, 2494, 2497, 2500, 2502, +- 2505, 2506, 2507, 2509, 2510, 2512, 2513, 2514, +- 2516, 2518, 2519, 2520, 2521, 2522, 2523, 2526, +- 2531, 2536, 2541, 2546, 2549, 2554, 2559, 2561, +- 2563, 2565, 2567, 2568, 2569, 2571, 2573, 2575, +- 2577, 2579, 2581, 2583, 2584, 2585, 2586, 2587, +- 2588, 2589, 2594, 2599, 2600, 2601, 2602, 2603, +- 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, +- 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, +- 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627, +- 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, +- 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, +- 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, +- 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, +- 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, +- 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, +- 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, +- 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, +- 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699, +- 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, +- 2708, 2709, 2710, 2711, 2712, 2713, 2714, 2715, +- 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723, +- 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, +- 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739, +- 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, +- 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, +- 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, +- 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, +- 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2779, +- 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, +- 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, +- 2796, 2797, 2798, 2799, 2800, 2802, 2804, 2805, +- 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, +- 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, +- 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, +- 2830, 2831, 2832, 2834, 2836, 2838, 2840, 2841, +- 2842, 2843, 2844, 2845, 2846, 2847, 2848, 2849, +- 2850, 2851, 2852, 2853, 2855, 2856, 2857, 2858, +- 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866, +- 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, +- 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, +- 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2890, +- 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, +- 2899, 2900, 2902, 2904, 2905, 2906, 2908, 2909, +- 2911, 2913, 2914, 2915, 2917, 2919, 2920, 2921, +- 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, +- 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937, +- 2940, 2943, 2944, 2945, 2946, 2947, 2948, 2949, +- 2951, 2953, 2955, 2956, 2957, 2959, 2961, 2963, +- 2965, 2969, 2971, 2973, 2974, 2975, 2976, 2977, +- 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, +- 2986, 2987, 2988, 2989, 2990, 2991, 2994, 2997, +- 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, +- 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, +- 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, +- 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, +- 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, +- 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, +- 3046, 3047, 3048, 3049, 3050, 3051, 3054, 3056, +- 3059, 3062, 3064, 3067, 3070, 3073, 3076, 3077, +- 3080, 3081, 3082, 3083, 3084, 3085, 3089, 3091, +- 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, +- 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, +- 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, +- 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, +- 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, +- 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, +- 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, +- 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, +- 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, +- 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, +- 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, +- 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, +- 3193, 3196, 3199, 3202, 3205, 3208, 3211, 3214, +- 3217, 3220, 3223, 3226, 3229, 3232, 3235, 3236, +- 3237, 3238, 3239, 3241, 3242, 3243, 3244, 3245, +- 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, +- 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, +- 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, +- 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, +- 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, +- 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, +- 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, +- 3302, 3305, 3308, 3309, 3310, 3311, 3312, 3313, +- 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, +- 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, +- 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, +- 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, +- 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, +- 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, +- 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, +- 3370, 3373, 3376, 3379, 3380, 3381, 3382, 3383, +- 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, +- 3392, 3393, 3394, 3395, 3398, 3401, 3402, 3403, +- 3406, 3407, 3408, 3409, 3410, 3413, 3416, 3419, +- 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, +- 3428, 3429, 3431, 3433, 3434, 3435, 3436, 3437, +- 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, +- 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, +- 3454, 3455, 3456, 3457, 3458, 3460, 3462, 3463, +- 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, +- 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, +- 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487, +- 3489, 3491, 3493, 3495, 3496, 3497, 3498, 3499, +- 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507, +- 3508, 3509, 3510, 3512, 3513, 3515, 3518, 3520, +- 3521, 3522, 3524, 3526, 3527, 3528, 3529, 3530, +- 3531, 3532, 3534, 3536, 3538, 3540, 3541, 3542, +- 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3551, +- 3553, 3554, 3556, 3558, 3559, 3564, 3566, 3568, +- 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3577, +- 3579, 3580, 3581, 3582, 3584, 3587, 3590, 3593, +- 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, +- 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, +- 3611, 3612, 3613, 3614, 3615, 3617, 3619, 3621, +- 3623, 3625, 3627, 3629, 3631, 3633, 3635, 3636, +- 3637, 3638, 3639, 3640, 3641, 3642, 3643, 3644, +- 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, +- 3653, 3654, 3655, 3656, 3657, 3658, 3659, 3660, +- 3661, 3662, 3663, 3664, 3665, 3666, 3667, 3668, +- 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, +- 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, +- 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, +- 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700, +- 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, +- 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716, +- 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, +- 3725, 3726, 3727, 3728, 3729, 3730, 3731, 3732, +- 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, +- 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3750, +- 3751, 3752, 3755, 3756, 3757, 3759, 3760, 3761, +- 3762, 3764, 3765, 3766, 3767, 3769, 3770, 3771, +- 3772, 3775, 3776, 3777, 3778, 3779, 3782, 3785, +- 3788, 3791, 3794, 3795, 3796, 3797, 3798, 3800, +- 3802, 3803, 3804, 3805, 3808, 3811, 3814, 3817, +- 3820, 3821, 3822, 3823, 3825, 3826, 3827, 3828, +- 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, +- 3838, 3839, 3840, 3841, 3842, 3843, 3844, 3845, +- 3846, 3847, 3848, 3849, 3850, 3851, 3852, 3853, +- 3854, 3855, 3856, 3857, 3858, 3859, 3860, 3861, +- 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, +- 3871, 3873, 3875, 3877, 3879, 3880, 3881, 3884, +- 3887, 3888, 3889, 3890, 3891 ++ 1584, 1586, 1588, 1589, 1590, 1591, 1592, 1594, ++ 1597, 1599, 1601, 1603, 1605, 1607, 1609, 1611, ++ 1613, 1615, 1617, 1619, 1621, 1623, 1625, 1627, ++ 1629, 1631, 1633, 1635, 1637, 1639, 1641, 1643, ++ 1645, 1647, 1649, 1651, 1653, 1655, 1657, 1659, ++ 1661, 1663, 1665, 1667, 1669, 1671, 1673, 1675, ++ 1677, 1679, 1681, 1683, 1685, 1687, 1689, 1691, ++ 1693, 1695, 1697, 1699, 1701, 1703, 1705, 1707, ++ 1709, 1711, 1713, 1715, 1717, 1719, 1721, 1723, ++ 1725, 1727, 1729, 1731, 1733, 1735, 1737, 1739, ++ 1741, 1743, 1745, 1747, 1749, 1751, 1753, 1755, ++ 1757, 1759, 1761, 1763, 1765, 1767, 1769, 1771, ++ 1773, 1775, 1777, 1779, 1781, 1783, 1785, 1787, ++ 1789, 1791, 1793, 1795, 1797, 1799, 1801, 1803, ++ 1805, 1807, 1809, 1811, 1813, 1815, 1817, 1819, ++ 1821, 1823, 1825, 1827, 1829, 1831, 1833, 1835, ++ 1837, 1839, 1841, 1843, 1845, 1847, 1849, 1851, ++ 1853, 1855, 1857, 1859, 1861, 1863, 1865, 1867, ++ 1869, 1871, 1873, 1875, 1877, 1879, 1881, 1883, ++ 1885, 1887, 1889, 1891, 1893, 1895, 1897, 1899, ++ 1901, 1903, 1905, 1907, 1909, 1911, 1913, 1915, ++ 1917, 1919, 1921, 1923, 1925, 1927, 1929, 1931, ++ 1933, 1935, 1937, 1939, 1941, 1943, 1945, 1947, ++ 1949, 1951, 1953, 1955, 1957, 1959, 1961, 1963, ++ 1965, 1967, 1969, 1971, 1973, 1975, 1977, 1979, ++ 1984, 1986, 1991, 1993, 1995, 2000, 2002, 2004, ++ 2006, 2011, 2013, 2015, 2017, 2021, 2027, 2029, ++ 2034, 2036, 2038, 2040, 2042, 2044, 2046, 2048, ++ 2050, 2052, 2053, 2054, 2056, 2058, 2059, 2060, ++ 2061, 2062, 2064, 2066, 2067, 2068, 2069, 2071, ++ 2073, 2075, 2077, 2079, 2081, 2083, 2085, 2087, ++ 2089, 2091, 2093, 2095, 2099, 2100, 2101, 2103, ++ 2107, 2111, 2113, 2117, 2121, 2122, 2123, 2125, ++ 2127, 2129, 2131, 2136, 2140, 2144, 2146, 2148, ++ 2150, 2152, 2153, 2155, 2157, 2159, 2161, 2163, ++ 2165, 2167, 2169, 2171, 2173, 2175, 2177, 2179, ++ 2181, 2183, 2185, 2187, 2189, 2191, 2193, 2195, ++ 2197, 2198, 2199, 2201, 2203, 2204, 2205, 2208, ++ 2211, 2214, 2217, 2219, 2221, 2223, 2225, 2227, ++ 2229, 2230, 2231, 2232, 2234, 2238, 2240, 2242, ++ 2248, 2252, 2253, 2254, 2255, 2256, 2257, 2258, ++ 2259, 2263, 2265, 2267, 2271, 2273, 2275, 2277, ++ 2279, 2281, 2283, 2285, 2287, 2289, 2291, 2293, ++ 2295, 2297, 2299, 2300, 2303, 2306, 2311, 2316, ++ 2319, 2322, 2325, 2328, 2333, 2338, 2341, 2344, ++ 2346, 2348, 2350, 2352, 2354, 2356, 2358, 2359, ++ 2361, 2363, 2365, 2367, 2369, 2370, 2371, 2372, ++ 2376, 2380, 2382, 2386, 2390, 2394, 2398, 2402, ++ 2404, 2408, 2410, 2412, 2414, 2416, 2418, 2420, ++ 2422, 2424, 2425, 2427, 2429, 2431, 2433, 2435, ++ 2437, 2439, 2441, 2442, 2443, 2444, 2446, 2448, ++ 2450, 2452, 2453, 2454, 2456, 2458, 2460, 2462, ++ 2464, 2466, 2467, 2469, 2471, 2473, 2475, 2476, ++ 2477, 2479, 2481, 2483, 2485, 2487, 2489, 2491, ++ 2493, 2494, 2495, 2497, 2498, 2501, 2504, 2506, ++ 2509, 2510, 2511, 2513, 2514, 2516, 2518, 2520, ++ 2522, 2524, 2525, 2526, 2527, 2528, 2529, 2532, ++ 2537, 2542, 2547, 2552, 2555, 2560, 2565, 2567, ++ 2569, 2571, 2573, 2574, 2575, 2577, 2579, 2581, ++ 2583, 2585, 2587, 2589, 2590, 2591, 2592, 2593, ++ 2594, 2595, 2600, 2605, 2606, 2607, 2608, 2609, ++ 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, ++ 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, ++ 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, ++ 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, ++ 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, ++ 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657, ++ 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, ++ 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, ++ 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, ++ 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689, ++ 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, ++ 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, ++ 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713, ++ 2714, 2715, 2716, 2717, 2718, 2719, 2720, 2721, ++ 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, ++ 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, ++ 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, ++ 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753, ++ 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, ++ 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, ++ 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, ++ 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, ++ 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, ++ 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, ++ 2802, 2803, 2804, 2805, 2806, 2808, 2810, 2811, ++ 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, ++ 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, ++ 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2835, ++ 2836, 2837, 2838, 2840, 2842, 2844, 2846, 2847, ++ 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855, ++ 2856, 2857, 2858, 2859, 2861, 2862, 2863, 2864, ++ 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, ++ 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, ++ 2881, 2882, 2883, 2884, 2885, 2886, 2887, 2888, ++ 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896, ++ 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, ++ 2905, 2906, 2908, 2910, 2911, 2912, 2914, 2915, ++ 2917, 2919, 2920, 2921, 2923, 2925, 2926, 2927, ++ 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, ++ 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, ++ 2946, 2949, 2950, 2951, 2952, 2953, 2954, 2955, ++ 2957, 2959, 2961, 2962, 2963, 2965, 2967, 2969, ++ 2971, 2975, 2977, 2979, 2980, 2981, 2982, 2983, ++ 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, ++ 2992, 2993, 2994, 2995, 2996, 2997, 3000, 3003, ++ 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, ++ 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, ++ 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, ++ 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, ++ 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, ++ 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, ++ 3052, 3053, 3054, 3055, 3056, 3057, 3060, 3062, ++ 3065, 3068, 3070, 3073, 3076, 3079, 3082, 3083, ++ 3086, 3087, 3088, 3089, 3090, 3091, 3095, 3097, ++ 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, ++ 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, ++ 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, ++ 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, ++ 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, ++ 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, ++ 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, ++ 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, ++ 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, ++ 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, ++ 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, ++ 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, ++ 3199, 3202, 3205, 3208, 3211, 3214, 3217, 3220, ++ 3223, 3226, 3229, 3232, 3235, 3238, 3241, 3242, ++ 3243, 3244, 3245, 3247, 3248, 3249, 3250, 3251, ++ 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, ++ 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, ++ 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, ++ 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, ++ 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, ++ 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, ++ 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, ++ 3308, 3311, 3314, 3315, 3316, 3317, 3318, 3319, ++ 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, ++ 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, ++ 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, ++ 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, ++ 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, ++ 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, ++ 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, ++ 3376, 3379, 3382, 3385, 3386, 3387, 3388, 3389, ++ 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, ++ 3398, 3399, 3400, 3401, 3404, 3407, 3408, 3409, ++ 3412, 3413, 3414, 3415, 3416, 3419, 3422, 3425, ++ 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, ++ 3434, 3435, 3437, 3439, 3440, 3441, 3442, 3443, ++ 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, ++ 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, ++ 3460, 3461, 3462, 3463, 3464, 3466, 3468, 3469, ++ 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477, ++ 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, ++ 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, ++ 3495, 3497, 3499, 3501, 3502, 3503, 3504, 3505, ++ 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513, ++ 3514, 3515, 3516, 3518, 3519, 3521, 3524, 3526, ++ 3527, 3528, 3530, 3532, 3533, 3534, 3535, 3536, ++ 3537, 3538, 3540, 3542, 3544, 3546, 3547, 3548, ++ 3549, 3550, 3551, 3552, 3553, 3554, 3555, 3557, ++ 3559, 3560, 3562, 3564, 3565, 3570, 3572, 3574, ++ 3575, 3576, 3577, 3578, 3579, 3580, 3581, 3583, ++ 3585, 3586, 3587, 3588, 3590, 3593, 3596, 3599, ++ 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, ++ 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616, ++ 3617, 3618, 3619, 3620, 3621, 3623, 3625, 3627, ++ 3629, 3631, 3633, 3635, 3637, 3639, 3641, 3642, ++ 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650, ++ 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, ++ 3659, 3660, 3661, 3662, 3663, 3664, 3665, 3666, ++ 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, ++ 3675, 3676, 3677, 3678, 3679, 3680, 3681, 3682, ++ 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, ++ 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, ++ 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, ++ 3707, 3708, 3709, 3710, 3711, 3712, 3713, 3714, ++ 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, ++ 3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730, ++ 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, ++ 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, ++ 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3756, ++ 3757, 3758, 3761, 3762, 3763, 3765, 3766, 3767, ++ 3768, 3770, 3771, 3772, 3773, 3775, 3776, 3777, ++ 3778, 3781, 3782, 3783, 3784, 3785, 3788, 3791, ++ 3794, 3797, 3800, 3801, 3802, 3803, 3804, 3806, ++ 3808, 3809, 3810, 3811, 3814, 3817, 3820, 3823, ++ 3826, 3827, 3828, 3829, 3831, 3832, 3833, 3834, ++ 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, ++ 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3851, ++ 3852, 3853, 3854, 3855, 3856, 3857, 3858, 3859, ++ 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, ++ 3868, 3869, 3870, 3871, 3872, 3873, 3874, 3875, ++ 3877, 3879, 3881, 3883, 3885, 3886, 3887, 3890, ++ 3893, 3894, 3895, 3896, 3897 + }; + + /* i386 mnemonics table. */ +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d 2024-02-12 15:55:20.792572349 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d 2024-02-12 15:56:07.355601128 +0000 +@@ -158,6 +158,12 @@ Disassembly of section \.text: + [ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd tmm6,\[r31\+rax\*4\+0x123\] + [ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1 tmm6,\[r31\+rax\*4\+0x123\] + [ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+\[r31\+rax\*4\+0x123\],tmm6 ++[ ]*[a-f0-9]+:[ ]*62 fa 7d 28 1a 18[ ]+vbroadcastf32x4 ymm3,XMMWORD PTR \[r16\] ++[ ]*[a-f0-9]+:[ ]*62 fa 7d 28 5a 18[ ]+vbroadcasti32x4 ymm3,XMMWORD PTR \[r16\] ++[ ]*[a-f0-9]+:[ ]*62 fb 7d 28 19 18 01[ ]+vextractf32x4 XMMWORD PTR \[r16\],ymm3,(0x)?1 ++[ ]*[a-f0-9]+:[ ]*62 fb 7d 28 39 18 01[ ]+vextracti32x4 XMMWORD PTR \[r16\],ymm3,(0x)?1 ++[ ]*[a-f0-9]+:[ ]*62 7b 65 28 18 00 01[ ]+vinsertf32x4 ymm8,ymm3,XMMWORD PTR \[r16\],(0x)?1 ++[ ]*[a-f0-9]+:[ ]*62 7b 65 28 38 00 01[ ]+vinserti32x4 ymm8,ymm3,XMMWORD PTR \[r16\],(0x)?1 + [ ]*[a-f0-9]+:[ ]*62 db fd 08 09 30 01[ ]+vrndscalepd xmm6,XMMWORD PTR \[r24\],(0x)?1 + [ ]*[a-f0-9]+:[ ]*62 db 7d 08 08 30 02[ ]+vrndscaleps xmm6,XMMWORD PTR \[r24\],(0x)?2 + [ ]*[a-f0-9]+:[ ]*62 db cd 08 0b 18 03[ ]+vrndscalesd xmm3,xmm6,QWORD PTR \[r24\],(0x)?3 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d 2024-02-12 15:55:20.792572349 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d 2024-02-12 15:56:07.355601128 +0000 +@@ -158,6 +158,12 @@ Disassembly of section \.text: + [ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd[ ]+0x123\(%r31,%rax,4\),%tmm6 + [ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1[ ]+0x123\(%r31,%rax,4\),%tmm6 + [ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+%tmm6,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 fa 7d 28 1a 18[ ]+vbroadcastf32x4 \(%r16\),%ymm3 ++[ ]*[a-f0-9]+:[ ]*62 fa 7d 28 5a 18[ ]+vbroadcasti32x4 \(%r16\),%ymm3 ++[ ]*[a-f0-9]+:[ ]*62 fb 7d 28 19 18 01[ ]+vextractf32x4 \$(0x)?1,%ymm3,\(%r16\) ++[ ]*[a-f0-9]+:[ ]*62 fb 7d 28 39 18 01[ ]+vextracti32x4 \$(0x)?1,%ymm3,\(%r16\) ++[ ]*[a-f0-9]+:[ ]*62 7b 65 28 18 00 01[ ]+vinsertf32x4 \$(0x)?1,\(%r16\),%ymm3,%ymm8 ++[ ]*[a-f0-9]+:[ ]*62 7b 65 28 38 00 01[ ]+vinserti32x4 \$(0x)?1,\(%r16\),%ymm3,%ymm8 + [ ]*[a-f0-9]+:[ ]*62 db fd 08 09 30 01[ ]+vrndscalepd \$0x1,\(%r24\),%xmm6 + [ ]*[a-f0-9]+:[ ]*62 db 7d 08 08 30 02[ ]+vrndscaleps \$0x2,\(%r24\),%xmm6 + [ ]*[a-f0-9]+:[ ]*62 db cd 08 0b 18 03[ ]+vrndscalesd \$0x3,\(%r24\),%xmm6,%xmm3 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s 2024-02-12 15:55:20.792572349 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s 2024-02-12 15:56:07.356601129 +0000 +@@ -152,6 +152,12 @@ _start: + tileloadd 0x123(%r31,%rax,4),%tmm6 + tileloaddt1 0x123(%r31,%rax,4),%tmm6 + tilestored %tmm6,0x123(%r31,%rax,4) ++ vbroadcastf128 (%r16),%ymm3 ++ vbroadcasti128 (%r16),%ymm3 ++ vextractf128 $1,%ymm3,(%r16) ++ vextracti128 $1,%ymm3,(%r16) ++ vinsertf128 $1,(%r16),%ymm3,%ymm8 ++ vinserti128 $1,(%r16),%ymm3,%ymm8 + vroundpd $1,(%r24),%xmm6 + vroundps $2,(%r24),%xmm6 + vroundsd $3,(%r24),%xmm6,%xmm3 diff --git a/SOURCES/binutils-Intel-APX-part-1-supplimental.patch b/SOURCES/binutils-Intel-APX-part-1-supplimental.patch new file mode 100644 index 0000000..8dd3181 --- /dev/null +++ b/SOURCES/binutils-Intel-APX-part-1-supplimental.patch @@ -0,0 +1,540 @@ +diff -rupN binutils.orig/gold/testsuite/x86_64_ie_to_le.s binutils-2.41/gold/testsuite/x86_64_ie_to_le.s +--- binutils.orig/gold/testsuite/x86_64_ie_to_le.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gold/testsuite/x86_64_ie_to_le.s 2024-07-01 15:47:30.204856624 +0100 +@@ -0,0 +1,17 @@ ++ .text ++ .p2align 4 ++ .globl _start ++ .type _start, @function ++_start: ++ addq foo@gottpoff(%rip), %r12 ++ movq foo@gottpoff(%rip), %rax ++ addq foo@gottpoff(%rip), %r16 ++ movq foo@gottpoff(%rip), %r20 ++ .size _start, .-_start ++ .section .tdata,"awT",@progbits ++ .align 4 ++ .type foo, @object ++ .size foo, 4 ++foo: ++ .long 30 ++ .section .note.GNU-stack,"",@progbits +diff -rupN binutils.orig/gold/testsuite/x86_64_ie_to_le.sh binutils-2.41/gold/testsuite/x86_64_ie_to_le.sh +--- binutils.orig/gold/testsuite/x86_64_ie_to_le.sh 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gold/testsuite/x86_64_ie_to_le.sh 2024-07-01 15:47:30.204856624 +0100 +@@ -0,0 +1,29 @@ ++#!/bin/sh ++ ++# x86_64_ie_to_le.sh -- a test for IE -> LE conversion. ++ ++# Copyright (C) 2023 Free Software Foundation, Inc. ++ ++# This file is part of gold. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3 of the License, or ++# (at your option) any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, ++# MA 02110-1301, USA. ++ ++set -e ++ ++grep -q "add[ \t]\+\$0x[a-f0-9]\+,%r12" x86_64_ie_to_le.stdout ++grep -q "mov[ \t]\+\$0x[a-f0-9]\+,%rax" x86_64_ie_to_le.stdout ++grep -q "add[ \t]\+\$0x[a-f0-9]\+,%r16" x86_64_ie_to_le.stdout ++grep -q "mov[ \t]\+\$0x[a-f0-9]\+,%r20" x86_64_ie_to_le.stdout +diff -rupN binutils.orig/ld/NEWS binutils-2.41/ld/NEWS +--- binutils.orig/ld/NEWS 2024-07-01 15:14:02.065309252 +0100 ++++ binutils-2.41/ld/NEWS 2024-07-01 15:57:53.858506649 +0100 +@@ -3,6 +3,8 @@ + * Add --section-ordering-file option to add extra mapping of input + sections to output sections. + ++* Support Intel APX relocations. ++ + * On RISC-V, add ld target option --[no-]check-uleb128. Should rebuild the + objects by binutils 2.42 and up if enabling the option and get warnings, + since the non-zero addend of SUB_ULEB128 shouldn't be generated from .uleb128 +diff -rupN binutils.orig/ld/testsuite/ld-x86-64/apx-load1.s binutils-2.41/ld/testsuite/ld-x86-64/apx-load1.s +--- binutils.orig/ld/testsuite/ld-x86-64/apx-load1.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/apx-load1.s 2024-07-01 15:45:59.396610481 +0100 +@@ -0,0 +1,51 @@ ++ .data ++ .type bar, @object ++bar: ++ .byte 1 ++ .size bar, .-bar ++ .globl foo ++ .type foo, @object ++foo: ++ .byte 1 ++ .size foo, .-foo ++ .text ++ .globl _start ++ .type _start, @function ++_start: ++ adcl bar@GOTPCREL(%rip), %r16d ++ addl bar@GOTPCREL(%rip), %r17d ++ andl bar@GOTPCREL(%rip), %r18d ++ cmpl bar@GOTPCREL(%rip), %r19d ++ orl bar@GOTPCREL(%rip), %r20d ++ sbbl bar@GOTPCREL(%rip), %r21d ++ subl bar@GOTPCREL(%rip), %r22d ++ xorl bar@GOTPCREL(%rip), %r23d ++ testl %r24d, bar@GOTPCREL(%rip) ++ adcq bar@GOTPCREL(%rip), %r16 ++ addq bar@GOTPCREL(%rip), %r17 ++ andq bar@GOTPCREL(%rip), %r18 ++ cmpq bar@GOTPCREL(%rip), %r19 ++ orq bar@GOTPCREL(%rip), %r20 ++ sbbq bar@GOTPCREL(%rip), %r21 ++ subq bar@GOTPCREL(%rip), %r22 ++ xorq bar@GOTPCREL(%rip), %r23 ++ testq %r24, bar@GOTPCREL(%rip) ++ adcl foo@GOTPCREL(%rip), %r16d ++ addl foo@GOTPCREL(%rip), %r17d ++ andl foo@GOTPCREL(%rip), %r18d ++ cmpl foo@GOTPCREL(%rip), %r19d ++ orl foo@GOTPCREL(%rip), %r20d ++ sbbl foo@GOTPCREL(%rip), %r21d ++ subl foo@GOTPCREL(%rip), %r22d ++ xorl foo@GOTPCREL(%rip), %r23d ++ testl %r24d, foo@GOTPCREL(%rip) ++ adcq foo@GOTPCREL(%rip), %r16 ++ addq foo@GOTPCREL(%rip), %r17 ++ andq foo@GOTPCREL(%rip), %r18 ++ cmpq foo@GOTPCREL(%rip), %r19 ++ orq foo@GOTPCREL(%rip), %r20 ++ sbbq foo@GOTPCREL(%rip), %r21 ++ subq foo@GOTPCREL(%rip), %r22 ++ xorq foo@GOTPCREL(%rip), %r23 ++ testq %r24, foo@GOTPCREL(%rip) ++ .size _start, .-_start +diff -rupN binutils.orig/ld/testsuite/ld-x86-64/apx-load1a.d binutils-2.41/ld/testsuite/ld-x86-64/apx-load1a.d +--- binutils.orig/ld/testsuite/ld-x86-64/apx-load1a.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/apx-load1a.d 2024-07-01 15:45:59.396610481 +0100 +@@ -0,0 +1,54 @@ ++#source: apx-load1.s ++#as: --64 -mrelax-relocations=yes ++#ld: -melf_x86_64 -z max-page-size=0x200000 -z noseparate-code ++#objdump: -dw --sym ++ ++.*: +file format .* ++ ++SYMBOL TABLE: ++#... ++0+6001d0 l O .data 0+1 bar ++#... ++0+6001d1 g O .data 0+1 foo ++#... ++ ++Disassembly of section .text: ++ ++0+4000b0 <_start>: ++ +[a-f0-9]+: d5 10 81 d0 d0 01 60 00 adc \$0x6001d0,%r16d ++ +[a-f0-9]+: d5 10 81 c1 d0 01 60 00 add \$0x6001d0,%r17d ++ +[a-f0-9]+: d5 10 81 e2 d0 01 60 00 and \$0x6001d0,%r18d ++ +[a-f0-9]+: d5 10 81 fb d0 01 60 00 cmp \$0x6001d0,%r19d ++ +[a-f0-9]+: d5 10 81 cc d0 01 60 00 or \$0x6001d0,%r20d ++ +[a-f0-9]+: d5 10 81 dd d0 01 60 00 sbb \$0x6001d0,%r21d ++ +[a-f0-9]+: d5 10 81 ee d0 01 60 00 sub \$0x6001d0,%r22d ++ +[a-f0-9]+: d5 10 81 f7 d0 01 60 00 xor \$0x6001d0,%r23d ++ +[a-f0-9]+: d5 11 f7 c0 d0 01 60 00 test \$0x6001d0,%r24d ++ +[a-f0-9]+: d5 18 81 d0 d0 01 60 00 adc \$0x6001d0,%r16 ++ +[a-f0-9]+: d5 18 81 c1 d0 01 60 00 add \$0x6001d0,%r17 ++ +[a-f0-9]+: d5 18 81 e2 d0 01 60 00 and \$0x6001d0,%r18 ++ +[a-f0-9]+: d5 18 81 fb d0 01 60 00 cmp \$0x6001d0,%r19 ++ +[a-f0-9]+: d5 18 81 cc d0 01 60 00 or \$0x6001d0,%r20 ++ +[a-f0-9]+: d5 18 81 dd d0 01 60 00 sbb \$0x6001d0,%r21 ++ +[a-f0-9]+: d5 18 81 ee d0 01 60 00 sub \$0x6001d0,%r22 ++ +[a-f0-9]+: d5 18 81 f7 d0 01 60 00 xor \$0x6001d0,%r23 ++ +[a-f0-9]+: d5 19 f7 c0 d0 01 60 00 test \$0x6001d0,%r24 ++ +[a-f0-9]+: d5 10 81 d0 d1 01 60 00 adc \$0x6001d1,%r16d ++ +[a-f0-9]+: d5 10 81 c1 d1 01 60 00 add \$0x6001d1,%r17d ++ +[a-f0-9]+: d5 10 81 e2 d1 01 60 00 and \$0x6001d1,%r18d ++ +[a-f0-9]+: d5 10 81 fb d1 01 60 00 cmp \$0x6001d1,%r19d ++ +[a-f0-9]+: d5 10 81 cc d1 01 60 00 or \$0x6001d1,%r20d ++ +[a-f0-9]+: d5 10 81 dd d1 01 60 00 sbb \$0x6001d1,%r21d ++ +[a-f0-9]+: d5 10 81 ee d1 01 60 00 sub \$0x6001d1,%r22d ++ +[a-f0-9]+: d5 10 81 f7 d1 01 60 00 xor \$0x6001d1,%r23d ++ +[a-f0-9]+: d5 11 f7 c0 d1 01 60 00 test \$0x6001d1,%r24d ++ +[a-f0-9]+: d5 18 81 d0 d1 01 60 00 adc \$0x6001d1,%r16 ++ +[a-f0-9]+: d5 18 81 c1 d1 01 60 00 add \$0x6001d1,%r17 ++ +[a-f0-9]+: d5 18 81 e2 d1 01 60 00 and \$0x6001d1,%r18 ++ +[a-f0-9]+: d5 18 81 fb d1 01 60 00 cmp \$0x6001d1,%r19 ++ +[a-f0-9]+: d5 18 81 cc d1 01 60 00 or \$0x6001d1,%r20 ++ +[a-f0-9]+: d5 18 81 dd d1 01 60 00 sbb \$0x6001d1,%r21 ++ +[a-f0-9]+: d5 18 81 ee d1 01 60 00 sub \$0x6001d1,%r22 ++ +[a-f0-9]+: d5 18 81 f7 d1 01 60 00 xor \$0x6001d1,%r23 ++ +[a-f0-9]+: d5 19 f7 c0 d1 01 60 00 test \$0x6001d1,%r24 ++#pass +diff -rupN binutils.orig/ld/testsuite/ld-x86-64/apx-load1b.d binutils-2.41/ld/testsuite/ld-x86-64/apx-load1b.d +--- binutils.orig/ld/testsuite/ld-x86-64/apx-load1b.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/apx-load1b.d 2024-07-01 15:45:59.396610481 +0100 +@@ -0,0 +1,55 @@ ++#source: apx-load1.s ++#as: --x32 -mrelax-relocations=yes ++#ld: -melf32_x86_64 -z max-page-size=0x200000 -z noseparate-code ++#objdump: -dw --sym ++ ++.*: +file format .* ++ ++SYMBOL TABLE: ++#... ++0+600194 l O .data 0+1 bar ++#... ++0+600195 g O .data 0+1 foo ++#... ++ ++ ++Disassembly of section .text: ++ ++0+400074 <_start>: ++ +[a-f0-9]+: d5 10 81 d0 94 01 60 00 adc \$0x600194,%r16d ++ +[a-f0-9]+: d5 10 81 c1 94 01 60 00 add \$0x600194,%r17d ++ +[a-f0-9]+: d5 10 81 e2 94 01 60 00 and \$0x600194,%r18d ++ +[a-f0-9]+: d5 10 81 fb 94 01 60 00 cmp \$0x600194,%r19d ++ +[a-f0-9]+: d5 10 81 cc 94 01 60 00 or \$0x600194,%r20d ++ +[a-f0-9]+: d5 10 81 dd 94 01 60 00 sbb \$0x600194,%r21d ++ +[a-f0-9]+: d5 10 81 ee 94 01 60 00 sub \$0x600194,%r22d ++ +[a-f0-9]+: d5 10 81 f7 94 01 60 00 xor \$0x600194,%r23d ++ +[a-f0-9]+: d5 11 f7 c0 94 01 60 00 test \$0x600194,%r24d ++ +[a-f0-9]+: d5 18 81 d0 94 01 60 00 adc \$0x600194,%r16 ++ +[a-f0-9]+: d5 18 81 c1 94 01 60 00 add \$0x600194,%r17 ++ +[a-f0-9]+: d5 18 81 e2 94 01 60 00 and \$0x600194,%r18 ++ +[a-f0-9]+: d5 18 81 fb 94 01 60 00 cmp \$0x600194,%r19 ++ +[a-f0-9]+: d5 18 81 cc 94 01 60 00 or \$0x600194,%r20 ++ +[a-f0-9]+: d5 18 81 dd 94 01 60 00 sbb \$0x600194,%r21 ++ +[a-f0-9]+: d5 18 81 ee 94 01 60 00 sub \$0x600194,%r22 ++ +[a-f0-9]+: d5 18 81 f7 94 01 60 00 xor \$0x600194,%r23 ++ +[a-f0-9]+: d5 19 f7 c0 94 01 60 00 test \$0x600194,%r24 ++ +[a-f0-9]+: d5 10 81 d0 95 01 60 00 adc \$0x600195,%r16d ++ +[a-f0-9]+: d5 10 81 c1 95 01 60 00 add \$0x600195,%r17d ++ +[a-f0-9]+: d5 10 81 e2 95 01 60 00 and \$0x600195,%r18d ++ +[a-f0-9]+: d5 10 81 fb 95 01 60 00 cmp \$0x600195,%r19d ++ +[a-f0-9]+: d5 10 81 cc 95 01 60 00 or \$0x600195,%r20d ++ +[a-f0-9]+: d5 10 81 dd 95 01 60 00 sbb \$0x600195,%r21d ++ +[a-f0-9]+: d5 10 81 ee 95 01 60 00 sub \$0x600195,%r22d ++ +[a-f0-9]+: d5 10 81 f7 95 01 60 00 xor \$0x600195,%r23d ++ +[a-f0-9]+: d5 11 f7 c0 95 01 60 00 test \$0x600195,%r24d ++ +[a-f0-9]+: d5 18 81 d0 95 01 60 00 adc \$0x600195,%r16 ++ +[a-f0-9]+: d5 18 81 c1 95 01 60 00 add \$0x600195,%r17 ++ +[a-f0-9]+: d5 18 81 e2 95 01 60 00 and \$0x600195,%r18 ++ +[a-f0-9]+: d5 18 81 fb 95 01 60 00 cmp \$0x600195,%r19 ++ +[a-f0-9]+: d5 18 81 cc 95 01 60 00 or \$0x600195,%r20 ++ +[a-f0-9]+: d5 18 81 dd 95 01 60 00 sbb \$0x600195,%r21 ++ +[a-f0-9]+: d5 18 81 ee 95 01 60 00 sub \$0x600195,%r22 ++ +[a-f0-9]+: d5 18 81 f7 95 01 60 00 xor \$0x600195,%r23 ++ +[a-f0-9]+: d5 19 f7 c0 95 01 60 00 test \$0x600195,%r24 ++#pass +diff -rupN binutils.orig/ld/testsuite/ld-x86-64/apx-load1c.d binutils-2.41/ld/testsuite/ld-x86-64/apx-load1c.d +--- binutils.orig/ld/testsuite/ld-x86-64/apx-load1c.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/apx-load1c.d 2024-07-01 15:45:59.397610484 +0100 +@@ -0,0 +1,47 @@ ++#source: apx-load1.s ++#as: --64 ++#ld: -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS ++#objdump: -dw ++ ++.*: +file format .* ++ ++Disassembly of section .text: ++ ++0+188 <_start>: ++ +[a-f0-9]+: d5 40 13 05 f8 01 20 00 adc 0x2001f8\(%rip\),%r16d # 200388 <.*> ++ +[a-f0-9]+: d5 40 03 0d f0 01 20 00 add 0x2001f0\(%rip\),%r17d # 200388 <.*> ++ +[a-f0-9]+: d5 40 23 15 e8 01 20 00 and 0x2001e8\(%rip\),%r18d # 200388 <.*> ++ +[a-f0-9]+: d5 40 3b 1d e0 01 20 00 cmp 0x2001e0\(%rip\),%r19d # 200388 <.*> ++ +[a-f0-9]+: d5 40 0b 25 d8 01 20 00 or 0x2001d8\(%rip\),%r20d # 200388 <.*> ++ +[a-f0-9]+: d5 40 1b 2d d0 01 20 00 sbb 0x2001d0\(%rip\),%r21d # 200388 <.*> ++ +[a-f0-9]+: d5 40 2b 35 c8 01 20 00 sub 0x2001c8\(%rip\),%r22d # 200388 <.*> ++ +[a-f0-9]+: d5 40 33 3d c0 01 20 00 xor 0x2001c0\(%rip\),%r23d # 200388 <.*> ++ +[a-f0-9]+: d5 44 85 05 b8 01 20 00 test %r24d,0x2001b8\(%rip\) # 200388 <.*> ++ +[a-f0-9]+: d5 48 13 05 b0 01 20 00 adc 0x2001b0\(%rip\),%r16 # 200388 <.*> ++ +[a-f0-9]+: d5 48 03 0d a8 01 20 00 add 0x2001a8\(%rip\),%r17 # 200388 <.*> ++ +[a-f0-9]+: d5 48 23 15 a0 01 20 00 and 0x2001a0\(%rip\),%r18 # 200388 <.*> ++ +[a-f0-9]+: d5 48 3b 1d 98 01 20 00 cmp 0x200198\(%rip\),%r19 # 200388 <.*> ++ +[a-f0-9]+: d5 48 0b 25 90 01 20 00 or 0x200190\(%rip\),%r20 # 200388 <.*> ++ +[a-f0-9]+: d5 48 1b 2d 88 01 20 00 sbb 0x200188\(%rip\),%r21 # 200388 <.*> ++ +[a-f0-9]+: d5 48 2b 35 80 01 20 00 sub 0x200180\(%rip\),%r22 # 200388 <.*> ++ +[a-f0-9]+: d5 48 33 3d 78 01 20 00 xor 0x200178\(%rip\),%r23 # 200388 <.*> ++ +[a-f0-9]+: d5 4c 85 05 70 01 20 00 test %r24,0x200170\(%rip\) # 200388 <.*> ++ +[a-f0-9]+: d5 40 13 05 70 01 20 00 adc 0x200170\(%rip\),%r16d # 200390 <.*> ++ +[a-f0-9]+: d5 40 03 0d 68 01 20 00 add 0x200168\(%rip\),%r17d # 200390 <.*> ++ +[a-f0-9]+: d5 40 23 15 60 01 20 00 and 0x200160\(%rip\),%r18d # 200390 <.*> ++ +[a-f0-9]+: d5 40 3b 1d 58 01 20 00 cmp 0x200158\(%rip\),%r19d # 200390 <.*> ++ +[a-f0-9]+: d5 40 0b 25 50 01 20 00 or 0x200150\(%rip\),%r20d # 200390 <.*> ++ +[a-f0-9]+: d5 40 1b 2d 48 01 20 00 sbb 0x200148\(%rip\),%r21d # 200390 <.*> ++ +[a-f0-9]+: d5 40 2b 35 40 01 20 00 sub 0x200140\(%rip\),%r22d # 200390 <.*> ++ +[a-f0-9]+: d5 40 33 3d 38 01 20 00 xor 0x200138\(%rip\),%r23d # 200390 <.*> ++ +[a-f0-9]+: d5 44 85 05 30 01 20 00 test %r24d,0x200130\(%rip\) # 200390 <.*> ++ +[a-f0-9]+: d5 48 13 05 28 01 20 00 adc 0x200128\(%rip\),%r16 # 200390 <.*> ++ +[a-f0-9]+: d5 48 03 0d 20 01 20 00 add 0x200120\(%rip\),%r17 # 200390 <.*> ++ +[a-f0-9]+: d5 48 23 15 18 01 20 00 and 0x200118\(%rip\),%r18 # 200390 <.*> ++ +[a-f0-9]+: d5 48 3b 1d 10 01 20 00 cmp 0x200110\(%rip\),%r19 # 200390 <.*> ++ +[a-f0-9]+: d5 48 0b 25 08 01 20 00 or 0x200108\(%rip\),%r20 # 200390 <.*> ++ +[a-f0-9]+: d5 48 1b 2d 00 01 20 00 sbb 0x200100\(%rip\),%r21 # 200390 <.*> ++ +[a-f0-9]+: d5 48 2b 35 f8 00 20 00 sub 0x2000f8\(%rip\),%r22 # 200390 <.*> ++ +[a-f0-9]+: d5 48 33 3d f0 00 20 00 xor 0x2000f0\(%rip\),%r23 # 200390 <.*> ++ +[a-f0-9]+: d5 4c 85 05 e8 00 20 00 test %r24,0x2000e8\(%rip\) # 200390 <.*> ++#pass +diff -rupN binutils.orig/ld/testsuite/ld-x86-64/apx-load1d.d binutils-2.41/ld/testsuite/ld-x86-64/apx-load1d.d +--- binutils.orig/ld/testsuite/ld-x86-64/apx-load1d.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/apx-load1d.d 2024-07-01 15:45:59.397610484 +0100 +@@ -0,0 +1,47 @@ ++#source: apx-load1.s ++#as: --x32 ++#ld: -shared -melf32_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS ++#objdump: -dw ++ ++.*: +file format .* ++ ++Disassembly of section .text: ++ ++0+100 <_start>: ++ +[a-f0-9]+: d5 40 13 05 88 01 20 00 adc 0x200188\(%rip\),%r16d # 200290 <.*> ++ +[a-f0-9]+: d5 40 03 0d 80 01 20 00 add 0x200180\(%rip\),%r17d # 200290 <.*> ++ +[a-f0-9]+: d5 40 23 15 78 01 20 00 and 0x200178\(%rip\),%r18d # 200290 <.*> ++ +[a-f0-9]+: d5 40 3b 1d 70 01 20 00 cmp 0x200170\(%rip\),%r19d # 200290 <.*> ++ +[a-f0-9]+: d5 40 0b 25 68 01 20 00 or 0x200168\(%rip\),%r20d # 200290 <.*> ++ +[a-f0-9]+: d5 40 1b 2d 60 01 20 00 sbb 0x200160\(%rip\),%r21d # 200290 <.*> ++ +[a-f0-9]+: d5 40 2b 35 58 01 20 00 sub 0x200158\(%rip\),%r22d # 200290 <.*> ++ +[a-f0-9]+: d5 40 33 3d 50 01 20 00 xor 0x200150\(%rip\),%r23d # 200290 <.*> ++ +[a-f0-9]+: d5 44 85 05 48 01 20 00 test %r24d,0x200148\(%rip\) # 200290 <.*> ++ +[a-f0-9]+: d5 48 13 05 40 01 20 00 adc 0x200140\(%rip\),%r16 # 200290 <.*> ++ +[a-f0-9]+: d5 48 03 0d 38 01 20 00 add 0x200138\(%rip\),%r17 # 200290 <.*> ++ +[a-f0-9]+: d5 48 23 15 30 01 20 00 and 0x200130\(%rip\),%r18 # 200290 <.*> ++ +[a-f0-9]+: d5 48 3b 1d 28 01 20 00 cmp 0x200128\(%rip\),%r19 # 200290 <.*> ++ +[a-f0-9]+: d5 48 0b 25 20 01 20 00 or 0x200120\(%rip\),%r20 # 200290 <.*> ++ +[a-f0-9]+: d5 48 1b 2d 18 01 20 00 sbb 0x200118\(%rip\),%r21 # 200290 <.*> ++ +[a-f0-9]+: d5 48 2b 35 10 01 20 00 sub 0x200110\(%rip\),%r22 # 200290 <.*> ++ +[a-f0-9]+: d5 48 33 3d 08 01 20 00 xor 0x200108\(%rip\),%r23 # 200290 <.*> ++ +[a-f0-9]+: d5 4c 85 05 00 01 20 00 test %r24,0x200100\(%rip\) # 200290 <.*> ++ +[a-f0-9]+: d5 40 13 05 00 01 20 00 adc 0x200100\(%rip\),%r16d # 200298 <.*> ++ +[a-f0-9]+: d5 40 03 0d f8 00 20 00 add 0x2000f8\(%rip\),%r17d # 200298 <.*> ++ +[a-f0-9]+: d5 40 23 15 f0 00 20 00 and 0x2000f0\(%rip\),%r18d # 200298 <.*> ++ +[a-f0-9]+: d5 40 3b 1d e8 00 20 00 cmp 0x2000e8\(%rip\),%r19d # 200298 <.*> ++ +[a-f0-9]+: d5 40 0b 25 e0 00 20 00 or 0x2000e0\(%rip\),%r20d # 200298 <.*> ++ +[a-f0-9]+: d5 40 1b 2d d8 00 20 00 sbb 0x2000d8\(%rip\),%r21d # 200298 <.*> ++ +[a-f0-9]+: d5 40 2b 35 d0 00 20 00 sub 0x2000d0\(%rip\),%r22d # 200298 <.*> ++ +[a-f0-9]+: d5 40 33 3d c8 00 20 00 xor 0x2000c8\(%rip\),%r23d # 200298 <.*> ++ +[a-f0-9]+: d5 44 85 05 c0 00 20 00 test %r24d,0x2000c0\(%rip\) # 200298 <.*> ++ +[a-f0-9]+: d5 48 13 05 b8 00 20 00 adc 0x2000b8\(%rip\),%r16 # 200298 <.*> ++ +[a-f0-9]+: d5 48 03 0d b0 00 20 00 add 0x2000b0\(%rip\),%r17 # 200298 <.*> ++ +[a-f0-9]+: d5 48 23 15 a8 00 20 00 and 0x2000a8\(%rip\),%r18 # 200298 <.*> ++ +[a-f0-9]+: d5 48 3b 1d a0 00 20 00 cmp 0x2000a0\(%rip\),%r19 # 200298 <.*> ++ +[a-f0-9]+: d5 48 0b 25 98 00 20 00 or 0x200098\(%rip\),%r20 # 200298 <.*> ++ +[a-f0-9]+: d5 48 1b 2d 90 00 20 00 sbb 0x200090\(%rip\),%r21 # 200298 <.*> ++ +[a-f0-9]+: d5 48 2b 35 88 00 20 00 sub 0x200088\(%rip\),%r22 # 200298 <.*> ++ +[a-f0-9]+: d5 48 33 3d 80 00 20 00 xor 0x200080\(%rip\),%r23 # 200298 <.*> ++ +[a-f0-9]+: d5 4c 85 05 78 00 20 00 test %r24,0x200078\(%rip\) # 200298 <.*> ++#pass +diff -rupN binutils.orig/ld/testsuite/ld-x86-64/tlsbindesc.dd binutils-2.41/ld/testsuite/ld-x86-64/tlsbindesc.dd +--- binutils.orig/ld/testsuite/ld-x86-64/tlsbindesc.dd 2024-07-01 15:14:02.056309227 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/tlsbindesc.dd 2024-07-01 15:47:08.955799034 +0100 +@@ -165,6 +165,55 @@ Disassembly of section .text: + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: c9[ ]+leave * + +[0-9a-f]+: c3[ ]+ret * ++# IE against global var ++ +[0-9a-f]+: d5 48 03 05 ([0-9a-f]{2} ){3}[ ]+add 0x[0-9a-f]+\(%rip\),%r16 +# [0-9a-f]+ ++# -> R_X86_64_TPOFF64 sG2 ++ +[0-9a-f]+: 00 * ++# IE -> LE against global var defined in exec ++ +[0-9a-f]+: d5 18 81 c1 60 ff ff[ ]+add \$0xf+60,%r17 ++# sg1 ++ +[0-9a-f]+: ff * ++# IE -> LE against local var ++ +[0-9a-f]+: d5 18 81 c2 80 ff ff[ ]+add \$0xf+80,%r18 ++# sl1 ++ +[0-9a-f]+: ff * ++# IE -> LE against hidden var ++ +[0-9a-f]+: d5 18 81 c3 a0 ff ff[ ]+add \$0xf+a0,%r19 ++# sh1 ++ +[0-9a-f]+: ff * ++# Direct access through %fs ++# IE against global var ++ +[0-9a-f]+: d5 48 8b 25 ([0-9a-f]{2} ){3}[ ]+mov 0x[0-9a-f]+\(%rip\),%r20 +# [0-9a-f]+ ++# -> R_X86_64_TPOFF64 sG5 ++ +[0-9a-f]+: 00 * ++# IE->LE against local var ++ +[0-9a-f]+: d5 18 c7 c5 90 ff ff[ ]+mov \$0xf+90,%r21 ++# sl5 ++ +[0-9a-f]+: ff * ++# IE->LE against hidden var ++ +[0-9a-f]+: d5 18 c7 c6 b0 ff ff[ ]+mov \$0xf+b0,%r22 ++ +[0-9a-f]+: ff * ++# GD -> IE because variable is not defined in executable ++ +[0-9a-f]+: d5 48 8b 05 ([0-9a-f]{2} ){3}[ ]+mov 0x[0-9a-f]+\(%rip\),%r16 +# [0-9a-f]+ ++# -> R_X86_64_TPOFF64 sG1 ++ +[0-9a-f]+: 00 * ++# GD -> IE because variable is not defined in executable where ++# the variable is referenced through IE too ++ +[0-9a-f]+: d5 48 8b 0d ([0-9a-f]{2} ){3}[ ]+mov 0x[0-9a-f]+\(%rip\),%r17 +# [0-9a-f]+ ++# -> R_X86_64_TPOFF64 sG2 ++ +[0-9a-f]+: 00 * ++# GD -> LE with global variable defined in executable ++ +[0-9a-f]+: d5 18 c7 c2 60 ff ff[ ]+mov \$0xf+60,%r18 ++# sg1 ++ +[0-9a-f]+: ff * ++# GD -> LE with local variable defined in executable ++ +[0-9a-f]+: d5 18 c7 c3 80 ff ff[ ]+mov \$0xf+80,%r19 ++# sl1 ++ +[0-9a-f]+: ff * ++# GD -> LE with hidden variable defined in executable ++ +[0-9a-f]+: d5 18 c7 c4 a0 ff ff[ ]+mov \$0xf+a0,%r20 ++# sh1 ++ +[0-9a-f]+: ff * + + [0-9a-f]+ <_start>: + +[0-9a-f]+: 55[ ]+push %rbp +diff -rupN binutils.orig/ld/testsuite/ld-x86-64/tlsbindesc.rd binutils-2.41/ld/testsuite/ld-x86-64/tlsbindesc.rd +--- binutils.orig/ld/testsuite/ld-x86-64/tlsbindesc.rd 2024-07-01 15:14:02.056309227 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/tlsbindesc.rd 2024-07-01 15:47:08.956799037 +0100 +@@ -15,12 +15,12 @@ Section Headers: + +\[[ 0-9]+\] .dynsym +.* + +\[[ 0-9]+\] .dynstr +.* + +\[[ 0-9]+\] .rela.dyn +.* +- +\[[ 0-9]+\] .text +PROGBITS +0+401000 0+1000 0+1fd 00 +AX +0 +0 +4096 +- +\[[ 0-9]+\] .tdata +PROGBITS +0+6011fd 0+11fd 0+60 00 WAT +0 +0 +1 +- +\[[ 0-9]+\] .tbss +NOBITS +0+60125d 0+125d 0+40 00 WAT +0 +0 +1 +- +\[[ 0-9]+\] .dynamic +DYNAMIC +0+601260 0+1260 0+100 10 +WA +4 +0 +8 +- +\[[ 0-9]+\] .got +PROGBITS +0+601360 0+1360 0+20 08 +WA +0 +0 +8 +- +\[[ 0-9]+\] .got.plt +PROGBITS +0+601380 0+1380 0+18 08 +WA +0 +0 +8 ++ +\[[ 0-9]+\] .text +PROGBITS +0+401000 0+1000 0+25d 00 +AX +0 +0 +4096 ++ +\[[ 0-9]+\] .tdata +PROGBITS +0+60125d 0+125d 0+60 00 WAT +0 +0 +1 ++ +\[[ 0-9]+\] .tbss +NOBITS +0+6012bd 0+12bd 0+40 00 WAT +0 +0 +1 ++ +\[[ 0-9]+\] .dynamic +DYNAMIC +0+6012c0 0+12c0 0+100 10 +WA +4 +0 +8 ++ +\[[ 0-9]+\] .got +PROGBITS +0+6013c0 0+13c0 0+20 08 +WA +0 +0 +8 ++ +\[[ 0-9]+\] .got.plt +PROGBITS +0+6013e0 0+13e0 0+18 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .symtab +.* + +\[[ 0-9]+\] .strtab +.* + +\[[ 0-9]+\] .shstrtab +.* +@@ -28,7 +28,7 @@ Key to Flags: + #... + + Elf file type is EXEC \(Executable file\) +-Entry point 0x401105 ++Entry point 0x401165 + There are [0-9]+ program headers, starting at offset [0-9]+ + + Program Headers: +@@ -36,10 +36,10 @@ Program Headers: + +PHDR.* + +INTERP.* + .*Requesting program interpreter.* +- +LOAD +0x0+ 0x0+400000 0x0+400000 0x0+11fd 0x0+11fd R E 0x200000 +- +LOAD +0x0+11fd 0x0+6011fd 0x0+6011fd 0x0+19b 0x0+19b RW +0x200000 +- +DYNAMIC +0x0+1260 0x0+601260 0x0+601260 0x0+100 0x0+100 RW +0x8 +- +TLS +0x0+11fd 0x0+6011fd 0x0+6011fd 0x0+60 0x0+a0 R +0x1 ++ +LOAD +0x0+ 0x0+400000 0x0+400000 0x0+125d 0x0+125d R E 0x200000 ++ +LOAD +0x0+125d 0x0+60125d 0x0+60125d 0x0+19b 0x0+19b RW +0x200000 ++ +DYNAMIC +0x0+12c0 0x0+6012c0 0x0+6012c0 0x0+100 0x0+100 RW +0x8 ++ +TLS +0x0+125d 0x0+60125d 0x0+60125d 0x0+60 0x0+a0 R +0x1 + + Section to Segment mapping: + +Segment Sections... +@@ -52,10 +52,10 @@ Program Headers: + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +-0+601360 +0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0 +-0+601368 +0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0 +-0+601370 +0+300000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 +-0+601378 +0+400000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0 ++0+6013c0 +0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0 ++0+6013c8 +0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0 ++0+6013d0 +0+300000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 ++0+6013d8 +0+400000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0 + + Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +@@ -88,8 +88,8 @@ Symbol table '\.symtab' contains [0-9]+ + +[0-9]+: 0+9c +0 +TLS +LOCAL +DEFAULT +8 bl8 + .* FILE +LOCAL +DEFAULT +ABS + +[0-9]+: 0+a0 +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ +- +[0-9]+: 0+601260 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC +- +[0-9]+: 0+601380 +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ ++ +[0-9]+: 0+6012c0 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC ++ +[0-9]+: 0+6013e0 +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8 + +[0-9]+: 0+7c +0 +TLS +GLOBAL +DEFAULT +8 bg8 + +[0-9]+: 0+74 +0 +TLS +GLOBAL +DEFAULT +8 bg6 +@@ -104,7 +104,7 @@ Symbol table '\.symtab' contains [0-9]+ + +[0-9]+: 0+58 +0 +TLS +GLOBAL +HIDDEN +7 sh7 + +[0-9]+: 0+5c +0 +TLS +GLOBAL +HIDDEN +7 sh8 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 +- +[0-9]+: 0+401105 +0 +FUNC +GLOBAL +DEFAULT +6 _start ++ +[0-9]+: 0+401165 +0 +FUNC +GLOBAL +DEFAULT +6 _start + +[0-9]+: 0+4c +0 +TLS +GLOBAL +HIDDEN +7 sh4 + +[0-9]+: 0+78 +0 +TLS +GLOBAL +DEFAULT +8 bg7 + +[0-9]+: 0+50 +0 +TLS +GLOBAL +HIDDEN +7 sh5 +diff -rupN binutils.orig/ld/testsuite/ld-x86-64/tlsbindesc.s binutils-2.41/ld/testsuite/ld-x86-64/tlsbindesc.s +--- binutils.orig/ld/testsuite/ld-x86-64/tlsbindesc.s 2024-07-01 15:14:02.056309227 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/tlsbindesc.s 2024-07-01 15:47:08.956799037 +0100 +@@ -126,3 +126,42 @@ fn2: + + leave + ret ++ ++ /* IE against global var */ ++ addq sG2@gottpoff(%rip), %r16 ++ ++ /* IE -> LE against global var defined in exec */ ++ addq sg1@gottpoff(%rip), %r17 ++ ++ /* IE -> LE against local var */ ++ addq sl1@gottpoff(%rip), %r18 ++ ++ /* IE -> LE against hidden var */ ++ addq sh1@gottpoff(%rip), %r19 ++ ++ /* Direct access through %fs */ ++ ++ /* IE against global var */ ++ movq sG5@gottpoff(%rip), %r20 ++ ++ /* IE->LE against local var */ ++ movq sl5@gottpoff(%rip), %r21 ++ ++ /* IE->LE against hidden var */ ++ movq sh5@gottpoff(%rip), %r22 ++ ++ /* GD -> IE because variable is not defined in executable */ ++ leaq sG1@tlsdesc(%rip), %r16 ++ ++ /* GD -> IE because variable is not defined in executable where ++ the variable is referenced through IE too */ ++ leaq sG2@tlsdesc(%rip), %r17 ++ ++ /* GD -> LE with global variable defined in executable */ ++ leaq sg1@tlsdesc(%rip), %r18 ++ ++ /* GD -> LE with local variable defined in executable */ ++ leaq sl1@tlsdesc(%rip), %r19 ++ ++ /* GD -> LE with hidden variable defined in executable */ ++ leaq sh1@tlsdesc(%rip), %r20 +diff -rupN binutils.orig/ld/testsuite/ld-x86-64/x86-64.exp binutils-2.41/ld/testsuite/ld-x86-64/x86-64.exp +--- binutils.orig/ld/testsuite/ld-x86-64/x86-64.exp 2024-07-01 15:14:02.060309238 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/x86-64.exp 2024-07-01 15:45:59.397610484 +0100 +@@ -604,6 +604,10 @@ run_dump_test "load1a" + run_dump_test "load1b" + run_dump_test "load1c" + run_dump_test "load1d" ++run_dump_test "apx-load1a" ++run_dump_test "apx-load1b" ++run_dump_test "apx-load1c" ++run_dump_test "apx-load1d" + run_dump_test "load2" + run_dump_test "call1a" + run_dump_test "call1b" diff --git a/SOURCES/binutils-Intel-APX-part-1.patch b/SOURCES/binutils-Intel-APX-part-1.patch new file mode 100644 index 0000000..7d26ad6 --- /dev/null +++ b/SOURCES/binutils-Intel-APX-part-1.patch @@ -0,0 +1,117747 @@ +diff -rupN binutils.orig/bfd/bfd-in2.h binutils-2.41/bfd/bfd-in2.h +--- binutils.orig/bfd/bfd-in2.h 2024-01-18 12:12:23.308945724 +0000 ++++ binutils-2.41/bfd/bfd-in2.h 2024-01-18 12:33:22.150468315 +0000 +@@ -3837,6 +3837,9 @@ instruction. */ + BFD_RELOC_X86_64_PLT32_BND, + BFD_RELOC_X86_64_GOTPCRELX, + BFD_RELOC_X86_64_REX_GOTPCRELX, ++ BFD_RELOC_X86_64_CODE_4_GOTPCRELX, ++ BFD_RELOC_X86_64_CODE_4_GOTTPOFF, ++ BFD_RELOC_X86_64_CODE_4_GOTPC32_TLSDESC, + + /* ns32k relocations */ + BFD_RELOC_NS32K_IMM_8, +diff -rupN binutils.orig/bfd/elf64-x86-64.c binutils-2.41/bfd/elf64-x86-64.c +--- binutils.orig/bfd/elf64-x86-64.c 2024-01-18 12:12:23.257945689 +0000 ++++ binutils-2.41/bfd/elf64-x86-64.c 2024-01-18 12:36:12.907504360 +0000 +@@ -170,12 +170,21 @@ static reloc_howto_type x86_64_elf_howto + HOWTO(R_X86_64_REX_GOTPCRELX, 0, 4, 32, true, 0, complain_overflow_signed, + bfd_elf_generic_reloc, "R_X86_64_REX_GOTPCRELX", false, 0, 0xffffffff, + true), ++ HOWTO(R_X86_64_CODE_4_GOTPCRELX, 0, 4, 32, true, 0, complain_overflow_signed, ++ bfd_elf_generic_reloc, "R_X86_64_CODE_4_GOTPCRELX", false, 0, 0xffffffff, ++ true), ++ HOWTO(R_X86_64_CODE_4_GOTTPOFF, 0, 4, 32, true, 0, complain_overflow_signed, ++ bfd_elf_generic_reloc, "R_X86_64_CODE_4_GOTTPOFF", false, 0, 0xffffffff, ++ true), ++ HOWTO(R_X86_64_CODE_4_GOTPC32_TLSDESC, 0, 4, 32, true, 0, ++ complain_overflow_bitfield, bfd_elf_generic_reloc, ++ "R_X86_64_CODE_4_GOTPC32_TLSDESC", false, 0, 0xffffffff, true), + + /* We have a gap in the reloc numbers here. + R_X86_64_standard counts the number up to this point, and + R_X86_64_vt_offset is the value to subtract from a reloc type of + R_X86_64_GNU_VT* to form an index into this table. */ +-#define R_X86_64_standard (R_X86_64_REX_GOTPCRELX + 1) ++#define R_X86_64_standard (R_X86_64_CODE_4_GOTPC32_TLSDESC + 1) + #define R_X86_64_vt_offset (R_X86_64_GNU_VTINHERIT - R_X86_64_standard) + + /* GNU extension to record C++ vtable hierarchy. */ +@@ -244,6 +253,9 @@ static const struct elf_reloc_map x86_64 + { BFD_RELOC_X86_64_PLT32_BND, R_X86_64_PLT32_BND, }, + { BFD_RELOC_X86_64_GOTPCRELX, R_X86_64_GOTPCRELX, }, + { BFD_RELOC_X86_64_REX_GOTPCRELX, R_X86_64_REX_GOTPCRELX, }, ++ { BFD_RELOC_X86_64_CODE_4_GOTPCRELX, R_X86_64_CODE_4_GOTPCRELX, }, ++ { BFD_RELOC_X86_64_CODE_4_GOTTPOFF, R_X86_64_CODE_4_GOTTPOFF, }, ++ { BFD_RELOC_X86_64_CODE_4_GOTPC32_TLSDESC, R_X86_64_CODE_4_GOTPC32_TLSDESC, }, + { BFD_RELOC_VTABLE_INHERIT, R_X86_64_GNU_VTINHERIT, }, + { BFD_RELOC_VTABLE_ENTRY, R_X86_64_GNU_VTENTRY, }, + }; +@@ -1258,6 +1270,19 @@ elf_x86_64_check_tls_transition (bfd *ab + return (r_type == R_X86_64_PC32 || r_type == R_X86_64_PLT32); + } + ++ case R_X86_64_CODE_4_GOTTPOFF: ++ /* Check transition from IE access model: ++ mov foo@gottpoff(%rip), %reg ++ add foo@gottpoff(%rip), %reg ++ where reg is one of r16 to r31. */ ++ ++ if (offset < 4 ++ || (offset + 4) > sec->size ++ || contents[offset - 4] != 0xd5) ++ return false; ++ ++ goto check_gottpoff; ++ + case R_X86_64_GOTTPOFF: + /* Check transition from IE access model: + mov foo@gottpoff(%rip), %reg +@@ -1284,6 +1309,7 @@ elf_x86_64_check_tls_transition (bfd *ab + return false; + } + ++ check_gottpoff: + val = bfd_get_8 (abfd, contents + offset - 2); + if (val != 0x8b && val != 0x03) + return false; +@@ -1291,6 +1317,18 @@ elf_x86_64_check_tls_transition (bfd *ab + val = bfd_get_8 (abfd, contents + offset - 1); + return (val & 0xc7) == 5; + ++ case R_X86_64_CODE_4_GOTPC32_TLSDESC: ++ /* Check transition from GDesc access model: ++ lea x@tlsdesc(%rip), %reg ++ where reg is one of r16 to r31. */ ++ ++ if (offset < 4 ++ || (offset + 4) > sec->size ++ || contents[offset - 4] != 0xd5) ++ return false; ++ ++ goto check_tlsdesc; ++ + case R_X86_64_GOTPC32_TLSDESC: + /* Check transition from GDesc access model: + leaq x@tlsdesc(%rip), %rax <--- LP64 mode. +@@ -1308,6 +1346,7 @@ elf_x86_64_check_tls_transition (bfd *ab + if (val != 0x48 && (ABI_64_P (abfd) || val != 0x40)) + return false; + ++ check_tlsdesc: + if (bfd_get_8 (abfd, contents + offset - 2) != 0x8d) + return false; + +@@ -1376,6 +1415,8 @@ elf_x86_64_tls_transition (struct bfd_li + case R_X86_64_GOTPC32_TLSDESC: + case R_X86_64_TLSDESC_CALL: + case R_X86_64_GOTTPOFF: ++ case R_X86_64_CODE_4_GOTPC32_TLSDESC: ++ case R_X86_64_CODE_4_GOTTPOFF: + if (bfd_link_executable (info)) + { + if (h == NULL) +@@ -1395,6 +1436,7 @@ elf_x86_64_tls_transition (struct bfd_li + + if (to_type == R_X86_64_TLSGD + || to_type == R_X86_64_GOTPC32_TLSDESC ++ || to_type == R_X86_64_CODE_4_GOTPC32_TLSDESC + || to_type == R_X86_64_TLSDESC_CALL) + { + if (tls_type == GOT_TLS_IE) +@@ -1420,7 +1462,9 @@ elf_x86_64_tls_transition (struct bfd_li + } + + /* Return TRUE if there is no transition. */ +- if (from_type == to_type) ++ if (from_type == to_type ++ || (from_type == R_X86_64_CODE_4_GOTTPOFF ++ && to_type == R_X86_64_GOTTPOFF)) + return true; + + /* Check if the transition can be performed. */ +@@ -1586,7 +1630,8 @@ elf_x86_64_convert_load_reloc (bfd *abfd + bfd_vma roff = irel->r_offset; + bfd_vma abs_relocation; + +- if (roff < (r_type == R_X86_64_REX_GOTPCRELX ? 3 : 2)) ++ if (roff < (r_type == R_X86_64_CODE_4_GOTPCRELX ++ ? 4 : (r_type == R_X86_64_REX_GOTPCRELX ? 3 : 2))) + return true; + + raddend = irel->r_addend; +@@ -1597,8 +1642,18 @@ elf_x86_64_convert_load_reloc (bfd *abfd + htab = elf_x86_hash_table (link_info, X86_64_ELF_DATA); + is_pic = bfd_link_pic (link_info); + +- relocx = (r_type == R_X86_64_GOTPCRELX +- || r_type == R_X86_64_REX_GOTPCRELX); ++ if (r_type == R_X86_64_CODE_4_GOTPCRELX) ++ { ++ /* Skip if this isn't a REX2 instruction. */ ++ opcode = bfd_get_8 (abfd, contents + roff - 4); ++ if (opcode != 0xd5) ++ return true; ++ ++ relocx = true; ++ } ++ else ++ relocx = (r_type == R_X86_64_GOTPCRELX ++ || r_type == R_X86_64_REX_GOTPCRELX); + + /* TRUE if --no-relax is used. */ + no_overflow = link_info->disable_target_specific_optimizations > 1; +@@ -1610,9 +1665,9 @@ elf_x86_64_convert_load_reloc (bfd *abfd + /* Convert mov to lea since it has been done for a while. */ + if (opcode != 0x8b) + { +- /* Only convert R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX +- for call, jmp or one of adc, add, and, cmp, or, sbb, sub, +- test, xor instructions. */ ++ /* Only convert R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX ++ and R_X86_64_CODE_4_GOTPCRELX for call, jmp or one of adc, ++ add, and, cmp, or, sbb, sub, test, xor instructions. */ + if (!relocx) + return true; + } +@@ -1797,13 +1852,22 @@ elf_x86_64_convert_load_reloc (bfd *abfd + } + else + { +- unsigned int rex; ++ unsigned int rex = 0; + unsigned int rex_mask = REX_R; ++ unsigned int rex2 = 0; ++ unsigned int rex2_mask = REX_R | REX_R << 4; ++ bool rex_w = false; + +- if (r_type == R_X86_64_REX_GOTPCRELX) +- rex = bfd_get_8 (abfd, contents + roff - 3); +- else +- rex = 0; ++ if (r_type == R_X86_64_CODE_4_GOTPCRELX) ++ { ++ rex2 = bfd_get_8 (abfd, contents + roff - 3); ++ rex_w = (rex2 & REX_W) != 0; ++ } ++ else if (r_type == R_X86_64_REX_GOTPCRELX) ++ { ++ rex = bfd_get_8 (abfd, contents + roff - 3); ++ rex_w = (rex & REX_W) != 0; ++ } + + if (opcode == 0x8b) + { +@@ -1824,8 +1888,7 @@ elf_x86_64_convert_load_reloc (bfd *abfd + opcode = 0xc7; + modrm = bfd_get_8 (abfd, contents + roff - 1); + modrm = 0xc0 | (modrm & 0x38) >> 3; +- if ((rex & REX_W) != 0 +- && ABI_64_P (link_info->output_bfd)) ++ if (rex_w && ABI_64_P (link_info->output_bfd)) + { + /* Keep the REX_W bit in REX byte for LP64. */ + r_type = R_X86_64_32S; +@@ -1837,8 +1900,9 @@ elf_x86_64_convert_load_reloc (bfd *abfd + use R_X86_64_32 and clear the W bit to avoid + sign-extend imm32 to imm64. */ + r_type = R_X86_64_32; +- /* Clear the W bit in REX byte. */ ++ /* Clear the W bit in REX byte and REX2 payload. */ + rex_mask |= REX_W; ++ rex2_mask |= REX_W; + goto rewrite_modrm_rex; + } + } +@@ -1867,7 +1931,7 @@ elf_x86_64_convert_load_reloc (bfd *abfd + + /* Use R_X86_64_32 with 32-bit operand to avoid relocation + overflow when sign-extending imm32 to imm64. */ +- r_type = (rex & REX_W) != 0 ? R_X86_64_32S : R_X86_64_32; ++ r_type = rex_w ? R_X86_64_32S : R_X86_64_32; + + rewrite_modrm_rex: + if (abs_relocation) +@@ -1893,6 +1957,13 @@ elf_x86_64_convert_load_reloc (bfd *abfd + rex = (rex & ~rex_mask) | (rex & REX_R) >> 2; + bfd_put_8 (abfd, rex, contents + roff - 3); + } ++ else if (rex2) ++ { ++ /* Move the R bits to the B bits in REX2 payload byte. */ ++ rex2 = ((rex2 & ~rex2_mask) ++ | (rex2 & (REX_R | REX_R << 4)) >> 2); ++ bfd_put_8 (abfd, rex2, contents + roff - 3); ++ } + + /* No addend for R_X86_64_32/R_X86_64_32S relocations. */ + irel->r_addend = 0; +@@ -1969,6 +2040,10 @@ elf_x86_64_scan_relocs (bfd *abfd, struc + r_symndx = htab->r_sym (rel->r_info); + r_type = ELF32_R_TYPE (rel->r_info); + ++ /* Don't check R_X86_64_NONE. */ ++ if (r_type == R_X86_64_NONE) ++ continue; ++ + if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr)) + { + /* xgettext:c-format */ +@@ -2058,7 +2133,8 @@ elf_x86_64_scan_relocs (bfd *abfd, struc + converted_reloc = false; + if ((r_type == R_X86_64_GOTPCREL + || r_type == R_X86_64_GOTPCRELX +- || r_type == R_X86_64_REX_GOTPCRELX) ++ || r_type == R_X86_64_REX_GOTPCRELX ++ || r_type == R_X86_64_CODE_4_GOTPCRELX) + && (h == NULL || h->type != STT_GNU_IFUNC)) + { + Elf_Internal_Rela *irel = (Elf_Internal_Rela *) rel; +@@ -2100,6 +2176,7 @@ elf_x86_64_scan_relocs (bfd *abfd, struc + break; + + case R_X86_64_GOTTPOFF: ++ case R_X86_64_CODE_4_GOTTPOFF: + if (!bfd_link_executable (info)) + info->flags |= DF_STATIC_TLS; + /* Fall through */ +@@ -2108,11 +2185,13 @@ elf_x86_64_scan_relocs (bfd *abfd, struc + case R_X86_64_GOTPCREL: + case R_X86_64_GOTPCRELX: + case R_X86_64_REX_GOTPCRELX: ++ case R_X86_64_CODE_4_GOTPCRELX: + case R_X86_64_TLSGD: + case R_X86_64_GOT64: + case R_X86_64_GOTPCREL64: + case R_X86_64_GOTPLT64: + case R_X86_64_GOTPC32_TLSDESC: ++ case R_X86_64_CODE_4_GOTPC32_TLSDESC: + case R_X86_64_TLSDESC_CALL: + /* This symbol requires a global offset table entry. */ + { +@@ -2134,9 +2213,11 @@ elf_x86_64_scan_relocs (bfd *abfd, struc + tls_type = GOT_TLS_GD; + break; + case R_X86_64_GOTTPOFF: ++ case R_X86_64_CODE_4_GOTTPOFF: + tls_type = GOT_TLS_IE; + break; + case R_X86_64_GOTPC32_TLSDESC: ++ case R_X86_64_CODE_4_GOTPC32_TLSDESC: + case R_X86_64_TLSDESC_CALL: + tls_type = GOT_TLS_GDESC; + break; +@@ -2710,6 +2791,7 @@ elf_x86_64_relocate_section (bfd *output + case R_X86_64_GOTPCREL: + case R_X86_64_GOTPCRELX: + case R_X86_64_REX_GOTPCRELX: ++ case R_X86_64_CODE_4_GOTPCRELX: + case R_X86_64_GOTPCREL64: + base_got = htab->elf.sgot; + off = h->got.offset; +@@ -2935,6 +3017,7 @@ elf_x86_64_relocate_section (bfd *output + case R_X86_64_GOTPCREL: + case R_X86_64_GOTPCRELX: + case R_X86_64_REX_GOTPCRELX: ++ case R_X86_64_CODE_4_GOTPCRELX: + case R_X86_64_GOTPCREL64: + /* Use global offset table entry as symbol value. */ + case R_X86_64_GOTPLT64: +@@ -3025,7 +3108,8 @@ elf_x86_64_relocate_section (bfd *output + && !(sym->st_shndx == SHN_ABS + && (r_type == R_X86_64_GOTPCREL + || r_type == R_X86_64_GOTPCRELX +- || r_type == R_X86_64_REX_GOTPCRELX))) ++ || r_type == R_X86_64_REX_GOTPCRELX ++ || r_type == R_X86_64_CODE_4_GOTPCRELX))) + relative_reloc = true; + } + } +@@ -3063,6 +3147,7 @@ elf_x86_64_relocate_section (bfd *output + if (r_type != R_X86_64_GOTPCREL + && r_type != R_X86_64_GOTPCRELX + && r_type != R_X86_64_REX_GOTPCRELX ++ && r_type != R_X86_64_CODE_4_GOTPCRELX + && r_type != R_X86_64_GOTPCREL64) + relocation -= htab->elf.sgotplt->output_section->vma + - htab->elf.sgotplt->output_offset; +@@ -3481,8 +3566,10 @@ elf_x86_64_relocate_section (bfd *output + + case R_X86_64_TLSGD: + case R_X86_64_GOTPC32_TLSDESC: ++ case R_X86_64_CODE_4_GOTPC32_TLSDESC: + case R_X86_64_TLSDESC_CALL: + case R_X86_64_GOTTPOFF: ++ case R_X86_64_CODE_4_GOTTPOFF: + tls_type = GOT_UNKNOWN; + if (h == NULL && local_got_offsets) + tls_type = elf_x86_local_got_tls_type (input_bfd) [r_symndx]; +@@ -3623,6 +3710,37 @@ elf_x86_64_relocate_section (bfd *output + contents + roff); + continue; + } ++ else if (r_type == R_X86_64_CODE_4_GOTPC32_TLSDESC) ++ { ++ /* GDesc -> LE transition. ++ It's originally something like: ++ lea x@tlsdesc(%rip), %reg ++ ++ Change it to: ++ mov $x@tpoff, %reg ++ where reg is one of r16 to r31. */ ++ ++ unsigned int val, rex2; ++ unsigned int rex2_mask = REX_R | REX_R << 4; ++ ++ if (roff < 4) ++ goto corrupt_input; ++ rex2 = bfd_get_8 (input_bfd, contents + roff - 3); ++ val = bfd_get_8 (input_bfd, contents + roff - 1); ++ /* Move the R bits to the B bits in REX2 payload ++ byte. */ ++ bfd_put_8 (output_bfd, ++ ((rex2 & ~rex2_mask) ++ | (rex2 & rex2_mask) >> 2), ++ contents + roff - 3); ++ bfd_put_8 (output_bfd, 0xc7, contents + roff - 2); ++ bfd_put_8 (output_bfd, 0xc0 | ((val >> 3) & 7), ++ contents + roff - 1); ++ bfd_put_32 (output_bfd, ++ elf_x86_64_tpoff (info, relocation), ++ contents + roff); ++ continue; ++ } + else if (r_type == R_X86_64_TLSDESC_CALL) + { + /* GDesc -> LE transition. +@@ -3762,6 +3880,46 @@ elf_x86_64_relocate_section (bfd *output + contents + roff); + continue; + } ++ else if (r_type == R_X86_64_CODE_4_GOTTPOFF) ++ { ++ /* IE->LE transition: ++ Originally it can be one of: ++ mov foo@gottpoff(%rip), %reg ++ add foo@gottpoff(%rip), %reg ++ We change it into: ++ mov $foo@tpoff, %reg ++ add $foo@tpoff, %reg ++ where reg is one of r16 to r31. */ ++ ++ unsigned int rex2, type, reg; ++ unsigned int rex2_mask = REX_R | REX_R << 4; ++ ++ if (roff < 4) ++ goto corrupt_input; ++ ++ rex2 = bfd_get_8 (input_bfd, contents + roff - 3); ++ type = bfd_get_8 (input_bfd, contents + roff - 2); ++ reg = bfd_get_8 (input_bfd, contents + roff - 1); ++ reg >>= 3; ++ /* Move the R bits to the B bits in REX2 payload ++ byte. */ ++ if (type == 0x8b) ++ type = 0xc7; ++ else ++ type = 0x81; ++ bfd_put_8 (output_bfd, ++ ((rex2 & ~rex2_mask) ++ | (rex2 & rex2_mask) >> 2), ++ contents + roff - 3); ++ bfd_put_8 (output_bfd, type, ++ contents + roff - 2); ++ bfd_put_8 (output_bfd, 0xc0 | reg, ++ contents + roff - 1); ++ bfd_put_32 (output_bfd, ++ elf_x86_64_tpoff (info, relocation), ++ contents + roff); ++ continue; ++ } + else + BFD_ASSERT (false); + } +@@ -3868,6 +4026,7 @@ elf_x86_64_relocate_section (bfd *output + if (r_type_tls == r_type) + { + if (r_type == R_X86_64_GOTPC32_TLSDESC ++ || r_type == R_X86_64_CODE_4_GOTPC32_TLSDESC + || r_type == R_X86_64_TLSDESC_CALL) + relocation = htab->elf.sgotplt->output_section->vma + + htab->elf.sgotplt->output_offset +@@ -3963,7 +4122,8 @@ elf_x86_64_relocate_section (bfd *output + wrel++; + continue; + } +- else if (r_type == R_X86_64_GOTPC32_TLSDESC) ++ else if (r_type == R_X86_64_GOTPC32_TLSDESC ++ || r_type == R_X86_64_CODE_4_GOTPC32_TLSDESC) + { + /* GDesc -> IE transition. + It's originally something like: +diff -rupN binutils.orig/bfd/libbfd.h binutils-2.41/bfd/libbfd.h +--- binutils.orig/bfd/libbfd.h 2024-01-18 12:12:23.265945694 +0000 ++++ binutils-2.41/bfd/libbfd.h 2024-01-18 12:33:22.181468317 +0000 +@@ -1467,6 +1467,9 @@ static const char *const bfd_reloc_code_ + "BFD_RELOC_X86_64_PLT32_BND", + "BFD_RELOC_X86_64_GOTPCRELX", + "BFD_RELOC_X86_64_REX_GOTPCRELX", ++ "BFD_RELOC_X86_64_CODE_4_GOTPCRELX", ++ "BFD_RELOC_X86_64_CODE_4_GOTTPOFF", ++ "BFD_RELOC_X86_64_CODE_4_GOTPC32_TLSDESC", + "BFD_RELOC_NS32K_IMM_8", + "BFD_RELOC_NS32K_IMM_16", + "BFD_RELOC_NS32K_IMM_32", +diff -rupN binutils.orig/bfd/reloc.c binutils-2.41/bfd/reloc.c +--- binutils.orig/bfd/reloc.c 2024-01-18 12:12:23.301945720 +0000 ++++ binutils-2.41/bfd/reloc.c 2024-01-18 12:25:31.724281101 +0000 +@@ -2481,6 +2481,12 @@ ENUMX + BFD_RELOC_X86_64_GOTPCRELX + ENUMX + BFD_RELOC_X86_64_REX_GOTPCRELX ++ENUMX ++ BFD_RELOC_X86_64_CODE_4_GOTPCRELX ++ENUMX ++ BFD_RELOC_X86_64_CODE_4_GOTTPOFF ++ENUMX ++ BFD_RELOC_X86_64_CODE_4_GOTPC32_TLSDESC + ENUMDOC + x86-64/elf relocations + +diff -rupN binutils.orig/gas/config/tc-i386-intel.c binutils-2.41/gas/config/tc-i386-intel.c +--- binutils.orig/gas/config/tc-i386-intel.c 2024-01-18 12:12:23.476945843 +0000 ++++ binutils-2.41/gas/config/tc-i386-intel.c 2024-01-18 13:18:32.567418071 +0000 +@@ -1,5 +1,5 @@ + /* tc-i386.c -- Assemble Intel syntax code for ix86/x86-64 +- Copyright (C) 2009-2023 Free Software Foundation, Inc. ++ Copyright (C) 2009-2024 Free Software Foundation, Inc. + + This file is part of GAS, the GNU Assembler. + +@@ -209,6 +209,11 @@ operatorT i386_operator (const char *nam + || i386_types[j].sz[0] > 8 + || (i386_types[j].sz[0] & (i386_types[j].sz[0] - 1))) + return O_illegal; ++ if (i.vec_encoding == vex_encoding_default) ++ i.vec_encoding = vex_encoding_evex; ++ else if (i.vec_encoding != vex_encoding_evex ++ && i.vec_encoding != vex_encoding_evex512) ++ return O_illegal; + if (!i.broadcast.bytes && !i.broadcast.type) + { + i.broadcast.bytes = i386_types[j].sz[0]; +@@ -340,7 +345,7 @@ i386_intel_simplify_register (expression + intel_state.base = i386_regtab + reg_num; + else if (!intel_state.index) + { +- const insn_template *t = current_templates->start; ++ const insn_template *t = current_templates.start; + + if (intel_state.in_scale + || i386_regtab[reg_num].reg_type.bitfield.baseindex +@@ -609,7 +614,7 @@ i386_intel_operand (char *operand_string + if (i.imm_operands) + { + as_bad (_("`%s': RC/SAE operand must precede immediate operands"), +- insn_name (current_templates->start)); ++ insn_name (current_templates.start)); + return 0; + } + +@@ -682,7 +687,7 @@ i386_intel_operand (char *operand_string + return 0; + + if (intel_state.op_modifier != O_absent +- && current_templates->start->mnem_off != MN_lea) ++ && current_templates.start->mnem_off != MN_lea) + { + i.types[this_operand].bitfield.unspecified = 0; + +@@ -697,22 +702,22 @@ i386_intel_operand (char *operand_string + i.types[this_operand].bitfield.word = 1; + if (got_a_float == 2) /* "fi..." */ + suffix = SHORT_MNEM_SUFFIX; +- else if (current_templates->start->mnem_off != MN_lar +- && current_templates->start->mnem_off != MN_lsl +- && current_templates->start->mnem_off != MN_arpl) ++ else if (current_templates.start->mnem_off != MN_lar ++ && current_templates.start->mnem_off != MN_lsl ++ && current_templates.start->mnem_off != MN_arpl) + suffix = WORD_MNEM_SUFFIX; + break; + + case O_dword_ptr: + i.types[this_operand].bitfield.dword = 1; +- if ((insn_name (current_templates->start)[0] == 'l' +- && insn_name (current_templates->start)[2] == 's' +- && insn_name (current_templates->start)[3] == 0) +- || current_templates->start->mnem_off == MN_bound) ++ if ((insn_name (current_templates.start)[0] == 'l' ++ && insn_name (current_templates.start)[2] == 's' ++ && insn_name (current_templates.start)[3] == 0) ++ || current_templates.start->mnem_off == MN_bound) + suffix = WORD_MNEM_SUFFIX; + else if (flag_code != CODE_32BIT +- && (current_templates->start->opcode_modifier.jump == JUMP +- || current_templates->start->opcode_modifier.jump ++ && (current_templates.start->opcode_modifier.jump == JUMP ++ || current_templates.start->opcode_modifier.jump + == JUMP_DWORD)) + { + i.far_branch = true; +@@ -726,11 +731,11 @@ i386_intel_operand (char *operand_string + + case O_fword_ptr: + i.types[this_operand].bitfield.fword = 1; +- if (current_templates->start->mnem_off == MN_les +- || current_templates->start->mnem_off == MN_lds +- || current_templates->start->mnem_off == MN_lss +- || current_templates->start->mnem_off == MN_lfs +- || current_templates->start->mnem_off == MN_lgs) ++ if (current_templates.start->mnem_off == MN_les ++ || current_templates.start->mnem_off == MN_lds ++ || current_templates.start->mnem_off == MN_lss ++ || current_templates.start->mnem_off == MN_lfs ++ || current_templates.start->mnem_off == MN_lgs) + suffix = LONG_MNEM_SUFFIX; + else if (!got_a_float) + { +@@ -742,7 +747,7 @@ i386_intel_operand (char *operand_string + + case O_qword_ptr: /* O_mmword_ptr */ + i.types[this_operand].bitfield.qword = 1; +- if (current_templates->start->mnem_off == MN_bound ++ if (current_templates.start->mnem_off == MN_bound + || got_a_float == 1) /* "f..." */ + suffix = LONG_MNEM_SUFFIX; + else +@@ -754,10 +759,10 @@ i386_intel_operand (char *operand_string + if (got_a_float) + break; + if (flag_code == CODE_64BIT +- && (current_templates->start->operand_types[0].bitfield.fword +- || current_templates->start->operand_types[0].bitfield.tbyte +- || current_templates->start->opcode_modifier.jump == JUMP_DWORD +- || current_templates->start->opcode_modifier.jump == JUMP)) ++ && (current_templates.start->operand_types[0].bitfield.fword ++ || current_templates.start->operand_types[0].bitfield.tbyte ++ || current_templates.start->opcode_modifier.jump == JUMP_DWORD ++ || current_templates.start->opcode_modifier.jump == JUMP)) + suffix = QWORD_MNEM_SUFFIX; /* l[fgs]s, [ls][gi]dt, call, jmp */ + else + i.types[this_operand].bitfield.byte = 1; /* cause an error */ +@@ -789,8 +794,8 @@ i386_intel_operand (char *operand_string + i.far_branch = true; + /* FALLTHROUGH */ + case O_near_ptr: +- if (current_templates->start->opcode_modifier.jump != JUMP +- && current_templates->start->opcode_modifier.jump != JUMP_DWORD) ++ if (current_templates.start->opcode_modifier.jump != JUMP ++ && current_templates.start->opcode_modifier.jump != JUMP_DWORD) + { + /* cause an error */ + i.types[this_operand].bitfield.byte = 1; +@@ -809,17 +814,18 @@ i386_intel_operand (char *operand_string + REX.W) is going to be derived from it. For this we check whether the + given suffix is valid for any of the candidate templates. */ + if (suffix && suffix != i.suffix +- && current_templates->start->mnem_off != MN_bound) ++ && current_templates.start->mnem_off != MN_bound) + { + const insn_template *t; + +- for (t = current_templates->start; t < current_templates->end; ++t) ++ for (t = current_templates.start; t < current_templates.end; ++t) + { + /* Operands haven't been swapped yet. */ + unsigned int op = t->operands - 1 - this_operand; + + /* Easy checks to skip templates which won't match anyway. */ +- if (this_operand >= t->operands || t->opcode_modifier.attsyntax) ++ if (this_operand >= t->operands ++ || t->opcode_modifier.dialect >= ATT_SYNTAX) + continue; + + switch (suffix) +@@ -874,7 +880,7 @@ i386_intel_operand (char *operand_string + break; + } + +- if (t == current_templates->end) ++ if (t == current_templates.end) + suffix = 0; + } + +@@ -888,9 +894,9 @@ i386_intel_operand (char *operand_string + } + + /* Operands for jump/call need special consideration. */ +- if (current_templates->start->opcode_modifier.jump == JUMP +- || current_templates->start->opcode_modifier.jump == JUMP_DWORD +- || current_templates->start->opcode_modifier.jump == JUMP_INTERSEGMENT) ++ if (current_templates.start->opcode_modifier.jump == JUMP ++ || current_templates.start->opcode_modifier.jump == JUMP_DWORD ++ || current_templates.start->opcode_modifier.jump == JUMP_INTERSEGMENT) + { + bool jumpabsolute = false; + +@@ -1000,7 +1006,7 @@ i386_intel_operand (char *operand_string + if (i.rounding.type == RC_NamesTable[j].type) + break; + as_bad (_("`%s': misplaced `{%s}'"), +- insn_name (current_templates->start), RC_NamesTable[j].name); ++ insn_name (current_templates.start), RC_NamesTable[j].name); + return 0; + } + } +@@ -1026,9 +1032,9 @@ i386_intel_operand (char *operand_string + ljmp 0x9090,0x90909090 + */ + +- if ((current_templates->start->opcode_modifier.jump == JUMP_INTERSEGMENT +- || current_templates->start->opcode_modifier.jump == JUMP_DWORD +- || current_templates->start->opcode_modifier.jump == JUMP) ++ if ((current_templates.start->opcode_modifier.jump == JUMP_INTERSEGMENT ++ || current_templates.start->opcode_modifier.jump == JUMP_DWORD ++ || current_templates.start->opcode_modifier.jump == JUMP) + && this_operand == 1 + && intel_state.seg == NULL + && i.mem_operands == 1 +diff -rupN binutils.orig/gas/config/tc-i386.c binutils-2.41/gas/config/tc-i386.c +--- binutils.orig/gas/config/tc-i386.c 2024-01-18 12:12:23.476945843 +0000 ++++ binutils-2.41/gas/config/tc-i386.c 2024-01-18 13:22:53.037545007 +0000 +@@ -1,5 +1,5 @@ + /* tc-i386.c -- Assemble code for the Intel 80386 +- Copyright (C) 1989-2023 Free Software Foundation, Inc. ++ Copyright (C) 1989-2024 Free Software Foundation, Inc. + + This file is part of GAS, the GNU Assembler. + +@@ -165,7 +165,7 @@ static const char *parse_insn (const cha + static char *parse_operands (char *, const char *); + static void swap_operands (void); + static void swap_2_operands (unsigned int, unsigned int); +-static enum flag_code i386_addressing_mode (void); ++static enum i386_flag_code i386_addressing_mode (void); + static void optimize_imm (void); + static bool optimize_disp (const insn_template *t); + static const insn_template *match_template (char); +@@ -178,10 +178,10 @@ static int check_word_reg (void); + static int finalize_imm (void); + static int process_operands (void); + static const reg_entry *build_modrm_byte (void); +-static void output_insn (void); ++static void output_insn (const struct last_insn *); + static void output_imm (fragS *, offsetT); + static void output_disp (fragS *, offsetT); +-#ifndef I386COFF ++#ifdef OBJ_AOUT + static void s_bss (int); + #endif + #if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) +@@ -239,14 +239,19 @@ enum i386_error + bad_imm4, + unsupported_with_intel_mnemonic, + unsupported_syntax, ++ unsupported_EGPR_for_addressing, + unsupported, + unsupported_on_arch, + unsupported_64bit, ++ no_vex_encoding, ++ no_evex_encoding, + invalid_sib_address, + invalid_vsib_address, + invalid_vector_register_set, + invalid_tmm_register_set, + invalid_dest_and_src_register_set, ++ invalid_dest_register_set, ++ invalid_pseudo_prefix, + unsupported_vector_index_register, + unsupported_broadcast, + broadcast_needed, +@@ -254,7 +259,9 @@ enum i386_error + mask_not_on_destination, + no_default_mask, + unsupported_rc_sae, +- invalid_register_operand, ++ unsupported_vector_size, ++ unsupported_rsp_register, ++ internal_error, + }; + + struct _i386_insn +@@ -353,6 +360,7 @@ struct _i386_insn + modrm_byte rm; + rex_byte rex; + rex_byte vrex; ++ rex_byte rex2; + sib_byte sib; + vex_prefix vex; + +@@ -426,6 +434,12 @@ struct _i386_insn + /* Prefer the REX byte in encoding. */ + bool rex_encoding; + ++ /* Prefer the REX2 prefix in encoding. */ ++ bool rex2_encoding; ++ ++ /* Need to use an Egpr capable encoding (REX2 or EVEX). */ ++ bool has_egpr; ++ + /* Disable instruction size optimization. */ + bool no_optimize; + +@@ -436,6 +450,7 @@ struct _i386_insn + vex_encoding_vex, + vex_encoding_vex3, + vex_encoding_evex, ++ vex_encoding_evex512, + vex_encoding_error + } vec_encoding; + +@@ -565,7 +580,7 @@ static char *save_stack_p; + static i386_insn i; + + /* Possible templates for current insn. */ +-static const templates *current_templates; ++static templates current_templates; + + /* Per instruction expressionS buffers: max displacements & immediates. */ + static expressionS disp_expressions[MAX_MEMORY_OPERANDS]; +@@ -577,24 +592,15 @@ static int this_operand = -1; + /* Are we processing a .insn directive? */ + #define dot_insn() (i.tm.mnem_off == MN__insn) + +-/* We support four different modes. FLAG_CODE variable is used to distinguish +- these. */ +- +-enum flag_code { +- CODE_32BIT, +- CODE_16BIT, +- CODE_64BIT }; +- +-static enum flag_code flag_code; ++enum i386_flag_code i386_flag_code; ++#define flag_code i386_flag_code /* Permit to continue using original name. */ + static unsigned int object_64bit; + static unsigned int disallow_64bit_reloc; + static int use_rela_relocations = 0; + /* __tls_get_addr/___tls_get_addr symbol for TLS. */ + static const char *tls_get_addr; + +-#if ((defined (OBJ_MAYBE_COFF) && defined (OBJ_MAYBE_AOUT)) \ +- || defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) \ +- || defined (TE_PE) || defined (TE_PEP) || defined (OBJ_MACH_O)) ++#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) + + /* The ELF ABI to use. */ + enum x86_elf_abi +@@ -682,21 +688,6 @@ static enum lfence_before_ret_kind + } + lfence_before_ret; + +-/* Types of previous instruction is .byte or prefix. */ +-static struct +- { +- segT seg; +- const char *file; +- const char *name; +- unsigned int line; +- enum last_insn_kind +- { +- last_insn_other = 0, +- last_insn_directive, +- last_insn_prefix +- } kind; +- } last_insn; +- + /* 1 if the assembler should generate relax relocations. */ + + static int generate_relax_relocations +@@ -807,7 +798,10 @@ static const char *cpu_arch_name = NULL; + static char *cpu_sub_arch_name = NULL; + + /* CPU feature flags. */ +-static i386_cpu_flags cpu_arch_flags = CPU_UNKNOWN_FLAGS; ++i386_cpu_flags cpu_arch_flags = CPU_UNKNOWN_FLAGS; ++ ++/* ISA extensions available in 64-bit mode only. */ ++static const i386_cpu_flags cpu_64_flags = CPU_ANY_64_FLAGS; + + /* If we have selected a cpu we are generating instructions for. */ + static int cpu_arch_tune_set = 0; +@@ -815,9 +809,6 @@ static int cpu_arch_tune_set = 0; + /* Cpu we are generating instructions for. */ + enum processor_type cpu_arch_tune = PROCESSOR_UNKNOWN; + +-/* CPU feature flags of cpu we are generating instructions for. */ +-static i386_cpu_flags cpu_arch_tune_flags; +- + /* CPU instruction set architecture used. */ + enum processor_type cpu_arch_isa = PROCESSOR_UNKNOWN; + +@@ -843,6 +834,9 @@ static unsigned int sse2avx; + static unsigned int use_unaligned_vector_move; + + /* Maximum permitted vector size. */ ++#define VSZ128 0 ++#define VSZ256 1 ++#define VSZ512 2 + #define VSZ_DEFAULT VSZ512 + static unsigned int vector_size = VSZ_DEFAULT; + +@@ -995,8 +989,8 @@ static const arch_entry cpu_arch[] = + ARCH (i386, I386, 386, false), + ARCH (i486, I486, 486, false), + ARCH (i586, PENTIUM, 586, false), +- ARCH (i686, PENTIUMPRO, 686, false), + ARCH (pentium, PENTIUM, 586, false), ++ ARCH (i686, I686, 686, false), + ARCH (pentiumpro, PENTIUMPRO, PENTIUMPRO, false), + ARCH (pentiumii, PENTIUMPRO, P2, false), + ARCH (pentiumiii, PENTIUMPRO, P3, false), +@@ -1024,6 +1018,7 @@ static const arch_entry cpu_arch[] = + ARCH (znver2, ZNVER, ZNVER2, false), + ARCH (znver3, ZNVER, ZNVER3, false), + ARCH (znver4, ZNVER, ZNVER4, false), ++ ARCH (znver5, ZNVER, ZNVER5, false), + ARCH (btver1, BT, BTVER1, false), + ARCH (btver2, BT, BTVER2, false), + +@@ -1159,7 +1154,14 @@ static const arch_entry cpu_arch[] = + SUBARCH (rmpquery, RMPQUERY, ANY_RMPQUERY, false), + SUBARCH (fred, FRED, ANY_FRED, false), + SUBARCH (lkgs, LKGS, ANY_LKGS, false), ++ VECARCH (avx_vnni_int16, AVX_VNNI_INT16, ANY_AVX_VNNI_INT16, reset), ++ VECARCH (sha512, SHA512, ANY_SHA512, reset), ++ VECARCH (sm3, SM3, ANY_SM3, reset), ++ VECARCH (sm4, SM4, ANY_SM4, reset), ++ SUBARCH (pbndkb, PBNDKB, PBNDKB, false), + VECARCH (avx10.1, AVX10_1, ANY_AVX512F, set), ++ SUBARCH (user_msr, USER_MSR, USER_MSR, false), ++ SUBARCH (apx_f, APX_F, APX_F, false), + }; + + #undef SUBARCH +@@ -1215,9 +1217,10 @@ const pseudo_typeS md_pseudo_table[] = + {"align", s_align_ptwo, 0}, + #endif + {"arch", set_cpu_arch, 0}, +-#ifndef I386COFF ++#ifdef OBJ_AOUT + {"bss", s_bss, 0}, +-#else ++#endif ++#ifdef I386COFF + {"lcomm", pe_lcomm, 1}, + #endif + {"ffloat", float_cons, 'f'}, +@@ -1276,16 +1279,32 @@ static const unsigned char f32_2[] = + {0x66,0x90}; /* xchg %ax,%ax */ + static const unsigned char f32_3[] = + {0x8d,0x76,0x00}; /* leal 0(%esi),%esi */ +-static const unsigned char f32_4[] = +- {0x8d,0x74,0x26,0x00}; /* leal 0(%esi,1),%esi */ ++#define f32_4 (f32_5 + 1) /* leal 0(%esi,%eiz),%esi */ ++static const unsigned char f32_5[] = ++ {0x2e,0x8d,0x74,0x26,0x00}; /* leal %cs:0(%esi,%eiz),%esi */ + static const unsigned char f32_6[] = + {0x8d,0xb6,0x00,0x00,0x00,0x00}; /* leal 0L(%esi),%esi */ +-static const unsigned char f32_7[] = +- {0x8d,0xb4,0x26,0x00,0x00,0x00,0x00}; /* leal 0L(%esi,1),%esi */ ++#define f32_7 (f32_8 + 1) /* leal 0L(%esi,%eiz),%esi */ ++static const unsigned char f32_8[] = ++ {0x2e,0x8d,0xb4,0x26,0x00,0x00,0x00,0x00}; /* leal %cs:0L(%esi,%eiz),%esi */ ++static const unsigned char f64_3[] = ++ {0x48,0x89,0xf6}; /* mov %rsi,%rsi */ ++static const unsigned char f64_4[] = ++ {0x48,0x8d,0x76,0x00}; /* lea 0(%rsi),%rsi */ ++#define f64_5 (f64_6 + 1) /* lea 0(%rsi,%riz),%rsi */ ++static const unsigned char f64_6[] = ++ {0x2e,0x48,0x8d,0x74,0x26,0x00}; /* lea %cs:0(%rsi,%riz),%rsi */ ++static const unsigned char f64_7[] = ++ {0x48,0x8d,0xb6,0x00,0x00,0x00,0x00}; /* lea 0L(%rsi),%rsi */ ++#define f64_8 (f64_9 + 1) /* lea 0L(%rsi,%riz),%rsi */ ++static const unsigned char f64_9[] = ++ {0x2e,0x48,0x8d,0xb4,0x26,0x00,0x00,0x00,0x00}; /* lea %cs:0L(%rsi,%riz),%rsi */ ++#define f16_2 (f64_3 + 1) /* mov %si,%si */ + static const unsigned char f16_3[] = + {0x8d,0x74,0x00}; /* lea 0(%si),%si */ +-static const unsigned char f16_4[] = +- {0x8d,0xb4,0x00,0x00}; /* lea 0W(%si),%si */ ++#define f16_4 (f16_5 + 1) /* lea 0W(%si),%si */ ++static const unsigned char f16_5[] = ++ {0x2e,0x8d,0xb4,0x00,0x00}; /* lea %cs:0W(%si),%si */ + static const unsigned char jump_disp8[] = + {0xeb}; /* jmp disp8 */ + static const unsigned char jump32_disp32[] = +@@ -1294,11 +1313,15 @@ static const unsigned char jump16_disp32 + {0x66,0xe9}; /* jmp disp32 */ + /* 32-bit NOPs patterns. */ + static const unsigned char *const f32_patt[] = { +- f32_1, f32_2, f32_3, f32_4, NULL, f32_6, f32_7 ++ f32_1, f32_2, f32_3, f32_4, f32_5, f32_6, f32_7, f32_8 ++}; ++/* 64-bit NOPs patterns. */ ++static const unsigned char *const f64_patt[] = { ++ f32_1, f32_2, f64_3, f64_4, f64_5, f64_6, f64_7, f64_8, f64_9 + }; + /* 16-bit NOPs patterns. */ + static const unsigned char *const f16_patt[] = { +- f32_1, f32_2, f16_3, f16_4 ++ f32_1, f16_2, f16_3, f16_4, f16_5 + }; + /* nopl (%[re]ax) */ + static const unsigned char alt_3[] = +@@ -1307,8 +1330,7 @@ static const unsigned char alt_3[] = + static const unsigned char alt_4[] = + {0x0f,0x1f,0x40,0x00}; + /* nopl 0(%[re]ax,%[re]ax,1) */ +-static const unsigned char alt_5[] = +- {0x0f,0x1f,0x44,0x00,0x00}; ++#define alt_5 (alt_6 + 1) + /* nopw 0(%[re]ax,%[re]ax,1) */ + static const unsigned char alt_6[] = + {0x66,0x0f,0x1f,0x44,0x00,0x00}; +@@ -1316,14 +1338,12 @@ static const unsigned char alt_6[] = + static const unsigned char alt_7[] = + {0x0f,0x1f,0x80,0x00,0x00,0x00,0x00}; + /* nopl 0L(%[re]ax,%[re]ax,1) */ +-static const unsigned char alt_8[] = +- {0x0f,0x1f,0x84,0x00,0x00,0x00,0x00,0x00}; ++#define alt_8 (alt_9 + 1) + /* nopw 0L(%[re]ax,%[re]ax,1) */ + static const unsigned char alt_9[] = + {0x66,0x0f,0x1f,0x84,0x00,0x00,0x00,0x00,0x00}; + /* nopw %cs:0L(%[re]ax,%[re]ax,1) */ +-static const unsigned char alt_10[] = +- {0x66,0x2e,0x0f,0x1f,0x84,0x00,0x00,0x00,0x00,0x00}; ++#define alt_10 (alt_11 + 1) + /* data16 nopw %cs:0L(%eax,%eax,1) */ + static const unsigned char alt_11[] = + {0x66,0x66,0x2e,0x0f,0x1f,0x84,0x00,0x00,0x00,0x00,0x00}; +@@ -1354,14 +1374,6 @@ i386_output_nops (char *where, const uns + } + + nops = patt[max_single_nop_size - 1]; +- +- /* Use the smaller one if the requsted one isn't available. */ +- if (nops == NULL) +- { +- max_single_nop_size--; +- nops = patt[max_single_nop_size - 1]; +- } +- + last = count % max_single_nop_size; + + count -= last; +@@ -1371,17 +1383,7 @@ i386_output_nops (char *where, const uns + if (last) + { + nops = patt[last - 1]; +- if (nops == NULL) +- { +- /* Use the smaller one plus one-byte NOP if the needed one +- isn't available. */ +- last--; +- nops = patt[last - 1]; +- memcpy (where + offset, nops, last); +- where[offset + last] = *patt[0]; +- } +- else +- memcpy (where + offset, nops, last); ++ memcpy (where + offset, nops, last); + } + } + +@@ -1426,18 +1428,18 @@ i386_generate_nops (fragS *fragP, char * + /* We need to decide which NOP sequence to use for 32bit and + 64bit. When -mtune= is used: + +- 1. For PROCESSOR_I386, PROCESSOR_I486, PROCESSOR_PENTIUM and ++ 1. For PROCESSOR_I?86, PROCESSOR_PENTIUM, PROCESSOR_IAMCU, and + PROCESSOR_GENERIC32, f32_patt will be used. + 2. For the rest, alt_patt will be used. + + When -mtune= isn't used, alt_patt will be used if +- cpu_arch_isa_flags has CpuNop. Otherwise, f32_patt will ++ cpu_arch_isa_flags has CpuNop. Otherwise, f32_patt/f64_patt will + be used. + + When -march= or .arch is used, we can't use anything beyond + cpu_arch_isa_flags. */ + +- if (flag_code == CODE_16BIT) ++ if (fragP->tc_frag_data.code == CODE_16BIT) + { + patt = f16_patt; + max_single_nop_size = sizeof (f16_patt) / sizeof (f16_patt[0]); +@@ -1446,19 +1448,21 @@ i386_generate_nops (fragS *fragP, char * + } + else + { ++ patt = fragP->tc_frag_data.code == CODE_64BIT ? f64_patt : f32_patt; + if (fragP->tc_frag_data.isa == PROCESSOR_UNKNOWN) + { +- /* PROCESSOR_UNKNOWN means that all ISAs may be used. */ +- switch (cpu_arch_tune) ++ /* PROCESSOR_UNKNOWN means that all ISAs may be used, unless ++ explicitly disabled. */ ++ switch (fragP->tc_frag_data.tune) + { + case PROCESSOR_UNKNOWN: + /* We use cpu_arch_isa_flags to check if we SHOULD + optimize with nops. */ +- if (fragP->tc_frag_data.isa_flags.bitfield.cpunop) ++ if (fragP->tc_frag_data.isanop) + patt = alt_patt; +- else +- patt = f32_patt; + break; ++ ++ case PROCESSOR_PENTIUMPRO: + case PROCESSOR_PENTIUM4: + case PROCESSOR_NOCONA: + case PROCESSOR_CORE: +@@ -1472,15 +1476,16 @@ i386_generate_nops (fragS *fragP, char * + case PROCESSOR_BD: + case PROCESSOR_ZNVER: + case PROCESSOR_BT: +- patt = alt_patt; ++ if (fragP->tc_frag_data.cpunop) ++ patt = alt_patt; + break; ++ + case PROCESSOR_I386: + case PROCESSOR_I486: + case PROCESSOR_PENTIUM: +- case PROCESSOR_PENTIUMPRO: ++ case PROCESSOR_I686: + case PROCESSOR_IAMCU: + case PROCESSOR_GENERIC32: +- patt = f32_patt; + break; + case PROCESSOR_NONE: + abort (); +@@ -1496,47 +1501,22 @@ i386_generate_nops (fragS *fragP, char * + abort (); + break; + +- case PROCESSOR_I386: +- case PROCESSOR_I486: +- case PROCESSOR_PENTIUM: +- case PROCESSOR_IAMCU: +- case PROCESSOR_K6: +- case PROCESSOR_ATHLON: +- case PROCESSOR_K8: +- case PROCESSOR_AMDFAM10: +- case PROCESSOR_BD: +- case PROCESSOR_ZNVER: +- case PROCESSOR_BT: +- case PROCESSOR_GENERIC32: ++ default: + /* We use cpu_arch_isa_flags to check if we CAN optimize + with nops. */ +- if (fragP->tc_frag_data.isa_flags.bitfield.cpunop) ++ if (fragP->tc_frag_data.isanop) + patt = alt_patt; +- else +- patt = f32_patt; +- break; +- case PROCESSOR_PENTIUMPRO: +- case PROCESSOR_PENTIUM4: +- case PROCESSOR_NOCONA: +- case PROCESSOR_CORE: +- case PROCESSOR_CORE2: +- case PROCESSOR_COREI7: +- if (fragP->tc_frag_data.isa_flags.bitfield.cpunop) +- patt = alt_patt; +- else +- patt = f32_patt; +- break; +- case PROCESSOR_GENERIC64: +- patt = alt_patt; + break; ++ + case PROCESSOR_NONE: + abort (); + } + } + +- if (patt == f32_patt) ++ if (patt != alt_patt) + { +- max_single_nop_size = sizeof (f32_patt) / sizeof (f32_patt[0]); ++ max_single_nop_size = patt == f32_patt ? ARRAY_SIZE (f32_patt) ++ : ARRAY_SIZE (f64_patt); + /* Limit number of NOPs to 2 for older processors. */ + max_number_of_nops = 2; + } +@@ -1566,6 +1546,14 @@ i386_generate_nops (fragS *fragP, char * + else if (fragP->fr_type != rs_machine_dependent) + fragP->fr_var = count; + ++ /* Emit a plain NOP first when the last thing we saw may not have been ++ a proper instruction (e.g. a stand-alone prefix or .byte). */ ++ if (!fragP->tc_frag_data.last_insn_normal) ++ { ++ *where++ = 0x90; ++ --count; ++ } ++ + if ((count / max_single_nop_size) > max_number_of_nops) + { + /* Generate jump over NOPs. */ +@@ -1676,6 +1664,77 @@ operand_type_equal (const union i386_ope + } + } + ++static INLINE bool ++_is_cpu (const i386_cpu_attr *a, enum i386_cpu cpu) ++{ ++ switch (cpu) ++ { ++ case Cpu287: return a->bitfield.cpu287; ++ case Cpu387: return a->bitfield.cpu387; ++ case Cpu3dnow: return a->bitfield.cpu3dnow; ++ case Cpu3dnowA: return a->bitfield.cpu3dnowa; ++ case CpuAVX: return a->bitfield.cpuavx; ++ case CpuHLE: return a->bitfield.cpuhle; ++ case CpuAVX512F: return a->bitfield.cpuavx512f; ++ case CpuAVX512VL: return a->bitfield.cpuavx512vl; ++ case CpuAPX_F: return a->bitfield.cpuapx_f; ++ case Cpu64: return a->bitfield.cpu64; ++ case CpuNo64: return a->bitfield.cpuno64; ++ default: ++ gas_assert (cpu < CpuAttrEnums); ++ } ++ return a->bitfield.isa == cpu + 1u; ++} ++ ++static INLINE bool ++is_cpu (const insn_template *t, enum i386_cpu cpu) ++{ ++ return _is_cpu(&t->cpu, cpu); ++} ++ ++static INLINE bool ++maybe_cpu (const insn_template *t, enum i386_cpu cpu) ++{ ++ return _is_cpu(&t->cpu_any, cpu); ++} ++ ++static i386_cpu_flags cpu_flags_from_attr (i386_cpu_attr a) ++{ ++ const unsigned int bps = sizeof (a.array[0]) * CHAR_BIT; ++ i386_cpu_flags f = { .array[0] = 0 }; ++ ++ switch (ARRAY_SIZE (a.array)) ++ { ++ case 1: ++ f.array[CpuAttrEnums / bps] ++#ifndef WORDS_BIGENDIAN ++ |= (a.array[0] >> CpuIsaBits) << (CpuAttrEnums % bps); ++#else ++ |= (a.array[0] << CpuIsaBits) >> (CpuAttrEnums % bps); ++#endif ++ if (CpuMax / bps > CpuAttrEnums / bps) ++ f.array[CpuAttrEnums / bps + 1] ++#ifndef WORDS_BIGENDIAN ++ = (a.array[0] >> CpuIsaBits) >> (bps - CpuAttrEnums % bps); ++#else ++ = (a.array[0] << CpuIsaBits) << (bps - CpuAttrEnums % bps); ++#endif ++ break; ++ ++ default: ++ abort (); ++ } ++ ++ if (a.bitfield.isa) ++#ifndef WORDS_BIGENDIAN ++ f.array[(a.bitfield.isa - 1) / bps] |= 1u << ((a.bitfield.isa - 1) % bps); ++#else ++ f.array[(a.bitfield.isa - 1) / bps] |= 1u << (~(a.bitfield.isa - 1) % bps); ++#endif ++ ++ return f; ++} ++ + static INLINE int + cpu_flags_all_zero (const union i386_cpu_flags *x) + { +@@ -1735,10 +1794,11 @@ cpu_flags_equal (const union i386_cpu_fl + } + + static INLINE int +-cpu_flags_check_cpu64 (i386_cpu_flags f) ++cpu_flags_check_cpu64 (const insn_template *t) + { +- return !((flag_code == CODE_64BIT && f.bitfield.cpuno64) +- || (flag_code != CODE_64BIT && f.bitfield.cpu64)); ++ return flag_code == CODE_64BIT ++ ? !t->cpu.bitfield.cpuno64 ++ : !t->cpu.bitfield.cpu64; + } + + static INLINE i386_cpu_flags +@@ -1821,6 +1881,14 @@ cpu_flags_and_not (i386_cpu_flags x, i38 + + static const i386_cpu_flags avx512 = CPU_ANY_AVX512F_FLAGS; + ++static INLINE bool need_evex_encoding (const insn_template *t) ++{ ++ return i.vec_encoding == vex_encoding_evex ++ || i.vec_encoding == vex_encoding_evex512 ++ || (t->opcode_modifier.vex && i.has_egpr) ++ || i.mask.reg; ++} ++ + #define CPU_FLAGS_ARCH_MATCH 0x1 + #define CPU_FLAGS_64BIT_MATCH 0x2 + +@@ -1832,54 +1900,92 @@ static const i386_cpu_flags avx512 = CPU + static int + cpu_flags_match (const insn_template *t) + { +- i386_cpu_flags x = t->cpu_flags; +- int match = cpu_flags_check_cpu64 (x) ? CPU_FLAGS_64BIT_MATCH : 0; ++ i386_cpu_flags cpu, active, all = cpu_flags_from_attr (t->cpu); ++ i386_cpu_flags any = cpu_flags_from_attr (t->cpu_any); ++ int match = cpu_flags_check_cpu64 (t) ? CPU_FLAGS_64BIT_MATCH : 0; ++ ++ all.bitfield.cpu64 = 0; ++ all.bitfield.cpuno64 = 0; ++ gas_assert (!any.bitfield.cpu64); ++ gas_assert (!any.bitfield.cpuno64); + +- x.bitfield.cpu64 = 0; +- x.bitfield.cpuno64 = 0; +- +- if (cpu_flags_all_zero (&x)) ++ if (cpu_flags_all_zero (&all) && cpu_flags_all_zero (&any)) + { + /* This instruction is available on all archs. */ +- match |= CPU_FLAGS_ARCH_MATCH; ++ return match | CPU_FLAGS_ARCH_MATCH; + } +- else ++ ++ /* This instruction is available only on some archs. */ ++ ++ /* Dual VEX/EVEX templates may need stripping of one of the flags. */ ++ if (t->opcode_modifier.vex && t->opcode_modifier.evex) + { +- /* This instruction is available only on some archs. */ +- i386_cpu_flags cpu = cpu_arch_flags; ++ /* Dual AVX/AVX512 templates need to retain AVX512* only if we already ++ know that EVEX encoding will be needed. */ ++ if ((any.bitfield.cpuavx || any.bitfield.cpuavx2 || any.bitfield.cpufma) ++ && (any.bitfield.cpuavx512f || any.bitfield.cpuavx512vl)) ++ { ++ if (need_evex_encoding (t)) ++ { ++ any.bitfield.cpuavx = 0; ++ any.bitfield.cpuavx2 = 0; ++ any.bitfield.cpufma = 0; ++ } ++ /* need_evex_encoding(t) isn't reliable before operands were ++ parsed. */ ++ else if (i.operands) ++ { ++ any.bitfield.cpuavx512f = 0; ++ any.bitfield.cpuavx512vl = 0; ++ } ++ } + +- /* AVX512VL is no standalone feature - match it and then strip it. */ +- if (x.bitfield.cpuavx512vl && !cpu.bitfield.cpuavx512vl) +- return match; +- x.bitfield.cpuavx512vl = 0; ++ /* Dual non-APX/APX templates need massaging from what APX_F() in the ++ opcode table has produced. While the direct transformation of the ++ incoming cpuid&(cpuid|APX_F) would be to cpuid&(cpuid) / cpuid&(APX_F) ++ respectively, it's cheaper to move to just cpuid / cpuid&APX_F ++ instead. */ ++ if (any.bitfield.cpuapx_f ++ && (any.bitfield.cpubmi || any.bitfield.cpubmi2 ++ || any.bitfield.cpuavx512f || any.bitfield.cpuavx512bw ++ || any.bitfield.cpuavx512dq || any.bitfield.cpuamx_tile ++ || any.bitfield.cpucmpccxadd)) ++ { ++ /* These checks (verifying that APX_F() was properly used in the ++ opcode table entry) make sure there's no need for an "else" to ++ the "if()" below. */ ++ gas_assert (!cpu_flags_all_zero (&all)); ++ cpu = cpu_flags_and (all, any); ++ gas_assert (cpu_flags_equal (&cpu, &all)); + ++ if (need_evex_encoding (t)) ++ all = any; ++ ++ memset (&any, 0, sizeof (any)); ++ } ++ } ++ ++ if (flag_code != CODE_64BIT) ++ active = cpu_flags_and_not (cpu_arch_flags, cpu_64_flags); ++ else ++ active = cpu_arch_flags; ++ cpu = cpu_flags_and (all, active); ++ if (cpu_flags_equal (&cpu, &all)) ++ { + /* AVX and AVX2 present at the same time express an operand size + dependency - strip AVX2 for the purposes here. The operand size + dependent check occurs in check_vecOperands(). */ +- if (x.bitfield.cpuavx && x.bitfield.cpuavx2) +- x.bitfield.cpuavx2 = 0; ++ if (any.bitfield.cpuavx && any.bitfield.cpuavx2) ++ any.bitfield.cpuavx2 = 0; + +- cpu = cpu_flags_and (x, cpu); +- if (!cpu_flags_all_zero (&cpu)) ++ cpu = cpu_flags_and (any, active); ++ if (cpu_flags_all_zero (&any) || !cpu_flags_all_zero (&cpu)) + { +- if (x.bitfield.cpuavx) +- { +- /* We need to check a few extra flags with AVX. */ +- if (cpu.bitfield.cpuavx +- && (!t->opcode_modifier.sse2avx +- || (sse2avx && !i.prefix[DATA_PREFIX])) +- && (!x.bitfield.cpuaes || cpu.bitfield.cpuaes) +- && (!x.bitfield.cpugfni || cpu.bitfield.cpugfni) +- && (!x.bitfield.cpupclmulqdq || cpu.bitfield.cpupclmulqdq)) +- match |= CPU_FLAGS_ARCH_MATCH; +- } +- else if (x.bitfield.cpuavx512f) ++ if (all.bitfield.cpuavx) + { +- /* We need to check a few extra flags with AVX512F. */ +- if (cpu.bitfield.cpuavx512f +- && (!x.bitfield.cpugfni || cpu.bitfield.cpugfni) +- && (!x.bitfield.cpuvaes || cpu.bitfield.cpuvaes) +- && (!x.bitfield.cpuvpclmulqdq || cpu.bitfield.cpuvpclmulqdq)) ++ /* We need to check SSE2AVX with AVX. */ ++ if (!t->opcode_modifier.sse2avx ++ || (sse2avx && !i.prefix[DATA_PREFIX])) + match |= CPU_FLAGS_ARCH_MATCH; + } + else +@@ -2174,8 +2280,10 @@ operand_size_match (const insn_template + unsigned int given = i.operands - j - 1; + + /* For FMA4 and XOP insns VEX.W controls just the first two +- register operands. */ +- if (t->cpu_flags.bitfield.cpufma4 || t->cpu_flags.bitfield.cpuxop) ++ register operands. And APX_F insns just swap the two source operands, ++ with the 3rd one being the destination. */ ++ if (is_cpu (t, CpuFMA4) || is_cpu (t, CpuXOP) ++ || is_cpu (t, CpuAPX_F)) + given = j < 2 ? 1 - j : j; + + if (t->operand_types[j].bitfield.class == Reg +@@ -2281,7 +2389,7 @@ register_number (const reg_entry *r) + if (r->reg_flags & RegRex) + nr += 8; + +- if (r->reg_flags & RegVRex) ++ if (r->reg_flags & (RegVRex | RegRex2)) + nr += 16; + + return nr; +@@ -2410,7 +2518,8 @@ smallest_imm_type (offsetT num) + t.bitfield.imm8 = 1; + t.bitfield.imm8s = 1; + t.bitfield.imm16 = 1; +- t.bitfield.imm32 = 1; ++ if (flag_code != CODE_64BIT || fits_in_unsigned_long (num)) ++ t.bitfield.imm32 = 1; + t.bitfield.imm32s = 1; + } + else if (fits_in_unsigned_byte (num)) +@@ -2423,12 +2532,14 @@ smallest_imm_type (offsetT num) + else if (fits_in_signed_word (num) || fits_in_unsigned_word (num)) + { + t.bitfield.imm16 = 1; +- t.bitfield.imm32 = 1; ++ if (flag_code != CODE_64BIT || fits_in_unsigned_long (num)) ++ t.bitfield.imm32 = 1; + t.bitfield.imm32s = 1; + } + else if (fits_in_signed_long (num)) + { +- t.bitfield.imm32 = 1; ++ if (flag_code != CODE_64BIT || fits_in_unsigned_long (num)) ++ t.bitfield.imm32 = 1; + t.bitfield.imm32s = 1; + } + else if (fits_in_unsigned_long (num)) +@@ -2559,37 +2670,24 @@ add_prefix (unsigned int prefix) + static void + update_code_flag (int value, int check) + { +- PRINTF_LIKE ((*as_error)); ++ PRINTF_LIKE ((*as_error)) = check ? as_fatal : as_bad; + +- flag_code = (enum flag_code) value; +- if (flag_code == CODE_64BIT) ++ if (value == CODE_64BIT && !cpu_arch_flags.bitfield.cpu64 ) + { +- cpu_arch_flags.bitfield.cpu64 = 1; +- cpu_arch_flags.bitfield.cpuno64 = 0; +- } +- else +- { +- cpu_arch_flags.bitfield.cpu64 = 0; +- cpu_arch_flags.bitfield.cpuno64 = 1; +- } +- if (value == CODE_64BIT && !cpu_arch_flags.bitfield.cpulm ) +- { +- if (check) +- as_error = as_fatal; +- else +- as_error = as_bad; +- (*as_error) (_("64bit mode not supported on `%s'."), +- cpu_arch_name ? cpu_arch_name : default_arch); ++ as_error (_("64bit mode not supported on `%s'."), ++ cpu_arch_name ? cpu_arch_name : default_arch); ++ return; + } ++ + if (value == CODE_32BIT && !cpu_arch_flags.bitfield.cpui386) + { +- if (check) +- as_error = as_fatal; +- else +- as_error = as_bad; +- (*as_error) (_("32bit mode not supported on `%s'."), +- cpu_arch_name ? cpu_arch_name : default_arch); ++ as_error (_("32bit mode not supported on `%s'."), ++ cpu_arch_name ? cpu_arch_name : default_arch); ++ return; + } ++ ++ flag_code = (enum flag_code) value; ++ + stackop_size = '\0'; + } + +@@ -2605,8 +2703,6 @@ set_16bit_gcc_code_flag (int new_code_fl + flag_code = (enum flag_code) new_code_flag; + if (flag_code != CODE_16BIT) + abort (); +- cpu_arch_flags.bitfield.cpu64 = 0; +- cpu_arch_flags.bitfield.cpuno64 = 1; + stackop_size = LONG_MNEM_SUFFIX; + } + +@@ -2727,13 +2823,41 @@ check_cpu_arch_compatible (const char *n + } + + static void +-extend_cpu_sub_arch_name (const char *name) ++extend_cpu_sub_arch_name (const char *pfx, const char *name) + { + if (cpu_sub_arch_name) + cpu_sub_arch_name = reconcat (cpu_sub_arch_name, cpu_sub_arch_name, +- ".", name, (const char *) NULL); ++ pfx, name, (const char *) NULL); + else +- cpu_sub_arch_name = concat (".", name, (const char *) NULL); ++ cpu_sub_arch_name = concat (pfx, name, (const char *) NULL); ++} ++ ++static void isa_enable (unsigned int idx) ++{ ++ i386_cpu_flags flags = cpu_flags_or (cpu_arch_flags, cpu_arch[idx].enable); ++ ++ if (!cpu_flags_equal (&flags, &cpu_arch_flags)) ++ { ++ extend_cpu_sub_arch_name (".", cpu_arch[idx].name); ++ cpu_arch_flags = flags; ++ } ++ ++ cpu_arch_isa_flags = cpu_flags_or (cpu_arch_isa_flags, cpu_arch[idx].enable); ++} ++ ++static void isa_disable (unsigned int idx) ++{ ++ i386_cpu_flags flags ++ = cpu_flags_and_not (cpu_arch_flags, cpu_arch[idx].disable); ++ ++ if (!cpu_flags_equal (&flags, &cpu_arch_flags)) ++ { ++ extend_cpu_sub_arch_name (".no", cpu_arch[idx].name); ++ cpu_arch_flags = flags; ++ } ++ ++ cpu_arch_isa_flags ++ = cpu_flags_and_not (cpu_arch_isa_flags, cpu_arch[idx].disable); + } + + static void +@@ -2757,7 +2881,6 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED + int e; + const char *string; + unsigned int j = 0; +- i386_cpu_flags flags; + + SKIP_WHITESPACE (); + +@@ -2848,23 +2971,10 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED + free (cpu_sub_arch_name); + cpu_sub_arch_name = NULL; + cpu_arch_flags = cpu_unknown_flags; +- if (flag_code == CODE_64BIT) +- { +- cpu_arch_flags.bitfield.cpu64 = 1; +- cpu_arch_flags.bitfield.cpuno64 = 0; +- } +- else +- { +- cpu_arch_flags.bitfield.cpu64 = 0; +- cpu_arch_flags.bitfield.cpuno64 = 1; +- } + cpu_arch_isa = PROCESSOR_UNKNOWN; + cpu_arch_isa_flags = cpu_arch[flag_code == CODE_64BIT].enable; + if (!cpu_arch_tune_set) +- { +- cpu_arch_tune = cpu_arch_isa; +- cpu_arch_tune_flags = cpu_arch_isa_flags; +- } ++ cpu_arch_tune = PROCESSOR_UNKNOWN; + + vector_size = VSZ_DEFAULT; + +@@ -2881,27 +2991,32 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED + { + check_cpu_arch_compatible (string, cpu_arch[j].enable); + +- cpu_arch_name = cpu_arch[j].name; +- free (cpu_sub_arch_name); +- cpu_sub_arch_name = NULL; +- cpu_arch_flags = cpu_arch[j].enable; +- if (flag_code == CODE_64BIT) ++ if (flag_code == CODE_64BIT && !cpu_arch[j].enable.bitfield.cpu64 ) + { +- cpu_arch_flags.bitfield.cpu64 = 1; +- cpu_arch_flags.bitfield.cpuno64 = 0; ++ as_bad (_("64bit mode not supported on `%s'."), ++ cpu_arch[j].name); ++ (void) restore_line_pointer (e); ++ ignore_rest_of_line (); ++ return; + } +- else ++ ++ if (flag_code == CODE_32BIT && !cpu_arch[j].enable.bitfield.cpui386) + { +- cpu_arch_flags.bitfield.cpu64 = 0; +- cpu_arch_flags.bitfield.cpuno64 = 1; ++ as_bad (_("32bit mode not supported on `%s'."), ++ cpu_arch[j].name); ++ (void) restore_line_pointer (e); ++ ignore_rest_of_line (); ++ return; + } ++ ++ cpu_arch_name = cpu_arch[j].name; ++ free (cpu_sub_arch_name); ++ cpu_sub_arch_name = NULL; ++ cpu_arch_flags = cpu_arch[j].enable; + cpu_arch_isa = cpu_arch[j].type; + cpu_arch_isa_flags = cpu_arch[j].enable; + if (!cpu_arch_tune_set) +- { +- cpu_arch_tune = cpu_arch_isa; +- cpu_arch_tune_flags = cpu_arch_isa_flags; +- } ++ cpu_arch_tune = cpu_arch_isa; + + vector_size = VSZ_DEFAULT; + +@@ -2912,17 +3027,7 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED + if (cpu_flags_all_zero (&cpu_arch[j].enable)) + continue; + +- flags = cpu_flags_or (cpu_arch_flags, cpu_arch[j].enable); +- +- if (!cpu_flags_equal (&flags, &cpu_arch_flags)) +- { +- extend_cpu_sub_arch_name (string + 1); +- cpu_arch_flags = flags; +- cpu_arch_isa_flags = flags; +- } +- else +- cpu_arch_isa_flags +- = cpu_flags_or (cpu_arch_isa_flags, cpu_arch[j].enable); ++ isa_enable (j); + + (void) restore_line_pointer (e); + +@@ -2969,13 +3074,7 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED + if (cpu_arch[j].type == PROCESSOR_NONE + && strcmp (string + 3, cpu_arch[j].name) == 0) + { +- flags = cpu_flags_and_not (cpu_arch_flags, cpu_arch[j].disable); +- if (!cpu_flags_equal (&flags, &cpu_arch_flags)) +- { +- extend_cpu_sub_arch_name (string + 1); +- cpu_arch_flags = flags; +- cpu_arch_isa_flags = flags; +- } ++ isa_disable (j); + + if (cpu_arch[j].vsz == vsz_set) + vector_size = VSZ_DEFAULT; +@@ -3017,8 +3116,7 @@ i386_arch (void) + { + if (cpu_arch_isa == PROCESSOR_IAMCU) + { +- if (OUTPUT_FLAVOR != bfd_target_elf_flavour +- || flag_code == CODE_64BIT) ++ if (!IS_ELF || flag_code == CODE_64BIT) + as_fatal (_("Intel MCU is 32bit ELF only")); + return bfd_arch_iamcu; + } +@@ -3041,7 +3139,7 @@ i386_mach (void) + { + if (cpu_arch_isa == PROCESSOR_IAMCU) + { +- if (OUTPUT_FLAVOR != bfd_target_elf_flavour) ++ if (!IS_ELF) + as_fatal (_("Intel MCU is 32bit ELF only")); + return bfd_mach_i386_iamcu; + } +@@ -3054,6 +3152,20 @@ i386_mach (void) + + #include "opcodes/i386-tbl.h" + ++static void ++op_lookup (const char *mnemonic) ++{ ++ i386_op_off_t *pos = str_hash_find (op_hash, mnemonic); ++ ++ if (pos != NULL) ++ { ++ current_templates.start = &i386_optab[pos[0]]; ++ current_templates.end = &i386_optab[pos[1]]; ++ } ++ else ++ current_templates.end = current_templates.start = NULL; ++} ++ + void + md_begin (void) + { +@@ -3064,16 +3176,12 @@ md_begin (void) + op_hash = str_htab_create (); + + { +- const insn_template *const *sets = i386_op_sets; +- const insn_template *const *end = sets + ARRAY_SIZE (i386_op_sets) - 1; ++ const i386_op_off_t *cur = i386_op_sets; ++ const i386_op_off_t *end = cur + ARRAY_SIZE (i386_op_sets) - 1; + +- /* Type checks to compensate for the conversion through void * which +- occurs during hash table insertion / lookup. */ +- (void) sizeof (sets == ¤t_templates->start); +- (void) sizeof (end == ¤t_templates->end); +- for (; sets < end; ++sets) +- if (str_hash_insert (op_hash, insn_name (*sets), sets, 0)) +- as_fatal (_("duplicate %s"), insn_name (*sets)); ++ for (; cur < end; ++cur) ++ if (str_hash_insert (op_hash, insn_name (&i386_optab[*cur]), cur, 0)) ++ as_fatal (_("duplicate %s"), insn_name (&i386_optab[*cur])); + } + + /* Initialize reg_hash hash table. */ +@@ -3479,15 +3587,15 @@ reloc (unsigned int size, + return NO_RELOC; + } + ++#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) + /* Here we decide which fixups can be adjusted to make them relative to + the beginning of the section instead of the symbol. Basically we need + to make sure that the dynamic relocations are done correctly, so in + some cases we force the original symbol to be used. */ + + int +-tc_i386_fix_adjustable (fixS *fixP ATTRIBUTE_UNUSED) ++tc_i386_fix_adjustable (fixS *fixP) + { +-#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) + if (!IS_ELF) + return 1; + +@@ -3525,22 +3633,25 @@ tc_i386_fix_adjustable (fixS *fixP ATTRI + || fixP->fx_r_type == BFD_RELOC_X86_64_GOTPCREL + || fixP->fx_r_type == BFD_RELOC_X86_64_GOTPCRELX + || fixP->fx_r_type == BFD_RELOC_X86_64_REX_GOTPCRELX ++ || fixP->fx_r_type == BFD_RELOC_X86_64_CODE_4_GOTPCRELX + || fixP->fx_r_type == BFD_RELOC_X86_64_TLSGD + || fixP->fx_r_type == BFD_RELOC_X86_64_TLSLD + || fixP->fx_r_type == BFD_RELOC_X86_64_DTPOFF32 + || fixP->fx_r_type == BFD_RELOC_X86_64_DTPOFF64 + || fixP->fx_r_type == BFD_RELOC_X86_64_GOTTPOFF ++ || fixP->fx_r_type == BFD_RELOC_X86_64_CODE_4_GOTTPOFF + || fixP->fx_r_type == BFD_RELOC_X86_64_TPOFF32 + || fixP->fx_r_type == BFD_RELOC_X86_64_TPOFF64 + || fixP->fx_r_type == BFD_RELOC_X86_64_GOTOFF64 + || fixP->fx_r_type == BFD_RELOC_X86_64_GOTPC32_TLSDESC ++ || fixP->fx_r_type == BFD_RELOC_X86_64_CODE_4_GOTPC32_TLSDESC + || fixP->fx_r_type == BFD_RELOC_X86_64_TLSDESC_CALL + || fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT + || fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY) + return 0; +-#endif + return 1; + } ++#endif + + static INLINE bool + want_disp32 (const insn_template *t) +@@ -3612,6 +3723,44 @@ install_template (const insn_template *t + + i.tm = *t; + ++ /* Dual VEX/EVEX templates need stripping one of the possible variants. */ ++ if (t->opcode_modifier.vex && t->opcode_modifier.evex) ++ { ++ if ((maybe_cpu (t, CpuAVX) || maybe_cpu (t, CpuAVX2) ++ || maybe_cpu (t, CpuFMA)) ++ && (maybe_cpu (t, CpuAVX512F) || maybe_cpu (t, CpuAVX512VL))) ++ { ++ if (need_evex_encoding (t)) ++ { ++ i.tm.opcode_modifier.vex = 0; ++ i.tm.cpu.bitfield.cpuavx512f = i.tm.cpu_any.bitfield.cpuavx512f; ++ i.tm.cpu.bitfield.cpuavx512vl = i.tm.cpu_any.bitfield.cpuavx512vl; ++ } ++ else ++ { ++ i.tm.opcode_modifier.evex = 0; ++ if (i.tm.cpu_any.bitfield.cpuavx) ++ i.tm.cpu.bitfield.cpuavx = 1; ++ else if (!i.tm.cpu.bitfield.isa) ++ i.tm.cpu.bitfield.isa = i.tm.cpu_any.bitfield.isa; ++ else ++ gas_assert (i.tm.cpu.bitfield.isa == i.tm.cpu_any.bitfield.isa); ++ } ++ } ++ ++ if ((maybe_cpu (t, CpuCMPCCXADD) || maybe_cpu (t, CpuAMX_TILE) ++ || maybe_cpu (t, CpuAVX512F) || maybe_cpu (t, CpuAVX512DQ) ++ || maybe_cpu (t, CpuAVX512BW) || maybe_cpu (t, CpuBMI) ++ || maybe_cpu (t, CpuBMI2)) ++ && maybe_cpu (t, CpuAPX_F)) ++ { ++ if (need_evex_encoding (t)) ++ i.tm.opcode_modifier.vex = 0; ++ else ++ i.tm.opcode_modifier.evex = 0; ++ } ++ } ++ + /* Note that for pseudo prefixes this produces a length of 1. But for them + the length isn't interesting at all. */ + for (l = 1; l < 4; ++l) +@@ -3676,6 +3825,8 @@ build_vex_prefix (const insn_template *t + && i.reg_operands == i.operands - i.imm_operands + && i.tm.opcode_modifier.vex + && i.tm.opcode_modifier.commutative ++ /* .commutative aliases .staticrounding; disambiguate. */ ++ && !i.tm.opcode_modifier.sae + && (i.tm.opcode_modifier.sse2avx + || (optimize > 1 && !i.no_optimize)) + && i.rex == REX_B +@@ -3760,6 +3911,7 @@ build_vex_prefix (const insn_template *t + case SPACE_0F: + case SPACE_0F38: + case SPACE_0F3A: ++ case SPACE_VEXMAP7: + i.vex.bytes[0] = 0xc4; + break; + case SPACE_XOP08: +@@ -3785,17 +3937,25 @@ build_vex_prefix (const insn_template *t + } + + static INLINE bool +-is_evex_encoding (const insn_template *t) ++is_any_vex_encoding (const insn_template *t) ++{ ++ return t->opcode_modifier.vex || t->opcode_modifier.evex; ++} ++ ++/* We can use this function only when the current encoding is evex. */ ++static INLINE bool ++is_apx_evex_encoding (void) + { +- return t->opcode_modifier.evex || t->opcode_modifier.disp8memshift +- || t->opcode_modifier.broadcast || t->opcode_modifier.masking +- || t->opcode_modifier.sae; ++ return i.rex2 || i.tm.opcode_space == SPACE_EVEXMAP4 ++ || (i.vex.register_specifier ++ && (i.vex.register_specifier->reg_flags & RegRex2)); + } + + static INLINE bool +-is_any_vex_encoding (const insn_template *t) ++is_apx_rex2_encoding (void) + { +- return t->opcode_modifier.vex || is_evex_encoding (t); ++ return i.rex2 || i.rex2_encoding ++ || i.tm.opcode_modifier.rex2; + } + + static unsigned int +@@ -3815,8 +3975,7 @@ get_broadcast_bytes (const insn_template + + gas_assert (op < t->operands); + +- if (t->opcode_modifier.evex +- && t->opcode_modifier.evex != EVEXDYN) ++ if (t->opcode_modifier.evex != EVEXDYN) + switch (i.broadcast.bytes) + { + case 1: +@@ -3964,8 +4123,7 @@ build_evex_prefix (void) + /* Encode the vector length. */ + unsigned int vec_length; + +- if (!i.tm.opcode_modifier.evex +- || i.tm.opcode_modifier.evex == EVEXDYN) ++ if (i.tm.opcode_modifier.evex == EVEXDYN) + { + unsigned int op; + +@@ -4055,6 +4213,126 @@ build_evex_prefix (void) + i.vex.bytes[3] |= i.mask.reg->reg_num; + } + ++/* Build (2 bytes) rex2 prefix. ++ | D5h | ++ | m | R4 X4 B4 | W R X B | ++ ++ Rex2 reuses i.vex as they both encode i.tm.opcode_space in their prefixes. ++ */ ++static void ++build_rex2_prefix (void) ++{ ++ i.vex.length = 2; ++ i.vex.bytes[0] = 0xd5; ++ /* For the W R X B bits, the variables of rex prefix will be reused. */ ++ i.vex.bytes[1] = ((i.tm.opcode_space << 7) ++ | (i.rex2 << 4) | i.rex); ++} ++ ++/* Build the EVEX prefix (4-byte) for evex insn ++ | 62h | ++ | `R`X`B`R' | B'mmm | ++ | W | v`v`v`v | `x' | pp | ++ | z| L'L | b | `v | aaa | ++*/ ++static void ++build_apx_evex_prefix (void) ++{ ++ build_evex_prefix (); ++ if (i.rex2 & REX_R) ++ i.vex.bytes[1] &= ~0x10; ++ if (i.rex2 & REX_B) ++ i.vex.bytes[1] |= 0x08; ++ if (i.rex2 & REX_X) ++ i.vex.bytes[2] &= ~0x04; ++ if (i.vex.register_specifier ++ && i.vex.register_specifier->reg_flags & RegRex2) ++ i.vex.bytes[3] &= ~0x08; ++ ++ /* Encode the NDD bit of the instruction promoted from the legacy ++ space. */ ++ if (i.vex.register_specifier && i.tm.opcode_space == SPACE_EVEXMAP4) ++ i.vex.bytes[3] |= 0x10; ++} ++ ++static void establish_rex (void) ++{ ++ /* Note that legacy encodings have at most 2 non-immediate operands. */ ++ unsigned int first = i.imm_operands; ++ unsigned int last = i.operands > first ? i.operands - first - 1 : first; ++ ++ /* Respect a user-specified REX prefix. */ ++ i.rex |= i.prefix[REX_PREFIX] & REX_OPCODE; ++ ++ /* For 8 bit registers we need an empty rex prefix. Also if the ++ instruction already has a prefix, we need to convert old ++ registers to new ones. */ ++ ++ if ((i.types[first].bitfield.class == Reg && i.types[first].bitfield.byte ++ && ((i.op[first].regs->reg_flags & RegRex64) != 0 || i.rex != 0 ++ || i.rex2 != 0)) ++ || (i.types[last].bitfield.class == Reg && i.types[last].bitfield.byte ++ && ((i.op[last].regs->reg_flags & RegRex64) != 0 || i.rex != 0 ++ || i.rex2 != 0))) ++ { ++ unsigned int x; ++ ++ if (!is_apx_rex2_encoding () && !is_any_vex_encoding(&i.tm)) ++ i.rex |= REX_OPCODE; ++ for (x = first; x <= last; x++) ++ { ++ /* Look for 8 bit operand that uses old registers. */ ++ if (i.types[x].bitfield.class == Reg && i.types[x].bitfield.byte ++ && (i.op[x].regs->reg_flags & RegRex64) == 0) ++ { ++ gas_assert (!(i.op[x].regs->reg_flags & RegRex)); ++ /* In case it is "hi" register, give up. */ ++ if (i.op[x].regs->reg_num > 3) ++ as_bad (_("can't encode register '%s%s' in an " ++ "instruction requiring REX/REX2 prefix"), ++ register_prefix, i.op[x].regs->reg_name); ++ ++ /* Otherwise it is equivalent to the extended register. ++ Since the encoding doesn't change this is merely ++ cosmetic cleanup for debug output. */ ++ i.op[x].regs += 8; ++ } ++ } ++ } ++ ++ if (i.rex == 0 && i.rex2 == 0 && (i.rex_encoding || i.rex2_encoding)) ++ { ++ /* Check if we can add a REX_OPCODE byte. Look for 8 bit operand ++ that uses legacy register. If it is "hi" register, don't add ++ rex and rex2 prefix. */ ++ unsigned int x; ++ ++ for (x = first; x <= last; x++) ++ if (i.types[x].bitfield.class == Reg ++ && i.types[x].bitfield.byte ++ && (i.op[x].regs->reg_flags & RegRex64) == 0 ++ && i.op[x].regs->reg_num > 3) ++ { ++ gas_assert (!(i.op[x].regs->reg_flags & RegRex)); ++ i.rex_encoding = false; ++ i.rex2_encoding = false; ++ break; ++ } ++ ++ if (i.rex_encoding) ++ i.rex = REX_OPCODE; ++ } ++ ++ if (is_apx_rex2_encoding ()) ++ { ++ build_rex2_prefix (); ++ /* The individual REX.RXBW bits got consumed. */ ++ i.rex &= REX_OPCODE; ++ } ++ else if (i.rex != 0) ++ add_prefix (REX_OPCODE | i.rex); ++} ++ + static void + process_immext (void) + { +@@ -4318,14 +4596,22 @@ optimize_encoding (void) + i.types[1].bitfield.byte = 1; + /* Ignore the suffix. */ + i.suffix = 0; +- /* Convert to byte registers. */ ++ /* Convert to byte registers. 8-bit registers are special, ++ RegRex64 and non-RegRex64 each have 8 registers. */ + if (i.types[1].bitfield.word) +- j = 16; +- else if (i.types[1].bitfield.dword) ++ /* 32 (or 40) 8-bit registers. */ + j = 32; ++ else if (i.types[1].bitfield.dword) ++ /* 32 (or 40) 8-bit registers + 32 16-bit registers. */ ++ j = 64; + else +- j = 48; +- if (!(i.op[1].regs->reg_flags & RegRex) && base_regnum < 4) ++ /* 32 (or 40) 8-bit registers + 32 16-bit registers ++ + 32 32-bit registers. */ ++ j = 96; ++ ++ /* In 64-bit mode, the following byte registers cannot be accessed ++ if using the Rex and Rex2 prefix: AH, BH, CH, DH */ ++ if (!(i.op[1].regs->reg_flags & (RegRex | RegRex2)) && base_regnum < 4) + j += 8; + i.op[1].regs -= j; + } +@@ -4463,10 +4749,10 @@ optimize_encoding (void) + && !i.types[2].bitfield.xmmword + && (i.tm.opcode_modifier.vex + || ((!i.mask.reg || i.mask.zeroing) +- && is_evex_encoding (&i.tm) ++ && i.tm.opcode_modifier.evex + && (i.vec_encoding != vex_encoding_evex + || cpu_arch_isa_flags.bitfield.cpuavx512vl +- || i.tm.cpu_flags.bitfield.cpuavx512vl ++ || is_cpu (&i.tm, CpuAVX512VL) + || (i.tm.operand_types[2].bitfield.zmmword + && i.types[2].bitfield.ymmword)))) + && i.tm.opcode_space == SPACE_0F +@@ -4512,13 +4798,15 @@ optimize_encoding (void) + VEX VOP %kM, %kM, %kN + -> VEX kandnw %kM, %kM, %kN + */ +- if (is_evex_encoding (&i.tm)) ++ if (i.tm.opcode_modifier.evex) + { + if (i.vec_encoding != vex_encoding_evex) + { + i.tm.opcode_modifier.vex = VEX128; + i.tm.opcode_modifier.vexw = VEXW0; + i.tm.opcode_modifier.evex = 0; ++ i.vec_encoding = vex_encoding_vex; ++ i.mask.reg = NULL; + } + else if (optimize > 1) + i.tm.opcode_modifier.evex = EVEX128; +@@ -4546,7 +4834,7 @@ optimize_encoding (void) + && !i.mask.reg + && !i.broadcast.type + && !i.broadcast.bytes +- && is_evex_encoding (&i.tm) ++ && i.tm.opcode_modifier.evex + && ((i.tm.base_opcode & ~Opcode_SIMD_IntD) == 0x6f + || (i.tm.base_opcode & ~4) == 0xdb + || (i.tm.base_opcode & ~4) == 0xeb) +@@ -4618,6 +4906,90 @@ optimize_encoding (void) + i.types[j].bitfield.disp8 + = fits_in_disp8 (i.op[j].disps->X_add_number); + } ++ else if (optimize_for_space ++ && i.tm.base_opcode == 0x29 ++ && i.tm.opcode_space == SPACE_0F38 ++ && i.operands == i.reg_operands ++ && i.op[0].regs == i.op[1].regs ++ && (!i.tm.opcode_modifier.vex ++ || !(i.op[0].regs->reg_flags & RegRex)) ++ && !i.tm.opcode_modifier.evex) ++ { ++ /* Optimize: -Os: ++ pcmpeqq %xmmN, %xmmN -> pcmpeqd %xmmN, %xmmN ++ vpcmpeqq %xmmN, %xmmN, %xmmM -> vpcmpeqd %xmmN, %xmmN, %xmmM (N < 8) ++ vpcmpeqq %ymmN, %ymmN, %ymmM -> vpcmpeqd %ymmN, %ymmN, %ymmM (N < 8) ++ */ ++ i.tm.opcode_space = SPACE_0F; ++ i.tm.base_opcode = 0x76; ++ } ++ else if (((i.tm.base_opcode >= 0x64 ++ && i.tm.base_opcode <= 0x66 ++ && i.tm.opcode_space == SPACE_0F) ++ || (i.tm.base_opcode == 0x37 ++ && i.tm.opcode_space == SPACE_0F38)) ++ && i.operands == i.reg_operands ++ && i.op[0].regs == i.op[1].regs ++ && !i.tm.opcode_modifier.evex) ++ { ++ /* Optimize: -O: ++ pcmpgt[bwd] %mmN, %mmN -> pxor %mmN, %mmN ++ pcmpgt[bwdq] %xmmN, %xmmN -> pxor %xmmN, %xmmN ++ vpcmpgt[bwdq] %xmmN, %xmmN, %xmmM -> vpxor %xmmN, %xmmN, %xmmM (N < 8) ++ vpcmpgt[bwdq] %xmmN, %xmmN, %xmmM -> vpxor %xmm0, %xmm0, %xmmM (N > 7) ++ vpcmpgt[bwdq] %ymmN, %ymmN, %ymmM -> vpxor %ymmN, %ymmN, %ymmM (N < 8) ++ vpcmpgt[bwdq] %ymmN, %ymmN, %ymmM -> vpxor %ymm0, %ymm0, %ymmM (N > 7) ++ */ ++ i.tm.opcode_space = SPACE_0F; ++ i.tm.base_opcode = 0xef; ++ if (i.tm.opcode_modifier.vex && (i.op[0].regs->reg_flags & RegRex)) ++ { ++ if (i.operands == 2) ++ { ++ gas_assert (i.tm.opcode_modifier.sse2avx); ++ ++ i.operands = 3; ++ i.reg_operands = 3; ++ i.tm.operands = 3; ++ ++ i.op[2].regs = i.op[0].regs; ++ i.types[2] = i.types[0]; ++ i.flags[2] = i.flags[0]; ++ i.tm.operand_types[2] = i.tm.operand_types[0]; ++ ++ i.tm.opcode_modifier.sse2avx = 0; ++ } ++ i.op[0].regs -= i.op[0].regs->reg_num + 8; ++ i.op[1].regs = i.op[0].regs; ++ } ++ } ++ else if (optimize_for_space ++ && i.tm.base_opcode == 0x59 ++ && i.tm.opcode_space == SPACE_0F38 ++ && i.operands == i.reg_operands ++ && i.tm.opcode_modifier.vex ++ && !(i.op[0].regs->reg_flags & RegRex) ++ && i.op[0].regs->reg_type.bitfield.xmmword ++ && i.vec_encoding != vex_encoding_vex3) ++ { ++ /* Optimize: -Os: ++ vpbroadcastq %xmmN, %xmmM -> vpunpcklqdq %xmmN, %xmmN, %xmmM (N < 8) ++ */ ++ i.tm.opcode_space = SPACE_0F; ++ i.tm.base_opcode = 0x6c; ++ i.tm.opcode_modifier.vexvvvv = 1; ++ ++ ++i.operands; ++ ++i.reg_operands; ++ ++i.tm.operands; ++ ++ i.op[2].regs = i.op[0].regs; ++ i.types[2] = i.types[0]; ++ i.flags[2] = i.flags[0]; ++ i.tm.operand_types[2] = i.tm.operand_types[0]; ++ ++ swap_2_operands (1, 2); ++ } + } + + /* Return non-zero for load instruction. */ +@@ -4811,7 +5183,7 @@ insert_lfence_after (void) + /* Output lfence, 0xfaee8, before instruction. */ + + static void +-insert_lfence_before (void) ++insert_lfence_before (const struct last_insn *last_insn) + { + char *p; + +@@ -4847,12 +5219,11 @@ insert_lfence_before (void) + else + return; + +- if (last_insn.kind != last_insn_other +- && last_insn.seg == now_seg) ++ if (last_insn->kind != last_insn_other) + { +- as_warn_where (last_insn.file, last_insn.line, ++ as_warn_where (last_insn->file, last_insn->line, + _("`%s` skips -mlfence-before-indirect-branch on `%s`"), +- last_insn.name, insn_name (&i.tm)); ++ last_insn->name, insn_name (&i.tm)); + return; + } + +@@ -4867,12 +5238,11 @@ insert_lfence_before (void) + if (lfence_before_ret != lfence_before_ret_none + && (i.tm.base_opcode | 1) == 0xc3) + { +- if (last_insn.kind != last_insn_other +- && last_insn.seg == now_seg) ++ if (last_insn->kind != last_insn_other) + { +- as_warn_where (last_insn.file, last_insn.line, ++ as_warn_where (last_insn->file, last_insn->line, + _("`%s` skips -mlfence-before-ret on `%s`"), +- last_insn.name, insn_name (&i.tm)); ++ last_insn->name, insn_name (&i.tm)); + return; + } + +@@ -4969,12 +5339,19 @@ md_assemble (char *line) + const char *end, *pass1_mnem = NULL; + enum i386_error pass1_err = 0; + const insn_template *t; ++ struct last_insn *last_insn ++ = &seg_info(now_seg)->tc_segment_info_data.last_insn; + + /* Initialize globals. */ +- current_templates = NULL; ++ current_templates.end = current_templates.start = NULL; + retry: + init_globals (); + ++ /* Suppress optimization when the last thing we saw may not have been ++ a proper instruction (e.g. a stand-alone prefix or .byte). */ ++ if (last_insn->kind != last_insn_other) ++ i.no_optimize = true; ++ + /* First parse an instruction mnemonic & call i386_operand for the operands. + We assume that the scrubber has arranged it so that line[0] is the valid + start of a (possibly prefixed) mnemonic. */ +@@ -4986,8 +5363,8 @@ md_assemble (char *line) + goto match_error; + if (i.error != no_error) + { +- gas_assert (current_templates != NULL); +- if (may_need_pass2 (current_templates->start) && !i.suffix) ++ gas_assert (current_templates.start != NULL); ++ if (may_need_pass2 (current_templates.start) && !i.suffix) + goto no_match; + /* No point in trying a 2nd pass - it'll only find the same suffix + again. */ +@@ -4996,7 +5373,7 @@ md_assemble (char *line) + } + return; + } +- t = current_templates->start; ++ t = current_templates.start; + if (may_need_pass2 (t)) + { + /* Make a copy of the full line in case we need to retry. */ +@@ -5037,14 +5414,34 @@ md_assemble (char *line) + && operand_type_check (i.types[1], imm))) + swap_operands (); + +- /* The order of the immediates should be reversed +- for 2 immediates extrq and insertq instructions */ +- if (i.imm_operands == 2 +- && (t->mnem_off == MN_extrq || t->mnem_off == MN_insertq)) ++ /* The order of the immediates should be reversed for 2-immediates EXTRQ ++ and INSERTQ instructions. Also UWRMSR wants its immediate to be in the ++ "canonical" place (first), despite it appearing last (in AT&T syntax, or ++ because of the swapping above) in the incoming set of operands. */ ++ if ((i.imm_operands == 2 ++ && (t->mnem_off == MN_extrq || t->mnem_off == MN_insertq)) ++ || (t->mnem_off == MN_uwrmsr && i.imm_operands ++ && i.operands > i.imm_operands)) + swap_2_operands (0, 1); + + if (i.imm_operands) +- optimize_imm (); ++ { ++ /* For USER_MSR instructions, imm32 stands for the name of an model specific ++ register (MSR). That's an unsigned quantity, whereas all other insns with ++ 32-bit immediate and 64-bit operand size use sign-extended ++ immediates (imm32s). Therefore these insns are special-cased, bypassing ++ the normal handling of immediates here. */ ++ if (is_cpu(current_templates.start, CpuUSER_MSR)) ++ { ++ for (j = 0; j < i.operands; j++) ++ { ++ if (operand_type_check(i.types[j], imm)) ++ i.types[j] = smallest_imm_type (i.op[j].imms->X_add_number); ++ } ++ } ++ else ++ optimize_imm (); ++ } + + if (i.disp_operands && !optimize_disp (t)) + return; +@@ -5063,7 +5460,7 @@ md_assemble (char *line) + copy = NULL; + no_match: + pass1_err = i.error; +- pass1_mnem = insn_name (current_templates->start); ++ pass1_mnem = insn_name (current_templates.start); + goto retry; + } + +@@ -5104,13 +5501,16 @@ md_assemble (char *line) + case unsupported_syntax: + err_msg = _("unsupported syntax"); + break; ++ case unsupported_EGPR_for_addressing: ++ err_msg = _("extended GPR cannot be used as base/index"); ++ break; + case unsupported: + as_bad (_("unsupported instruction `%s'"), +- pass1_mnem ? pass1_mnem : insn_name (current_templates->start)); ++ pass1_mnem ? pass1_mnem : insn_name (current_templates.start)); + return; + case unsupported_on_arch: + as_bad (_("`%s' is not supported on `%s%s'"), +- pass1_mnem ? pass1_mnem : insn_name (current_templates->start), ++ pass1_mnem ? pass1_mnem : insn_name (current_templates.start), + cpu_arch_name ? cpu_arch_name : default_arch, + cpu_sub_arch_name ? cpu_sub_arch_name : ""); + return; +@@ -5119,23 +5519,29 @@ md_assemble (char *line) + { + if (flag_code == CODE_64BIT) + as_bad (_("`%s%c' is not supported in 64-bit mode"), +- pass1_mnem ? pass1_mnem : insn_name (current_templates->start), ++ pass1_mnem ? pass1_mnem : insn_name (current_templates.start), + mnem_suffix); + else + as_bad (_("`%s%c' is only supported in 64-bit mode"), +- pass1_mnem ? pass1_mnem : insn_name (current_templates->start), ++ pass1_mnem ? pass1_mnem : insn_name (current_templates.start), + mnem_suffix); + } + else + { + if (flag_code == CODE_64BIT) + as_bad (_("`%s' is not supported in 64-bit mode"), +- pass1_mnem ? pass1_mnem : insn_name (current_templates->start)); ++ pass1_mnem ? pass1_mnem : insn_name (current_templates.start)); + else + as_bad (_("`%s' is only supported in 64-bit mode"), +- pass1_mnem ? pass1_mnem : insn_name (current_templates->start)); ++ pass1_mnem ? pass1_mnem : insn_name (current_templates.start)); + } + return; ++ case no_vex_encoding: ++ err_msg = _("no VEX/XOP encoding"); ++ break; ++ case no_evex_encoding: ++ err_msg = _("no EVEX encoding"); ++ break; + case invalid_sib_address: + err_msg = _("invalid SIB address"); + break; +@@ -5151,6 +5557,12 @@ md_assemble (char *line) + case invalid_dest_and_src_register_set: + err_msg = _("destination and source registers must be distinct"); + break; ++ case invalid_dest_register_set: ++ err_msg = _("two dest registers must be distinct"); ++ break; ++ case invalid_pseudo_prefix: ++ err_msg = _("rex2 pseudo prefix cannot be used"); ++ break; + case unsupported_vector_index_register: + err_msg = _("unsupported vector index register"); + break; +@@ -5172,12 +5584,19 @@ md_assemble (char *line) + case unsupported_rc_sae: + err_msg = _("unsupported static rounding/sae"); + break; +- case invalid_register_operand: +- err_msg = _("invalid register operand"); ++ case unsupported_vector_size: ++ as_bad (_("vector size above %u required for `%s'"), 128u << vector_size, ++ pass1_mnem ? pass1_mnem : insn_name (current_templates.start)); ++ return; ++ case unsupported_rsp_register: ++ err_msg = _("'rsp' register cannot be used"); ++ break; ++ case internal_error: ++ err_msg = _("internal error"); + break; + } + as_bad (_("%s for `%s'"), err_msg, +- pass1_mnem ? pass1_mnem : insn_name (current_templates->start)); ++ pass1_mnem ? pass1_mnem : insn_name (current_templates.start)); + return; + } + +@@ -5188,7 +5607,7 @@ md_assemble (char *line) + bypass the logic below when easily possible. */ + && t->opcode_space >= SPACE_0F + && t->opcode_space <= SPACE_0F3A +- && !i.tm.cpu_flags.bitfield.cpusse4a ++ && !is_cpu (&i.tm, CpuSSE4a) + && !is_any_vex_encoding (t)) + { + bool simd = false; +@@ -5255,6 +5674,7 @@ md_assemble (char *line) + case BFD_RELOC_386_TLS_GOTIE: + case BFD_RELOC_386_TLS_LE_32: + case BFD_RELOC_X86_64_GOTTPOFF: ++ case BFD_RELOC_X86_64_CODE_4_GOTTPOFF: + case BFD_RELOC_X86_64_TLSLD: + as_bad (_("TLS relocation cannot be used with `%s'"), insn_name (&i.tm)); + return; +@@ -5275,7 +5695,7 @@ md_assemble (char *line) + if (i.notrack_prefix && i.tm.opcode_modifier.prefixok != PrefixNoTrack) + as_bad (_("expecting indirect branch instruction after `notrack'")); + +- if (i.tm.cpu_flags.bitfield.cpumpx) ++ if (is_cpu (&i.tm, CpuMPX)) + { + if (flag_code == CODE_64BIT && i.prefix[ADDR_PREFIX]) + as_bad (_("32-bit address isn't allowed in 64-bit MPX instructions.")); +@@ -5320,6 +5740,11 @@ md_assemble (char *line) + if (optimize && !i.no_optimize && i.tm.opcode_modifier.optimize) + optimize_encoding (); + ++ /* Past optimization there's no need to distinguish vex_encoding_evex and ++ vex_encoding_evex512 anymore. */ ++ if (i.vec_encoding == vex_encoding_evex512) ++ i.vec_encoding = vex_encoding_evex; ++ + if (use_unaligned_vector_move) + encode_with_unaligned_vector_move (); + +@@ -5327,7 +5752,7 @@ md_assemble (char *line) + return; + + /* Check if IP-relative addressing requirements can be satisfied. */ +- if (i.tm.cpu_flags.bitfield.cpuprefetchi ++ if (is_cpu (&i.tm, CpuPREFETCHI) + && !(i.base_reg && i.base_reg->reg_num == RegIP)) + as_warn (_("'%s' only supports RIP-relative address"), insn_name (&i.tm)); + +@@ -5349,6 +5774,7 @@ md_assemble (char *line) + if (i.tm.operand_types[j].bitfield.tmmword) + i.xstate |= xstate_tmm; + else if (i.tm.operand_types[j].bitfield.zmmword ++ && !i.tm.opcode_modifier.vex + && vector_size >= VSZ512) + i.xstate |= xstate_zmm; + else if (i.tm.operand_types[j].bitfield.ymmword +@@ -5396,13 +5822,25 @@ md_assemble (char *line) + return; + } + +- if (i.tm.opcode_modifier.vex) ++ /* Check for explicit REX2 prefix. */ ++ if (i.rex2_encoding) ++ { ++ as_bad (_("{rex2} prefix invalid with `%s'"), insn_name (&i.tm)); ++ return; ++ } ++ ++ if (is_apx_evex_encoding ()) ++ build_apx_evex_prefix (); ++ else if (i.tm.opcode_modifier.vex) + build_vex_prefix (t); + else + build_evex_prefix (); + + /* The individual REX.RXBW bits got consumed. */ + i.rex &= REX_OPCODE; ++ ++ /* The rex2 bits got consumed. */ ++ i.rex2 = 0; + } + + /* Handle conversion of 'int $3' --> special int3 insn. */ +@@ -5425,84 +5863,23 @@ md_assemble (char *line) + i.op[0].disps->X_op = O_symbol; + } + +- /* For 8 bit registers we need an empty rex prefix. Also if the +- instruction already has a prefix, we need to convert old +- registers to new ones. */ +- +- if ((i.types[0].bitfield.class == Reg && i.types[0].bitfield.byte +- && (i.op[0].regs->reg_flags & RegRex64) != 0) +- || (i.types[1].bitfield.class == Reg && i.types[1].bitfield.byte +- && (i.op[1].regs->reg_flags & RegRex64) != 0) +- || (((i.types[0].bitfield.class == Reg && i.types[0].bitfield.byte) +- || (i.types[1].bitfield.class == Reg && i.types[1].bitfield.byte)) +- && i.rex != 0)) +- { +- int x; +- +- i.rex |= REX_OPCODE; +- for (x = 0; x < 2; x++) +- { +- /* Look for 8 bit operand that uses old registers. */ +- if (i.types[x].bitfield.class == Reg && i.types[x].bitfield.byte +- && (i.op[x].regs->reg_flags & RegRex64) == 0) +- { +- gas_assert (!(i.op[x].regs->reg_flags & RegRex)); +- /* In case it is "hi" register, give up. */ +- if (i.op[x].regs->reg_num > 3) +- as_bad (_("can't encode register '%s%s' in an " +- "instruction requiring REX prefix."), +- register_prefix, i.op[x].regs->reg_name); +- +- /* Otherwise it is equivalent to the extended register. +- Since the encoding doesn't change this is merely +- cosmetic cleanup for debug output. */ +- +- i.op[x].regs = i.op[x].regs + 8; +- } +- } +- } +- +- if (i.rex == 0 && i.rex_encoding) +- { +- /* Check if we can add a REX_OPCODE byte. Look for 8 bit operand +- that uses legacy register. If it is "hi" register, don't add +- the REX_OPCODE byte. */ +- int x; +- for (x = 0; x < 2; x++) +- if (i.types[x].bitfield.class == Reg +- && i.types[x].bitfield.byte +- && (i.op[x].regs->reg_flags & RegRex64) == 0 +- && i.op[x].regs->reg_num > 3) +- { +- gas_assert (!(i.op[x].regs->reg_flags & RegRex)); +- i.rex_encoding = false; +- break; +- } +- +- if (i.rex_encoding) +- i.rex = REX_OPCODE; +- } +- +- if (i.rex != 0) +- add_prefix (REX_OPCODE | i.rex); ++ establish_rex (); + +- insert_lfence_before (); ++ insert_lfence_before (last_insn); + + /* We are ready to output the insn. */ +- output_insn (); ++ output_insn (last_insn); + + insert_lfence_after (); + +- last_insn.seg = now_seg; +- + if (i.tm.opcode_modifier.isprefix) + { +- last_insn.kind = last_insn_prefix; +- last_insn.name = insn_name (&i.tm); +- last_insn.file = as_where (&last_insn.line); ++ last_insn->kind = last_insn_prefix; ++ last_insn->name = insn_name (&i.tm); ++ last_insn->file = as_where (&last_insn->line); + } + else +- last_insn.kind = last_insn_other; ++ last_insn->kind = last_insn_other; + } + + /* The Q suffix is generally valid only in 64-bit mode, with very few +@@ -5524,7 +5901,7 @@ parse_insn (const char *line, char *mnem + { + const char *l = line, *token_start = l; + char *mnem_p; +- bool pass1 = !current_templates; ++ bool pass1 = !current_templates.start; + int supported; + const insn_template *t; + char *dot_p = NULL; +@@ -5585,38 +5962,47 @@ parse_insn (const char *line, char *mnem + } + + /* Look up instruction (or prefix) via hash table. */ +- current_templates = (const templates *) str_hash_find (op_hash, mnemonic); ++ op_lookup (mnemonic); + + if (*l != END_OF_INSN + && (!is_space_char (*l) || l[1] != END_OF_INSN) +- && current_templates +- && current_templates->start->opcode_modifier.isprefix) ++ && current_templates.start ++ && current_templates.start->opcode_modifier.isprefix) + { +- if (!cpu_flags_check_cpu64 (current_templates->start->cpu_flags)) ++ supported = cpu_flags_match (current_templates.start); ++ if (!(supported & CPU_FLAGS_64BIT_MATCH)) + { + as_bad ((flag_code != CODE_64BIT + ? _("`%s' is only supported in 64-bit mode") + : _("`%s' is not supported in 64-bit mode")), +- insn_name (current_templates->start)); ++ insn_name (current_templates.start)); ++ return NULL; ++ } ++ if (supported != CPU_FLAGS_PERFECT_MATCH) ++ { ++ as_bad (_("`%s' is not supported on `%s%s'"), ++ insn_name (current_templates.start), ++ cpu_arch_name ? cpu_arch_name : default_arch, ++ cpu_sub_arch_name ? cpu_sub_arch_name : ""); + return NULL; + } + /* If we are in 16-bit mode, do not allow addr16 or data16. + Similarly, in 32-bit mode, do not allow addr32 or data32. */ +- if ((current_templates->start->opcode_modifier.size == SIZE16 +- || current_templates->start->opcode_modifier.size == SIZE32) ++ if ((current_templates.start->opcode_modifier.size == SIZE16 ++ || current_templates.start->opcode_modifier.size == SIZE32) + && flag_code != CODE_64BIT +- && ((current_templates->start->opcode_modifier.size == SIZE32) ++ && ((current_templates.start->opcode_modifier.size == SIZE32) + ^ (flag_code == CODE_16BIT))) + { + as_bad (_("redundant %s prefix"), +- insn_name (current_templates->start)); ++ insn_name (current_templates.start)); + return NULL; + } + +- if (current_templates->start->base_opcode == PSEUDO_PREFIX) ++ if (current_templates.start->base_opcode == PSEUDO_PREFIX) + { + /* Handle pseudo prefixes. */ +- switch (current_templates->start->extension_opcode) ++ switch (current_templates.start->extension_opcode) + { + case Prefix_Disp8: + /* {disp8} */ +@@ -5654,6 +6040,10 @@ parse_insn (const char *line, char *mnem + /* {rex} */ + i.rex_encoding = true; + break; ++ case Prefix_REX2: ++ /* {rex2} */ ++ i.rex2_encoding = true; ++ break; + case Prefix_NoOptimize: + /* {nooptimize} */ + i.no_optimize = true; +@@ -5665,21 +6055,21 @@ parse_insn (const char *line, char *mnem + else + { + /* Add prefix, checking for repeated prefixes. */ +- switch (add_prefix (current_templates->start->base_opcode)) ++ switch (add_prefix (current_templates.start->base_opcode)) + { + case PREFIX_EXIST: + return NULL; + case PREFIX_DS: +- if (current_templates->start->cpu_flags.bitfield.cpuibt) +- i.notrack_prefix = insn_name (current_templates->start); ++ if (is_cpu (current_templates.start, CpuIBT)) ++ i.notrack_prefix = insn_name (current_templates.start); + break; + case PREFIX_REP: +- if (current_templates->start->cpu_flags.bitfield.cpuhle) +- i.hle_prefix = insn_name (current_templates->start); +- else if (current_templates->start->cpu_flags.bitfield.cpumpx) +- i.bnd_prefix = insn_name (current_templates->start); ++ if (is_cpu (current_templates.start, CpuHLE)) ++ i.hle_prefix = insn_name (current_templates.start); ++ else if (is_cpu (current_templates.start, CpuMPX)) ++ i.bnd_prefix = insn_name (current_templates.start); + else +- i.rep_prefix = insn_name (current_templates->start); ++ i.rep_prefix = insn_name (current_templates.start); + break; + default: + break; +@@ -5695,32 +6085,48 @@ parse_insn (const char *line, char *mnem + if (prefix_only) + return token_start; + +- if (!current_templates) ++ if (!current_templates.start) + { + /* Deprecated functionality (new code should use pseudo-prefixes instead): + Check if we should swap operand or force 32bit displacement in + encoding. */ + if (mnem_p - 2 == dot_p && dot_p[1] == 's') +- i.dir_encoding = dir_encoding_swap; ++ { ++ if (i.dir_encoding == dir_encoding_default) ++ i.dir_encoding = dir_encoding_swap; ++ else ++ as_warn (_("ignoring `.s' suffix due to earlier `{%s}'"), ++ i.dir_encoding == dir_encoding_load ? "load" : "store"); ++ } + else if (mnem_p - 3 == dot_p + && dot_p[1] == 'd' + && dot_p[2] == '8') +- i.disp_encoding = disp_encoding_8bit; ++ { ++ if (i.disp_encoding == disp_encoding_default) ++ i.disp_encoding = disp_encoding_8bit; ++ else if (i.disp_encoding != disp_encoding_8bit) ++ as_warn (_("ignoring `.d8' suffix due to earlier `{disp}'")); ++ } + else if (mnem_p - 4 == dot_p + && dot_p[1] == 'd' + && dot_p[2] == '3' + && dot_p[3] == '2') +- i.disp_encoding = disp_encoding_32bit; ++ { ++ if (i.disp_encoding == disp_encoding_default) ++ i.disp_encoding = disp_encoding_32bit; ++ else if (i.disp_encoding != disp_encoding_32bit) ++ as_warn (_("ignoring `.d32' suffix due to earlier `{disp}'")); ++ } + else + goto check_suffix; + mnem_p = dot_p; + *dot_p = '\0'; +- current_templates = (const templates *) str_hash_find (op_hash, mnemonic); ++ op_lookup (mnemonic); + } + +- if (!current_templates || !pass1) ++ if (!current_templates.start || !pass1) + { +- current_templates = NULL; ++ current_templates.start = NULL; + + check_suffix: + if (mnem_p > mnemonic) +@@ -5737,8 +6143,7 @@ parse_insn (const char *line, char *mnem + case QWORD_MNEM_SUFFIX: + i.suffix = mnem_p[-1]; + mnem_p[-1] = '\0'; +- current_templates +- = (const templates *) str_hash_find (op_hash, mnemonic); ++ op_lookup (mnemonic); + break; + case SHORT_MNEM_SUFFIX: + case LONG_MNEM_SUFFIX: +@@ -5746,8 +6151,7 @@ parse_insn (const char *line, char *mnem + { + i.suffix = mnem_p[-1]; + mnem_p[-1] = '\0'; +- current_templates +- = (const templates *) str_hash_find (op_hash, mnemonic); ++ op_lookup (mnemonic); + } + break; + +@@ -5760,8 +6164,7 @@ parse_insn (const char *line, char *mnem + else + i.suffix = LONG_MNEM_SUFFIX; + mnem_p[-1] = '\0'; +- current_templates +- = (const templates *) str_hash_find (op_hash, mnemonic); ++ op_lookup (mnemonic); + } + /* For compatibility reasons accept MOVSD and CMPSD without + operands even in AT&T mode. */ +@@ -5769,12 +6172,11 @@ parse_insn (const char *line, char *mnem + || (is_space_char (*l) && l[1] == END_OF_INSN)) + { + mnem_p[-1] = '\0'; +- current_templates +- = (const templates *) str_hash_find (op_hash, mnemonic); +- if (current_templates != NULL ++ op_lookup (mnemonic); ++ if (current_templates.start != NULL + /* MOVS or CMPS */ +- && (current_templates->start->base_opcode | 2) == 0xa6 +- && current_templates->start->opcode_space ++ && (current_templates.start->base_opcode | 2) == 0xa6 ++ && current_templates.start->opcode_space + == SPACE_BASE + && mnem_p[-2] == 's') + { +@@ -5784,7 +6186,7 @@ parse_insn (const char *line, char *mnem + } + else + { +- current_templates = NULL; ++ current_templates.start = NULL; + mnem_p[-1] = 'd'; + } + } +@@ -5792,7 +6194,7 @@ parse_insn (const char *line, char *mnem + } + } + +- if (!current_templates) ++ if (!current_templates.start) + { + if (pass1) + as_bad (_("no such instruction: `%s'"), token_start); +@@ -5800,8 +6202,8 @@ parse_insn (const char *line, char *mnem + } + } + +- if (current_templates->start->opcode_modifier.jump == JUMP +- || current_templates->start->opcode_modifier.jump == JUMP_BYTE) ++ if (current_templates.start->opcode_modifier.jump == JUMP ++ || current_templates.start->opcode_modifier.jump == JUMP_BYTE) + { + /* Check for a branch hint. We allow ",pt" and ",pn" for + predict taken and predict not taken respectively. +@@ -5835,7 +6237,7 @@ parse_insn (const char *line, char *mnem + + /* Check if instruction is supported on specified architecture. */ + supported = 0; +- for (t = current_templates->start; t < current_templates->end; ++t) ++ for (t = current_templates.start; t < current_templates.end; ++t) + { + supported |= cpu_flags_match (t); + +@@ -6094,9 +6496,15 @@ optimize_imm (void) + break; + } + } +- else if ((flag_code == CODE_16BIT) ^ (i.prefix[DATA_PREFIX] != 0)) ++ else if ((flag_code == CODE_16BIT) ++ ^ (i.prefix[DATA_PREFIX] != 0 && !(i.prefix[REX_PREFIX] & REX_W))) + guess_suffix = WORD_MNEM_SUFFIX; +- else if (flag_code != CODE_64BIT || !(i.prefix[REX_PREFIX] & REX_W)) ++ else if (flag_code != CODE_64BIT ++ || (!(i.prefix[REX_PREFIX] & REX_W) ++ /* A more generic (but also more involved) way of dealing ++ with the special case(s) would be to go look for ++ DefaultSize attributes on any of the templates. */ ++ && current_templates.start->mnem_off != MN_push)) + guess_suffix = LONG_MNEM_SUFFIX; + + for (op = i.operands; --op >= 0;) +@@ -6170,7 +6578,7 @@ optimize_imm (void) + than those matching the insn suffix. */ + { + i386_operand_type mask, allowed; +- const insn_template *t = current_templates->start; ++ const insn_template *t = current_templates.start; + + operand_type_set (&mask, 0); + switch (guess_suffix) +@@ -6193,7 +6601,7 @@ optimize_imm (void) + } + + allowed = operand_type_and (t->operand_types[op], mask); +- while (++t < current_templates->end) ++ while (++t < current_templates.end) + { + allowed = operand_type_or (allowed, t->operand_types[op]); + allowed = operand_type_and (allowed, mask); +@@ -6347,10 +6755,11 @@ check_VecOperands (const insn_template * + operand size is YMMword or XMMword. Since this function runs after + template matching, there's no need to check for YMMword/XMMword in + the template. */ +- cpu = cpu_flags_and (t->cpu_flags, avx512); ++ cpu = cpu_flags_and (cpu_flags_from_attr (t->cpu), avx512); + if (!cpu_flags_all_zero (&cpu) +- && !t->cpu_flags.bitfield.cpuavx512vl +- && !cpu_arch_flags.bitfield.cpuavx512vl) ++ && !is_cpu (t, CpuAVX512VL) ++ && !cpu_arch_flags.bitfield.cpuavx512vl ++ && (!t->opcode_modifier.vex || need_evex_encoding (t))) + { + for (op = 0; op < t->operands; ++op) + { +@@ -6358,7 +6767,7 @@ check_VecOperands (const insn_template * + && (i.types[op].bitfield.ymmword + || i.types[op].bitfield.xmmword)) + { +- i.error = unsupported; ++ i.error = operand_size_mismatch; + return 1; + } + } +@@ -6366,8 +6775,7 @@ check_VecOperands (const insn_template * + + /* Somewhat similarly, templates specifying both AVX and AVX2 are + requiring AVX2 support if the actual operand size is YMMword. */ +- if (t->cpu_flags.bitfield.cpuavx +- && t->cpu_flags.bitfield.cpuavx2 ++ if (maybe_cpu (t, CpuAVX) && maybe_cpu (t, CpuAVX2) + && !cpu_arch_flags.bitfield.cpuavx2) + { + for (op = 0; op < t->operands; ++op) +@@ -6375,7 +6783,7 @@ check_VecOperands (const insn_template * + if (t->operand_types[op].bitfield.xmmword + && i.types[op].bitfield.ymmword) + { +- i.error = unsupported; ++ i.error = operand_size_mismatch; + return 1; + } + } +@@ -6647,7 +7055,7 @@ check_VecOperands (const insn_template * + } + + /* Check the special Imm4 cases; must be the first operand. */ +- if (t->cpu_flags.bitfield.cpuxop && t->operands == 5) ++ if (is_cpu (t, CpuXOP) && t->operands == 5) + { + if (i.op[0].imms->X_op != O_constant + || !fits_in_imm4 (i.op[0].imms->X_add_number)) +@@ -6662,6 +7070,8 @@ check_VecOperands (const insn_template * + + /* Check vector Disp8 operand. */ + if (t->opcode_modifier.disp8memshift ++ && (!t->opcode_modifier.vex ++ || need_evex_encoding (t)) + && i.disp_encoding <= disp_encoding_8bit) + { + if (i.broadcast.type || i.broadcast.bytes) +@@ -6746,23 +7156,22 @@ VEX_check_encoding (const insn_template + + /* Vector size restrictions. */ + if ((vector_size < VSZ512 +- && (t->opcode_modifier.evex == EVEX512 +- || t->opcode_modifier.vsz >= VSZ512)) ++ && t->opcode_modifier.evex == EVEX512) + || (vector_size < VSZ256 + && (t->opcode_modifier.evex == EVEX256 +- || t->opcode_modifier.vex == VEX256 +- || t->opcode_modifier.vsz >= VSZ256))) ++ || t->opcode_modifier.vex == VEX256))) + { +- i.error = unsupported; ++ i.error = unsupported_vector_size; + return 1; + } + +- if (i.vec_encoding == vex_encoding_evex) ++ if (i.vec_encoding == vex_encoding_evex ++ || i.vec_encoding == vex_encoding_evex512) + { + /* This instruction must be encoded with EVEX prefix. */ +- if (!is_evex_encoding (t)) ++ if (!t->opcode_modifier.evex) + { +- i.error = unsupported; ++ i.error = no_evex_encoding; + return 1; + } + return 0; +@@ -6773,7 +7182,7 @@ VEX_check_encoding (const insn_template + /* This instruction template doesn't have VEX prefix. */ + if (i.vec_encoding != vex_encoding_default) + { +- i.error = unsupported; ++ i.error = no_vex_encoding; + return 1; + } + return 0; +@@ -6782,6 +7191,122 @@ VEX_check_encoding (const insn_template + return 0; + } + ++/* Check if Egprs operands are valid for the instruction. */ ++ ++static bool ++check_EgprOperands (const insn_template *t) ++{ ++ if (!t->opcode_modifier.noegpr) ++ return 0; ++ ++ for (unsigned int op = 0; op < i.operands; op++) ++ { ++ if (i.types[op].bitfield.class != Reg) ++ continue; ++ ++ if (i.op[op].regs->reg_flags & RegRex2) ++ { ++ i.error = register_type_mismatch; ++ return 1; ++ } ++ } ++ ++ if ((i.index_reg && (i.index_reg->reg_flags & RegRex2)) ++ || (i.base_reg && (i.base_reg->reg_flags & RegRex2))) ++ { ++ i.error = unsupported_EGPR_for_addressing; ++ return 1; ++ } ++ ++ /* Check if pseudo prefix {rex2} is valid. */ ++ if (i.rex2_encoding) ++ { ++ i.error = invalid_pseudo_prefix; ++ return 1; ++ } ++ ++ return 0; ++} ++ ++/* Check if APX operands are valid for the instruction. */ ++static bool ++check_APX_operands (const insn_template *t) ++{ ++ /* Push2* and Pop2* cannot use RSP and Pop2* cannot pop two same registers. ++ */ ++ switch (t->mnem_off) ++ { ++ case MN_pop2: ++ case MN_pop2p: ++ if (register_number (i.op[0].regs) == register_number (i.op[1].regs)) ++ { ++ i.error = invalid_dest_register_set; ++ return 1; ++ } ++ /* fall through */ ++ case MN_push2: ++ case MN_push2p: ++ if (register_number (i.op[0].regs) == 4 ++ || register_number (i.op[1].regs) == 4) ++ { ++ i.error = unsupported_rsp_register; ++ return 1; ++ } ++ break; ++ } ++ return 0; ++} ++ ++/* Check if the instruction use the REX registers or REX prefix. */ ++static bool ++check_Rex_required (void) ++{ ++ for (unsigned int op = 0; op < i.operands; op++) ++ { ++ if (i.types[op].bitfield.class != Reg) ++ continue; ++ ++ if (i.op[op].regs->reg_flags & (RegRex | RegRex64)) ++ return true; ++ } ++ ++ if ((i.index_reg && (i.index_reg->reg_flags & (RegRex | RegRex64))) ++ || (i.base_reg && (i.base_reg->reg_flags & (RegRex | RegRex64)))) ++ return true; ++ ++ /* Check pseudo prefix {rex} are valid. */ ++ return i.rex_encoding; ++} ++ ++/* Optimize APX NDD insns to legacy insns. */ ++static unsigned int ++can_convert_NDD_to_legacy (const insn_template *t) ++{ ++ unsigned int match_dest_op = ~0; ++ ++ if (!i.tm.opcode_modifier.nf ++ && i.reg_operands >= 2) ++ { ++ unsigned int dest = i.operands - 1; ++ unsigned int src1 = i.operands - 2; ++ unsigned int src2 = (i.operands > 3) ? i.operands - 3 : 0; ++ ++ if (i.types[src1].bitfield.class == Reg ++ && i.op[src1].regs == i.op[dest].regs) ++ match_dest_op = src1; ++ /* If the first operand is the same as the third operand, ++ these instructions need to support the ability to commutative ++ the first two operands and still not change the semantics in order ++ to be optimized. */ ++ else if (optimize > 1 ++ && t->opcode_modifier.commutative ++ && i.types[src2].bitfield.class == Reg ++ && i.op[src2].regs == i.op[dest].regs) ++ match_dest_op = src2; ++ } ++ return match_dest_op; ++} ++ + /* Helper function for the progress() macro in match_template(). */ + static INLINE enum i386_error progress (enum i386_error new, + enum i386_error last, +@@ -6814,7 +7339,7 @@ match_template (char mnem_suffix) + found_reverse_match = 0; + addr_prefix_disp = -1; + +- for (t = current_templates->start; t < current_templates->end; t++) ++ for (t = current_templates.start; t < current_templates.end; t++) + { + addr_prefix_disp = -1; + found_reverse_match = 0; +@@ -6830,13 +7355,15 @@ match_template (char mnem_suffix) + + /* Check AT&T mnemonic. */ + specific_error = progress (unsupported_with_intel_mnemonic); +- if (intel_mnemonic && t->opcode_modifier.attmnemonic) ++ if (!intel_syntax && intel_mnemonic ++ && t->opcode_modifier.dialect == ATT_MNEMONIC) + continue; + + /* Check AT&T/Intel syntax. */ + specific_error = progress (unsupported_syntax); +- if ((intel_syntax && t->opcode_modifier.attsyntax) +- || (!intel_syntax && t->opcode_modifier.intelsyntax)) ++ if (intel_syntax ++ ? t->opcode_modifier.dialect >= ATT_SYNTAX ++ : t->opcode_modifier.dialect == INTEL_SYNTAX) + continue; + + /* Check Intel64/AMD64 ISA. */ +@@ -6924,6 +7451,13 @@ match_template (char mnem_suffix) + continue; + } + ++ /* Check if pseudo prefix {rex2} is valid. */ ++ if (t->opcode_modifier.noegpr && i.rex2_encoding) ++ { ++ specific_error = progress (invalid_pseudo_prefix); ++ continue; ++ } ++ + /* We've found a match; break out of loop. */ + break; + } +@@ -7078,18 +7612,22 @@ match_template (char mnem_suffix) + - the store form is requested, and the template is a load form, + - the non-default (swapped) form is requested. */ + overlap1 = operand_type_and (operand_types[0], operand_types[1]); ++ ++ j = i.operands - 1 - (t->opcode_space == SPACE_EVEXMAP4 ++ && t->opcode_modifier.vexvvvv); ++ + if (t->opcode_modifier.d && i.reg_operands == i.operands + && !operand_type_all_zero (&overlap1)) + switch (i.dir_encoding) + { + case dir_encoding_load: +- if (operand_type_check (operand_types[i.operands - 1], anymem) ++ if (operand_type_check (operand_types[j], anymem) + || t->opcode_modifier.regmem) + goto check_reverse; + break; + + case dir_encoding_store: +- if (!operand_type_check (operand_types[i.operands - 1], anymem) ++ if (!operand_type_check (operand_types[j], anymem) + && !t->opcode_modifier.regmem) + goto check_reverse; + break; +@@ -7100,6 +7638,7 @@ match_template (char mnem_suffix) + case dir_encoding_default: + break; + } ++ + /* If we want store form, we skip the current load. */ + if ((i.dir_encoding == dir_encoding_store + || i.dir_encoding == dir_encoding_swap) +@@ -7128,12 +7667,14 @@ match_template (char mnem_suffix) + if (!(size_match & MATCH_REVERSE)) + continue; + /* Try reversing direction of operands. */ +- j = t->cpu_flags.bitfield.cpufma4 +- || t->cpu_flags.bitfield.cpuxop ? 1 : i.operands - 1; ++ j = is_cpu (t, CpuFMA4) ++ || is_cpu (t, CpuXOP) ++ || is_cpu (t, CpuAPX_F) ? 1 : i.operands - 1; + overlap0 = operand_type_and (i.types[0], operand_types[j]); + overlap1 = operand_type_and (i.types[j], operand_types[0]); + overlap2 = operand_type_and (i.types[1], operand_types[1]); +- gas_assert (t->operands != 3 || !check_register); ++ gas_assert (t->operands != 3 || !check_register ++ || is_cpu (t, CpuAPX_F)); + if (!operand_type_match (overlap0, i.types[0]) + || !operand_type_match (overlap1, i.types[j]) + || (t->operands == 3 +@@ -7163,12 +7704,16 @@ match_template (char mnem_suffix) + && (intel_syntax || intel_mnemonic)) + found_reverse_match |= Opcode_FloatR; + } +- else if (t->cpu_flags.bitfield.cpufma4 +- || t->cpu_flags.bitfield.cpuxop) ++ else if (is_cpu (t, CpuFMA4) || is_cpu (t, CpuXOP)) + { + found_reverse_match = Opcode_VexW; + goto check_operands_345; + } ++ else if (is_cpu (t, CpuAPX_F) && i.operands == 3) ++ { ++ found_reverse_match = Opcode_D; ++ goto check_operands_345; ++ } + else if (t->opcode_space != SPACE_BASE + && (t->opcode_space != SPACE_0F + /* MOV to/from CR/DR/TR, as an exception, follow +@@ -7248,6 +7793,13 @@ match_template (char mnem_suffix) + continue; + } + ++ /* Check if EGPR operands(r16-r31) are valid. */ ++ if (check_EgprOperands (t)) ++ { ++ specific_error = progress (i.error); ++ continue; ++ } ++ + /* Check if vector operands are valid. */ + if (check_VecOperands (t)) + { +@@ -7255,13 +7807,109 @@ match_template (char mnem_suffix) + continue; + } + ++ /* Check if APX operands are valid. */ ++ if (check_APX_operands (t)) ++ { ++ specific_error = progress (i.error); ++ continue; ++ } ++ ++ /* Check whether to use the shorter VEX encoding for certain insns where ++ the EVEX encoding comes first in the table. This requires the respective ++ AVX-* feature to be explicitly enabled. ++ ++ Most of the respective insns have just a single EVEX and a single VEX ++ template. The one that's presently different is generated using the ++ Vxy / Exy constructs: There are 3 suffix-less EVEX forms, the latter ++ two of which may fall back to their two corresponding VEX forms. */ ++ j = t->mnem_off != MN_vcvtneps2bf16 ? 1 : 2; ++ if ((t == current_templates.start || j > 1) ++ && t->opcode_modifier.disp8memshift ++ && !t->opcode_modifier.vex ++ && !need_evex_encoding (t) ++ && t + j < current_templates.end ++ && t[j].opcode_modifier.vex) ++ { ++ i386_cpu_flags cpu; ++ unsigned int memshift = i.memshift; ++ ++ i.memshift = 0; ++ cpu = cpu_flags_and (cpu_flags_from_attr (t[j].cpu), ++ cpu_arch_isa_flags); ++ if (!cpu_flags_all_zero (&cpu) ++ && (!i.types[0].bitfield.disp8 ++ || !operand_type_check (i.types[0], disp) ++ || i.op[0].disps->X_op != O_constant ++ || fits_in_disp8 (i.op[0].disps->X_add_number))) ++ { ++ specific_error = progress (internal_error); ++ t += j - 1; ++ continue; ++ } ++ i.memshift = memshift; ++ } ++ ++ /* If we can optimize a NDD insn to legacy insn, like ++ add %r16, %r8, %r8 -> add %r16, %r8, ++ add %r8, %r16, %r8 -> add %r16, %r8, then rematch template. ++ Note that the semantics have not been changed. */ ++ if (optimize ++ && !i.no_optimize ++ && i.vec_encoding != vex_encoding_evex ++ && t + 1 < current_templates.end ++ && !t[1].opcode_modifier.evex ++ && t[1].opcode_space <= SPACE_0F38 ++ && t->opcode_modifier.vexvvvv == VexVVVV_DST ++ && (i.types[i.operands - 1].bitfield.dword ++ || i.types[i.operands - 1].bitfield.qword)) ++ { ++ unsigned int match_dest_op = can_convert_NDD_to_legacy (t); ++ ++ if (match_dest_op != (unsigned int) ~0) ++ { ++ size_match = true; ++ /* We ensure that the next template has the same input ++ operands as the original matching template by the first ++ opernd (ATT). To avoid someone support new NDD insns and ++ put it in the wrong position. */ ++ overlap0 = operand_type_and (i.types[0], ++ t[1].operand_types[0]); ++ if (t->opcode_modifier.d) ++ overlap1 = operand_type_and (i.types[0], ++ t[1].operand_types[1]); ++ if (!operand_type_match (overlap0, i.types[0]) ++ && (!t->opcode_modifier.d ++ || !operand_type_match (overlap1, i.types[0]))) ++ size_match = false; ++ ++ if (size_match ++ && (t[1].opcode_space <= SPACE_0F ++ /* Some non-legacy-map0/1 insns can be shorter when ++ legacy-encoded and when no REX prefix is required. */ ++ || (!check_EgprOperands (t + 1) ++ && !check_Rex_required () ++ && !i.op[i.operands - 1].regs->reg_type.bitfield.qword))) ++ { ++ if (i.operands > 2 && match_dest_op == i.operands - 3) ++ swap_2_operands (match_dest_op, i.operands - 2); ++ ++ --i.operands; ++ --i.reg_operands; ++ ++ specific_error = progress (internal_error); ++ continue; ++ } ++ ++ } ++ } ++ + /* We've found a match; break out of loop. */ + break; + } + + #undef progress + +- if (t == current_templates->end) ++ if (t == current_templates.end) + { + /* We found no match. */ + i.error = specific_error; +@@ -7308,6 +7956,9 @@ match_template (char mnem_suffix) + + i.tm.base_opcode ^= found_reverse_match; + ++ if (i.tm.opcode_space == SPACE_EVEXMAP4) ++ goto swap_first_2; ++ + /* Certain SIMD insns have their load forms specified in the opcode + table, and hence we need to _set_ RegMem instead of clearing it. + We need to avoid setting the bit though on insns like KMOVW. */ +@@ -7327,6 +7978,7 @@ match_template (char mnem_suffix) + flipping VEX.W. */ + i.tm.opcode_modifier.vexw ^= VEXW0 ^ VEXW1; + ++ swap_first_2: + j = i.tm.operand_types[0].bitfield.imm8; + i.tm.operand_types[j] = operand_types[j + 1]; + i.tm.operand_types[j + 1] = operand_types[j]; +@@ -7384,7 +8036,7 @@ process_suffix (void) + && (i.tm.base_opcode | 8) == 0xbe) + || (i.tm.opcode_space == SPACE_BASE + && i.tm.base_opcode == 0x63 +- && i.tm.cpu_flags.bitfield.cpu64); ++ && is_cpu (&i.tm, Cpu64)); + + /* movsx/movzx want only their source operand considered here, for the + ambiguity checking below. The suffix will be replaced afterwards +@@ -7553,27 +8205,22 @@ process_suffix (void) + { + i.tm.operand_types[op].bitfield.ymmword = 0; + if (i.tm.operand_types[op].bitfield.xmmword +- && (i.tm.opcode_modifier.evex == EVEXDYN +- || (!i.tm.opcode_modifier.evex +- && is_evex_encoding (&i.tm)))) ++ && i.tm.opcode_modifier.evex == EVEXDYN) + i.tm.opcode_modifier.evex = EVEX128; + } + else if (i.tm.operand_types[op].bitfield.ymmword + && !i.tm.operand_types[op].bitfield.xmmword +- && (i.tm.opcode_modifier.evex == EVEXDYN +- || (!i.tm.opcode_modifier.evex +- && is_evex_encoding (&i.tm)))) ++ && i.tm.opcode_modifier.evex == EVEXDYN) + i.tm.opcode_modifier.evex = EVEX256; + } +- else if (is_evex_encoding (&i.tm) ++ else if (i.tm.opcode_modifier.evex + && !cpu_arch_flags.bitfield.cpuavx512vl) + { + if (i.tm.operand_types[op].bitfield.ymmword) + i.tm.operand_types[op].bitfield.xmmword = 0; + if (i.tm.operand_types[op].bitfield.zmmword) + i.tm.operand_types[op].bitfield.ymmword = 0; +- if (!i.tm.opcode_modifier.evex +- || i.tm.opcode_modifier.evex == EVEXDYN) ++ if (i.tm.opcode_modifier.evex == EVEXDYN) + i.tm.opcode_modifier.evex = EVEX512; + } + +@@ -7601,7 +8248,7 @@ process_suffix (void) + suffixes |= 1 << 7; + if (i.tm.operand_types[op].bitfield.zmmword) + suffixes |= 1 << 8; +- if (is_evex_encoding (&i.tm)) ++ if (i.tm.opcode_modifier.evex) + evex = EVEX512; + } + } +@@ -7704,7 +8351,8 @@ process_suffix (void) + if (i.suffix != QWORD_MNEM_SUFFIX + && i.tm.opcode_modifier.mnemonicsize != IGNORESIZE + && !i.tm.opcode_modifier.floatmf +- && !is_any_vex_encoding (&i.tm) ++ && (!is_any_vex_encoding (&i.tm) ++ || i.tm.opcode_space == SPACE_EVEXMAP4) + && ((i.suffix == LONG_MNEM_SUFFIX) == (flag_code == CODE_16BIT) + || (flag_code == CODE_64BIT + && i.tm.opcode_modifier.jump == JUMP_BYTE))) +@@ -7714,7 +8362,14 @@ process_suffix (void) + if (i.tm.opcode_modifier.jump == JUMP_BYTE) /* jcxz, loop */ + prefix = ADDR_PREFIX_OPCODE; + +- if (!add_prefix (prefix)) ++ /* The DATA PREFIX of EVEX promoted from legacy APX instructions ++ needs to be adjusted. */ ++ if (i.tm.opcode_space == SPACE_EVEXMAP4) ++ { ++ gas_assert (!i.tm.opcode_modifier.opcodeprefix); ++ i.tm.opcode_modifier.opcodeprefix = PREFIX_0X66; ++ } ++ else if (!add_prefix (prefix)) + return 0; + } + +@@ -7902,8 +8557,10 @@ check_long_reg (void) + i.suffix); + return 0; + } +- /* Error if the e prefix on a general reg is missing. */ +- else if (i.types[op].bitfield.word ++ /* Error if the e prefix on a general reg is missing, or if the r ++ prefix on a general reg is present. */ ++ else if ((i.types[op].bitfield.word ++ || i.types[op].bitfield.qword) + && (i.tm.operand_types[op].bitfield.class == Reg + || i.tm.operand_types[op].bitfield.instance == Accum) + && i.tm.operand_types[op].bitfield.dword) +@@ -7913,16 +8570,6 @@ check_long_reg (void) + i.suffix); + return 0; + } +- /* Warn if the r prefix on a general reg is present. */ +- else if (i.types[op].bitfield.qword +- && (i.tm.operand_types[op].bitfield.class == Reg +- || i.tm.operand_types[op].bitfield.instance == Accum) +- && i.tm.operand_types[op].bitfield.dword) +- { +- as_bad (_("incorrect register `%s%s' used with `%c' suffix"), +- register_prefix, i.op[op].regs->reg_name, i.suffix); +- return 0; +- } + return 1; + } + +@@ -7941,7 +8588,8 @@ check_qword_reg (void) + && (i.tm.operand_types[op].bitfield.class == Reg + || i.tm.operand_types[op].bitfield.instance == Accum) + && (i.tm.operand_types[op].bitfield.word +- || i.tm.operand_types[op].bitfield.dword)) ++ || i.tm.operand_types[op].bitfield.dword ++ || i.tm.operand_types[op].bitfield.qword)) + { + as_bad (_("`%s%s' not allowed with `%s%c'"), + register_prefix, +@@ -7950,7 +8598,7 @@ check_qword_reg (void) + i.suffix); + return 0; + } +- /* Warn if the r prefix on a general reg is missing. */ ++ /* Error if the r prefix on a general reg is missing. */ + else if ((i.types[op].bitfield.word + || i.types[op].bitfield.dword) + && (i.tm.operand_types[op].bitfield.class == Reg +@@ -8065,7 +8713,8 @@ update_imm (unsigned int j) + || operand_type_equal (&overlap, &imm16_32) + || operand_type_equal (&overlap, &imm16_32s)) + { +- if ((flag_code == CODE_16BIT) ^ (i.prefix[DATA_PREFIX] != 0)) ++ if ((flag_code == CODE_16BIT) ++ ^ (i.prefix[DATA_PREFIX] != 0 && !(i.prefix[REX_PREFIX] & REX_W))) + overlap = imm16; + else + overlap = imm32s; +@@ -8129,6 +8778,18 @@ static INLINE void set_rex_vrex (const r + + if (r->reg_flags & RegVRex) + i.vrex |= rex_bit; ++ ++ if (r->reg_flags & RegRex2) ++ i.rex2 |= rex_bit; ++} ++ ++static INLINE void ++set_rex_rex2 (const reg_entry *r, unsigned int rex_bit) ++{ ++ if ((r->reg_flags & RegRex) != 0) ++ i.rex |= rex_bit; ++ if ((r->reg_flags & RegRex2) != 0) ++ i.rex2 |= rex_bit; + } + + static int +@@ -8139,12 +8800,9 @@ process_operands (void) + unnecessary segment overrides. */ + const reg_entry *default_seg = NULL; + +- /* We only need to check those implicit registers for instructions +- with 3 operands or less. */ +- if (i.operands <= 3) +- for (unsigned int j = 0; j < i.operands; j++) +- if (i.types[j].bitfield.instance != InstanceNone) +- i.reg_operands--; ++ for (unsigned int j = 0; j < i.operands; j++) ++ if (i.types[j].bitfield.instance != InstanceNone) ++ i.reg_operands--; + + if (i.tm.opcode_modifier.sse2avx) + { +@@ -8494,15 +9152,23 @@ build_modrm_byte (void) + exp = i.op[0].imms; + } + exp->X_add_number |= register_number (i.op[reg_slot].regs) +- << (3 + !(is_evex_encoding (&i.tm) ++ << (3 + !(i.tm.opcode_modifier.evex + || i.vec_encoding == vex_encoding_evex)); + } + +- for (v = source + 1; v < dest; ++v) +- if (v != reg_slot) +- break; +- if (v >= dest) +- v = ~0; ++ if (i.tm.opcode_modifier.vexvvvv == VexVVVV_DST) ++ { ++ v = dest; ++ dest-- ; ++ } ++ else ++ { ++ for (v = source + 1; v < dest; ++v) ++ if (v != reg_slot) ++ break; ++ if (v >= dest) ++ v = ~0; ++ } + if (i.tm.extension_opcode != None) + { + if (dest != source) +@@ -8612,8 +9278,7 @@ build_modrm_byte (void) + i.rm.regmem = ESCAPE_TO_TWO_BYTE_ADDRESSING; + i.types[op] = operand_type_and_not (i.types[op], anydisp); + i.types[op].bitfield.disp32 = 1; +- if ((i.index_reg->reg_flags & RegRex) != 0) +- i.rex |= REX_X; ++ set_rex_rex2 (i.index_reg, REX_X); + } + } + /* RIP addressing for 64bit mode. */ +@@ -8684,8 +9349,7 @@ build_modrm_byte (void) + + if (!i.tm.opcode_modifier.sib) + i.rm.regmem = i.base_reg->reg_num; +- if ((i.base_reg->reg_flags & RegRex) != 0) +- i.rex |= REX_B; ++ set_rex_rex2 (i.base_reg, REX_B); + i.sib.base = i.base_reg->reg_num; + /* x86-64 ignores REX prefix bit here to avoid decoder + complications. */ +@@ -8723,8 +9387,7 @@ build_modrm_byte (void) + else + i.sib.index = i.index_reg->reg_num; + i.rm.regmem = ESCAPE_TO_TWO_BYTE_ADDRESSING; +- if ((i.index_reg->reg_flags & RegRex) != 0) +- i.rex |= REX_X; ++ set_rex_rex2 (i.index_reg, REX_X); + } + + if (i.disp_operands +@@ -8928,8 +9591,6 @@ output_branch (void) + off = 0; + } + +- frag_now->tc_frag_data.code64 = flag_code == CODE_64BIT; +- + /* 1 possible extra opcode + 4 byte displacement go in var part. + Pass reloc in fr_var. */ + frag_var (rs_machine_dependent, 5, i.reloc[0], subtype, sym, off, p); +@@ -9405,7 +10066,7 @@ maybe_fused_with_jcc_p (enum mf_cmp_kind + } + + /* inc, dec without inc/dec m. */ +- if ((i.tm.cpu_flags.bitfield.cpuno64 ++ if ((is_cpu (&i.tm, CpuNo64) + && (i.tm.base_opcode | 0xf) == 0x4f) + || ((i.tm.base_opcode | 1) == 0xff + && i.tm.extension_opcode <= 0x1)) +@@ -9420,7 +10081,8 @@ maybe_fused_with_jcc_p (enum mf_cmp_kind + /* Return 1 if a FUSED_JCC_PADDING frag should be generated. */ + + static int +-add_fused_jcc_padding_frag_p (enum mf_cmp_kind* mf_cmp_p) ++add_fused_jcc_padding_frag_p (enum mf_cmp_kind *mf_cmp_p, ++ const struct last_insn *last_insn) + { + /* NB: Don't work with COND_JUMP86 without i386. */ + if (!align_branch_power +@@ -9431,13 +10093,12 @@ add_fused_jcc_padding_frag_p (enum mf_cm + + if (maybe_fused_with_jcc_p (mf_cmp_p)) + { +- if (last_insn.kind == last_insn_other +- || last_insn.seg != now_seg) ++ if (last_insn->kind == last_insn_other) + return 1; + if (flag_debug) +- as_warn_where (last_insn.file, last_insn.line, ++ as_warn_where (last_insn->file, last_insn->line, + _("`%s` skips -malign-branch-boundary on `%s`"), +- last_insn.name, insn_name (&i.tm)); ++ last_insn->name, insn_name (&i.tm)); + } + + return 0; +@@ -9446,14 +10107,14 @@ add_fused_jcc_padding_frag_p (enum mf_cm + /* Return 1 if a BRANCH_PREFIX frag should be generated. */ + + static int +-add_branch_prefix_frag_p (void) ++add_branch_prefix_frag_p (const struct last_insn *last_insn) + { + /* NB: Don't work with COND_JUMP86 without i386. Don't add prefix + to PadLock instructions since they include prefixes in opcode. */ + if (!align_branch_power + || !align_branch_prefix_size + || now_seg == absolute_section +- || i.tm.cpu_flags.bitfield.cpupadlock ++ || is_cpu (&i.tm, CpuPadLock) + || !cpu_arch_flags.bitfield.cpui386) + return 0; + +@@ -9462,14 +10123,13 @@ add_branch_prefix_frag_p (void) + if (!i.operands || i.tm.opcode_modifier.isprefix) + return 0; + +- if (last_insn.kind == last_insn_other +- || last_insn.seg != now_seg) ++ if (last_insn->kind == last_insn_other) + return 1; + + if (flag_debug) +- as_warn_where (last_insn.file, last_insn.line, ++ as_warn_where (last_insn->file, last_insn->line, + _("`%s` skips -malign-branch-boundary on `%s`"), +- last_insn.name, insn_name (&i.tm)); ++ last_insn->name, insn_name (&i.tm)); + + return 0; + } +@@ -9478,7 +10138,8 @@ add_branch_prefix_frag_p (void) + + static int + add_branch_padding_frag_p (enum align_branch_kind *branch_p, +- enum mf_jcc_kind *mf_jcc_p) ++ enum mf_jcc_kind *mf_jcc_p, ++ const struct last_insn *last_insn) + { + int add_padding; + +@@ -9552,13 +10213,12 @@ add_branch_padding_frag_p (enum align_br + } + + if (add_padding +- && last_insn.kind != last_insn_other +- && last_insn.seg == now_seg) ++ && last_insn->kind != last_insn_other) + { + if (flag_debug) +- as_warn_where (last_insn.file, last_insn.line, ++ as_warn_where (last_insn->file, last_insn->line, + _("`%s` skips -malign-branch-boundary on `%s`"), +- last_insn.name, insn_name (&i.tm)); ++ last_insn->name, insn_name (&i.tm)); + return 0; + } + +@@ -9566,7 +10226,7 @@ add_branch_padding_frag_p (enum align_br + } + + static void +-output_insn (void) ++output_insn (const struct last_insn *last_insn) + { + fragS *insn_start_frag; + offsetT insn_start_off; +@@ -9581,14 +10241,14 @@ output_insn (void) + if (IS_ELF && x86_used_note && now_seg != absolute_section) + { + if ((i.xstate & xstate_tmm) == xstate_tmm +- || i.tm.cpu_flags.bitfield.cpuamx_tile) ++ || is_cpu (&i.tm, CpuAMX_TILE)) + x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_TMM; + +- if (i.tm.cpu_flags.bitfield.cpu8087 +- || i.tm.cpu_flags.bitfield.cpu287 +- || i.tm.cpu_flags.bitfield.cpu387 +- || i.tm.cpu_flags.bitfield.cpu687 +- || i.tm.cpu_flags.bitfield.cpufisttp) ++ if (is_cpu (&i.tm, Cpu8087) ++ || is_cpu (&i.tm, Cpu287) ++ || is_cpu (&i.tm, Cpu387) ++ || is_cpu (&i.tm, Cpu687) ++ || is_cpu (&i.tm, CpuFISTTP)) + x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_X87; + + if ((i.xstate & xstate_mmx) +@@ -9607,16 +10267,16 @@ output_insn (void) + } + + /* vzeroall / vzeroupper */ +- if (i.tm.base_opcode == 0x77 && i.tm.cpu_flags.bitfield.cpuavx) ++ if (i.tm.base_opcode == 0x77 && is_cpu (&i.tm, CpuAVX)) + i.xstate |= xstate_ymm; + + if ((i.xstate & xstate_xmm) + /* ldmxcsr / stmxcsr / vldmxcsr / vstmxcsr */ + || (i.tm.base_opcode == 0xae +- && (i.tm.cpu_flags.bitfield.cpusse +- || i.tm.cpu_flags.bitfield.cpuavx)) +- || i.tm.cpu_flags.bitfield.cpuwidekl +- || i.tm.cpu_flags.bitfield.cpukl) ++ && (is_cpu (&i.tm, CpuSSE) ++ || is_cpu (&i.tm, CpuAVX))) ++ || is_cpu (&i.tm, CpuWideKL) ++ || is_cpu (&i.tm, CpuKL)) + x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_XMM; + + if ((i.xstate & xstate_ymm) == xstate_ymm) +@@ -9625,65 +10285,65 @@ output_insn (void) + x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_ZMM; + if (i.mask.reg || (i.xstate & xstate_mask) == xstate_mask) + x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_MASK; +- if (i.tm.cpu_flags.bitfield.cpufxsr) ++ if (is_cpu (&i.tm, CpuFXSR)) + x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_FXSR; +- if (i.tm.cpu_flags.bitfield.cpuxsave) ++ if (is_cpu (&i.tm, CpuXsave)) + x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_XSAVE; +- if (i.tm.cpu_flags.bitfield.cpuxsaveopt) ++ if (is_cpu (&i.tm, CpuXsaveopt)) + x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT; +- if (i.tm.cpu_flags.bitfield.cpuxsavec) ++ if (is_cpu (&i.tm, CpuXSAVEC)) + x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_XSAVEC; + + if (x86_feature_2_used +- || i.tm.cpu_flags.bitfield.cpucmov +- || i.tm.cpu_flags.bitfield.cpusyscall ++ || is_cpu (&i.tm, CpuCMOV) ++ || is_cpu (&i.tm, CpuSYSCALL) + || i.tm.mnem_off == MN_cmpxchg8b) + x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_BASELINE; +- if (i.tm.cpu_flags.bitfield.cpusse3 +- || i.tm.cpu_flags.bitfield.cpussse3 +- || i.tm.cpu_flags.bitfield.cpusse4_1 +- || i.tm.cpu_flags.bitfield.cpusse4_2 +- || i.tm.cpu_flags.bitfield.cpucx16 +- || i.tm.cpu_flags.bitfield.cpupopcnt ++ if (is_cpu (&i.tm, CpuSSE3) ++ || is_cpu (&i.tm, CpuSSSE3) ++ || is_cpu (&i.tm, CpuSSE4_1) ++ || is_cpu (&i.tm, CpuSSE4_2) ++ || is_cpu (&i.tm, CpuCX16) ++ || is_cpu (&i.tm, CpuPOPCNT) + /* LAHF-SAHF insns in 64-bit mode. */ + || (flag_code == CODE_64BIT + && (i.tm.base_opcode | 1) == 0x9f + && i.tm.opcode_space == SPACE_BASE)) + x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_V2; +- if (i.tm.cpu_flags.bitfield.cpuavx +- || i.tm.cpu_flags.bitfield.cpuavx2 ++ if (is_cpu (&i.tm, CpuAVX) ++ || is_cpu (&i.tm, CpuAVX2) + /* Any VEX encoded insns execpt for AVX512F, AVX512BW, AVX512DQ, + XOP, FMA4, LPW, TBM, and AMX. */ + || (i.tm.opcode_modifier.vex +- && !i.tm.cpu_flags.bitfield.cpuavx512f +- && !i.tm.cpu_flags.bitfield.cpuavx512bw +- && !i.tm.cpu_flags.bitfield.cpuavx512dq +- && !i.tm.cpu_flags.bitfield.cpuxop +- && !i.tm.cpu_flags.bitfield.cpufma4 +- && !i.tm.cpu_flags.bitfield.cpulwp +- && !i.tm.cpu_flags.bitfield.cputbm ++ && !is_cpu (&i.tm, CpuAVX512F) ++ && !is_cpu (&i.tm, CpuAVX512BW) ++ && !is_cpu (&i.tm, CpuAVX512DQ) ++ && !is_cpu (&i.tm, CpuXOP) ++ && !is_cpu (&i.tm, CpuFMA4) ++ && !is_cpu (&i.tm, CpuLWP) ++ && !is_cpu (&i.tm, CpuTBM) + && !(x86_feature_2_used & GNU_PROPERTY_X86_FEATURE_2_TMM)) +- || i.tm.cpu_flags.bitfield.cpuf16c +- || i.tm.cpu_flags.bitfield.cpufma +- || i.tm.cpu_flags.bitfield.cpulzcnt +- || i.tm.cpu_flags.bitfield.cpumovbe +- || i.tm.cpu_flags.bitfield.cpuxsaves ++ || is_cpu (&i.tm, CpuF16C) ++ || is_cpu (&i.tm, CpuFMA) ++ || is_cpu (&i.tm, CpuLZCNT) ++ || is_cpu (&i.tm, CpuMovbe) ++ || is_cpu (&i.tm, CpuXSAVES) + || (x86_feature_2_used + & (GNU_PROPERTY_X86_FEATURE_2_XSAVE + | GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT + | GNU_PROPERTY_X86_FEATURE_2_XSAVEC)) != 0) + x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_V3; +- if (i.tm.cpu_flags.bitfield.cpuavx512f +- || i.tm.cpu_flags.bitfield.cpuavx512bw +- || i.tm.cpu_flags.bitfield.cpuavx512dq +- || i.tm.cpu_flags.bitfield.cpuavx512vl ++ if (is_cpu (&i.tm, CpuAVX512F) ++ || is_cpu (&i.tm, CpuAVX512BW) ++ || is_cpu (&i.tm, CpuAVX512DQ) ++ || is_cpu (&i.tm, CpuAVX512VL) + /* Any EVEX encoded insns except for AVX512ER, AVX512PF, + AVX512-4FMAPS, and AVX512-4VNNIW. */ + || (i.tm.opcode_modifier.evex +- && !i.tm.cpu_flags.bitfield.cpuavx512er +- && !i.tm.cpu_flags.bitfield.cpuavx512pf +- && !i.tm.cpu_flags.bitfield.cpuavx512_4fmaps +- && !i.tm.cpu_flags.bitfield.cpuavx512_4vnniw)) ++ && !is_cpu (&i.tm, CpuAVX512ER) ++ && !is_cpu (&i.tm, CpuAVX512PF) ++ && !is_cpu (&i.tm, CpuAVX512_4FMAPS) ++ && !is_cpu (&i.tm, CpuAVX512_4VNNIW))) + x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_V4; + } + #endif +@@ -9696,7 +10356,7 @@ output_insn (void) + insn_start_frag = frag_now; + insn_start_off = frag_now_fix (); + +- if (add_branch_padding_frag_p (&branch, &mf_jcc)) ++ if (add_branch_padding_frag_p (&branch, &mf_jcc, last_insn)) + { + char *p; + /* Branch can be 8 bytes. Leave some room for prefixes. */ +@@ -9782,7 +10442,7 @@ output_insn (void) + if (branch) + /* Skip if this is a branch. */ + ; +- else if (add_fused_jcc_padding_frag_p (&mf_cmp)) ++ else if (add_fused_jcc_padding_frag_p (&mf_cmp, last_insn)) + { + /* Make room for padding. */ + frag_grow (MAX_FUSED_JCC_PADDING_SIZE); +@@ -9798,7 +10458,7 @@ output_insn (void) + fragP->tc_frag_data.branch_type = align_branch_fused; + fragP->tc_frag_data.max_bytes = MAX_FUSED_JCC_PADDING_SIZE; + } +- else if (add_branch_prefix_frag_p ()) ++ else if (add_branch_prefix_frag_p (last_insn)) + { + unsigned int max_prefix_size = align_branch_prefix_size; + +@@ -9828,7 +10488,7 @@ output_insn (void) + add_prefix (0xf2); + break; + case PREFIX_0XF3: +- if (!i.tm.cpu_flags.bitfield.cpupadlock ++ if (!is_cpu (&i.tm, CpuPadLock) + || (i.prefix[REP_PREFIX] != 0xf3)) + add_prefix (0xf3); + break; +@@ -9860,6 +10520,7 @@ output_insn (void) + is also needed for lea with R_X86_64_GOTPC32_TLSDESC + relocation for GDesc -> IE/LE optimization. */ + if (x86_elf_abi == X86_64_X32_ABI ++ && !is_apx_rex2_encoding () + && i.operands == 2 + && (i.reloc[0] == BFD_RELOC_X86_64_GOTTPOFF + || i.reloc[0] == BFD_RELOC_X86_64_GOTPC32_TLSDESC) +@@ -9871,6 +10532,12 @@ output_insn (void) + for (j = ARRAY_SIZE (i.prefix), q = i.prefix; j > 0; j--, q++) + if (*q) + frag_opcode_byte (*q); ++ ++ if (is_apx_rex2_encoding ()) ++ { ++ frag_opcode_byte (i.vex.bytes[0]); ++ frag_opcode_byte (i.vex.bytes[1]); ++ } + } + else + { +@@ -10219,7 +10886,9 @@ output_disp (fragS *insn_start_frag, off + case BFD_RELOC_X86_64_TLSGD: + case BFD_RELOC_X86_64_TLSLD: + case BFD_RELOC_X86_64_GOTTPOFF: ++ case BFD_RELOC_X86_64_CODE_4_GOTTPOFF: + case BFD_RELOC_X86_64_GOTPC32_TLSDESC: ++ case BFD_RELOC_X86_64_CODE_4_GOTPC32_TLSDESC: + case BFD_RELOC_X86_64_TLSDESC_CALL: + i.has_gotpc_tls_reloc = true; + default: +@@ -10234,6 +10903,10 @@ output_disp (fragS *insn_start_frag, off + && !i.prefix[ADDR_PREFIX]) + fixP->fx_signed = 1; + ++ /* Set fx_tcbit3 for REX2 prefix. */ ++ if (is_apx_rex2_encoding ()) ++ fixP->fx_tcbit3 = 1; ++ + /* Check for "call/jmp *mem", "mov mem, %reg", + "test %reg, mem" and "binop mem, %reg" where binop + is one of adc, add, and, cmp, or, sbb, sub, xor +@@ -10305,6 +10978,7 @@ output_imm (fragS *insn_start_frag, offs + if (i.types[n].bitfield.imm32s + && (i.suffix == QWORD_MNEM_SUFFIX + || (!i.suffix && i.tm.opcode_modifier.no_lsuf) ++ || (i.prefix[REX_PREFIX] & REX_W) + || dot_insn ())) + sign = 1; + else +@@ -10700,7 +11374,7 @@ s_insn (int dummy ATTRIBUTE_UNUSED) + unsigned int j; + valueT val; + bool vex = false, xop = false, evex = false; +- static const templates tt = { &i.tm, &i.tm + 1 }; ++ struct last_insn *last_insn; + + init_globals (); + +@@ -10718,7 +11392,8 @@ s_insn (int dummy ATTRIBUTE_UNUSED) + } + line += end - line; + +- current_templates = &tt; ++ current_templates.start = &i.tm; ++ current_templates.end = &i.tm + 1; + i.tm.mnem_off = MN__insn; + i.tm.extension_opcode = None; + +@@ -10764,6 +11439,29 @@ s_insn (int dummy ATTRIBUTE_UNUSED) + if (line > end && i.vec_encoding == vex_encoding_default) + i.vec_encoding = evex ? vex_encoding_evex : vex_encoding_vex; + ++ if (i.vec_encoding != vex_encoding_default) ++ { ++ /* Only address size and segment override prefixes are permitted with ++ VEX/XOP/EVEX encodings. */ ++ const unsigned char *p = i.prefix; ++ ++ for (j = 0; j < ARRAY_SIZE (i.prefix); ++j, ++p) ++ { ++ if (!*p) ++ continue; ++ ++ switch (j) ++ { ++ case SEG_PREFIX: ++ case ADDR_PREFIX: ++ break; ++ default: ++ as_bad (_("illegal prefix used with VEX/XOP/EVEX")); ++ goto bad; ++ } ++ } ++ } ++ + if (line > end && *line == '.') + { + /* Length specifier (VEX.L, XOP.L, EVEX.L'L). */ +@@ -11072,6 +11770,10 @@ s_insn (int dummy ATTRIBUTE_UNUSED) + goto done; + } + ++ /* No need to distinguish vex_encoding_evex and vex_encoding_evex512. */ ++ if (i.vec_encoding == vex_encoding_evex512) ++ i.vec_encoding = vex_encoding_evex; ++ + /* Are we to emit ModR/M encoding? */ + if (!i.short_form + && (i.mem_operands +@@ -11201,6 +11903,16 @@ s_insn (int dummy ATTRIBUTE_UNUSED) + + for (j = i.imm_operands; j < i.operands; ++j) + { ++ /* Look for 8-bit operands that use old registers. */ ++ if (i.vec_encoding != vex_encoding_default ++ && flag_code == CODE_64BIT ++ && i.types[j].bitfield.class == Reg ++ && i.types[j].bitfield.byte ++ && !(i.op[j].regs->reg_flags & RegRex64) ++ && i.op[j].regs->reg_num > 3) ++ as_bad (_("can't encode register '%s%s' with VEX/XOP/EVEX"), ++ register_prefix, i.op[j].regs->reg_name); ++ + i.types[j].bitfield.instance = InstanceNone; + + if (operand_type_check (i.types[j], disp)) +@@ -11399,8 +12111,9 @@ s_insn (int dummy ATTRIBUTE_UNUSED) + ? i.broadcast.type || i.broadcast.bytes + || i.rounding.type != rc_none + || i.mask.reg +- : (i.broadcast.type || i.broadcast.bytes) +- && i.rounding.type != rc_none)) ++ : (i.mem_operands && i.rounding.type != rc_none) ++ || ((i.broadcast.type || i.broadcast.bytes) ++ && !(i.flags[i.broadcast.operand] & Operand_Mem)))) + { + as_bad (_("conflicting .insn operands")); + goto done; +@@ -11422,10 +12135,14 @@ s_insn (int dummy ATTRIBUTE_UNUSED) + build_evex_prefix (); + i.rex &= REX_OPCODE; + } +- else if (i.rex != 0) +- add_prefix (REX_OPCODE | i.rex); ++ else ++ establish_rex (); + +- output_insn (); ++ last_insn = &seg_info(now_seg)->tc_segment_info_data.last_insn; ++ output_insn (last_insn); ++ last_insn->kind = last_insn_directive; ++ last_insn->name = ".insn directive"; ++ last_insn->file = as_where (&last_insn->line); + + done: + *saved_ilp = saved_char; +@@ -11494,6 +12211,12 @@ RC_SAE_specifier (const char *pstr) + return NULL; + } + ++ if (i.vec_encoding == vex_encoding_default) ++ i.vec_encoding = vex_encoding_evex512; ++ else if (i.vec_encoding != vex_encoding_evex ++ && i.vec_encoding != vex_encoding_evex512) ++ return NULL; ++ + i.rounding.type = RC_NamesTable[j].type; + + return (char *)(pstr + RC_NamesTable[j].len); +@@ -11553,6 +12276,12 @@ check_VecOperations (char *op_string) + } + op_string++; + ++ if (i.vec_encoding == vex_encoding_default) ++ i.vec_encoding = vex_encoding_evex; ++ else if (i.vec_encoding != vex_encoding_evex ++ && i.vec_encoding != vex_encoding_evex512) ++ goto unknown_vec_op; ++ + i.broadcast.type = bcst_type; + i.broadcast.operand = this_operand; + +@@ -11895,8 +12624,8 @@ i386_displacement (char *disp_start, cha + operand_type_set (&bigdisp, 0); + if (i.jumpabsolute + || i.types[this_operand].bitfield.baseindex +- || (current_templates->start->opcode_modifier.jump != JUMP +- && current_templates->start->opcode_modifier.jump != JUMP_DWORD)) ++ || (current_templates.start->opcode_modifier.jump != JUMP ++ && current_templates.start->opcode_modifier.jump != JUMP_DWORD)) + { + i386_addressing_mode (); + override = (i.prefix[ADDR_PREFIX] != 0); +@@ -11917,24 +12646,18 @@ i386_displacement (char *disp_start, cha + dependent upon data size, but is never dependent upon address size. + Also make sure to not unintentionally match against a non-PC-relative + branch template. */ +- static templates aux_templates; +- const insn_template *t = current_templates->start; ++ const insn_template *t = current_templates.start; + bool has_intel64 = false; + +- aux_templates.start = t; +- while (++t < current_templates->end) ++ while (++t < current_templates.end) + { + if (t->opcode_modifier.jump +- != current_templates->start->opcode_modifier.jump) ++ != current_templates.start->opcode_modifier.jump) + break; + if ((t->opcode_modifier.isa64 >= INTEL64)) + has_intel64 = true; + } +- if (t < current_templates->end) +- { +- aux_templates.end = t; +- current_templates = &aux_templates; +- } ++ current_templates.end = t; + + override = (i.prefix[DATA_PREFIX] != 0); + if (flag_code == CODE_64BIT) +@@ -12107,7 +12830,7 @@ i386_finalize_displacement (segT exp_seg + } + #endif + +- else if (current_templates->start->opcode_modifier.jump == JUMP_BYTE) ++ else if (current_templates.start->opcode_modifier.jump == JUMP_BYTE) + i.types[this_operand].bitfield.disp8 = 1; + + /* Check if this is a displacement only operand. */ +@@ -12131,7 +12854,7 @@ i386_addressing_mode (void) + if (i.prefix[ADDR_PREFIX]) + addr_mode = flag_code == CODE_32BIT ? CODE_16BIT : CODE_32BIT; + else if (flag_code == CODE_16BIT +- && current_templates->start->cpu_flags.bitfield.cpumpx ++ && is_cpu (current_templates.start, CpuMPX) + /* Avoid replacing the "16-bit addressing not allowed" diagnostic + from md_assemble() by "is not a valid base/index expression" + when there is a base and/or index. */ +@@ -12204,20 +12927,20 @@ i386_index_check (const char *operand_st + { + const char *kind = "base/index"; + enum flag_code addr_mode = i386_addressing_mode (); +- const insn_template *t = current_templates->end - 1; ++ const insn_template *t = current_templates.end - 1; + + if (t->opcode_modifier.isstring) + { + /* Memory operands of string insns are special in that they only allow + a single register (rDI, rSI, or rBX) as their memory address. */ + const reg_entry *expected_reg; +- static const char *di_si[][2] = ++ static const char di_si[][2][4] = + { + { "esi", "edi" }, + { "si", "di" }, + { "rsi", "rdi" } + }; +- static const char *bx[] = { "ebx", "bx", "rbx" }; ++ static const char bx[][4] = { "ebx", "bx", "rbx" }; + + kind = "string address"; + +@@ -12271,7 +12994,7 @@ i386_index_check (const char *operand_st + } + else + { +- t = current_templates->start; ++ t = current_templates.start; + + if (addr_mode != CODE_16BIT) + { +@@ -12396,7 +13119,7 @@ i386_att_operand (char *operand_string) + /* We check for an absolute prefix (differentiating, + for example, 'jmp pc_relative_label' from 'jmp *absolute_label'. */ + if (*op_string == ABSOLUTE_PREFIX +- && current_templates->start->opcode_modifier.jump) ++ && current_templates.start->opcode_modifier.jump) + { + ++op_string; + if (is_space_char (*op_string)) +@@ -12428,7 +13151,7 @@ i386_att_operand (char *operand_string) + + /* Handle case of %es:*foo. */ + if (!i.jumpabsolute && *op_string == ABSOLUTE_PREFIX +- && current_templates->start->opcode_modifier.jump) ++ && current_templates.start->opcode_modifier.jump) + { + ++op_string; + if (is_space_char (*op_string)) +@@ -12485,7 +13208,7 @@ i386_att_operand (char *operand_string) + if (i.rounding.type == RC_NamesTable[j].type) + break; + as_bad (_("`%s': misplaced `{%s}'"), +- insn_name (current_templates->start), RC_NamesTable[j].name); ++ insn_name (current_templates.start), RC_NamesTable[j].name); + return 0; + } + } +@@ -12507,7 +13230,7 @@ i386_att_operand (char *operand_string) + if (i.rounding.type != rc_none) + { + as_bad (_("`%s': RC/SAE operand must follow immediate operands"), +- insn_name (current_templates->start)); ++ insn_name (current_templates.start)); + return 0; + } + } +@@ -12520,7 +13243,7 @@ i386_att_operand (char *operand_string) + && i.op[0].regs->reg_type.bitfield.class != Reg)) + { + as_bad (_("`%s': misplaced `%s'"), +- insn_name (current_templates->start), operand_string); ++ insn_name (current_templates.start), operand_string); + return 0; + } + } +@@ -12734,6 +13457,8 @@ i386_att_operand (char *operand_string) + && !operand_type_check (i.types[this_operand], disp)) + { + i.types[this_operand] = i.base_reg->reg_type; ++ i.op[this_operand].regs = i.base_reg; ++ i.base_reg = NULL; + i.input_output_operand = true; + return 1; + } +@@ -13249,7 +13974,8 @@ md_estimate_size_before_relax (fragS *fr + else if (size == 2) + reloc_type = BFD_RELOC_16_PCREL; + #if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) +- else if (fragP->tc_frag_data.code64 && fragP->fr_offset == 0 ++ else if (fragP->tc_frag_data.code == CODE_64BIT ++ && fragP->fr_offset == 0 + && need_plt32_p (fragP->fr_symbol)) + reloc_type = BFD_RELOC_X86_64_PLT32; + #endif +@@ -13676,7 +14402,9 @@ md_apply_fix (fixS *fixP, valueT *valP, + case BFD_RELOC_X86_64_TLSGD: + case BFD_RELOC_X86_64_TLSLD: + case BFD_RELOC_X86_64_GOTTPOFF: ++ case BFD_RELOC_X86_64_CODE_4_GOTTPOFF: + case BFD_RELOC_X86_64_GOTPC32_TLSDESC: ++ case BFD_RELOC_X86_64_CODE_4_GOTPC32_TLSDESC: + value = 0; /* Fully resolved at runtime. No addend. */ + /* Fallthrough */ + case BFD_RELOC_386_TLS_LE: +@@ -13814,8 +14542,17 @@ static bool check_register (const reg_en + } + } + +- if (vector_size < VSZ512 && r->reg_type.bitfield.zmmword) +- return false; ++ if (r->reg_type.bitfield.zmmword) ++ { ++ if (vector_size < VSZ512) ++ return false; ++ ++ if (i.vec_encoding == vex_encoding_default) ++ i.vec_encoding = vex_encoding_evex512; ++ else if (i.vec_encoding != vex_encoding_evex ++ && i.vec_encoding != vex_encoding_evex512) ++ i.vec_encoding = vex_encoding_error; ++ } + + if (vector_size < VSZ256 && r->reg_type.bitfield.ymmword) + return false; +@@ -13840,14 +14577,24 @@ static bool check_register (const reg_en + || flag_code != CODE_64BIT) + return false; + +- if (i.vec_encoding == vex_encoding_default) ++ if (i.vec_encoding == vex_encoding_default ++ || i.vec_encoding == vex_encoding_evex512) + i.vec_encoding = vex_encoding_evex; + else if (i.vec_encoding != vex_encoding_evex) + i.vec_encoding = vex_encoding_error; + } + ++ if (r->reg_flags & RegRex2) ++ { ++ if (!cpu_arch_flags.bitfield.cpuapx_f ++ || flag_code != CODE_64BIT) ++ return false; ++ ++ i.has_egpr = true; ++ } ++ + if (((r->reg_flags & (RegRex64 | RegRex)) || r->reg_type.bitfield.qword) +- && (!cpu_arch_flags.bitfield.cpulm ++ && (!cpu_arch_flags.bitfield.cpu64 + || r->reg_type.bitfield.class != RegCR + || dot_insn ()) + && flag_code != CODE_64BIT) +@@ -14347,10 +15094,7 @@ md_parse_option (int c, const char *arg) + cpu_arch_isa = cpu_arch[j].type; + cpu_arch_isa_flags = cpu_arch[j].enable; + if (!cpu_arch_tune_set) +- { +- cpu_arch_tune = cpu_arch_isa; +- cpu_arch_tune_flags = cpu_arch_isa_flags; +- } ++ cpu_arch_tune = cpu_arch_isa; + vector_size = VSZ_DEFAULT; + break; + } +@@ -14359,21 +15103,7 @@ md_parse_option (int c, const char *arg) + && !cpu_flags_all_zero (&cpu_arch[j].enable)) + { + /* ISA extension. */ +- i386_cpu_flags flags; +- +- flags = cpu_flags_or (cpu_arch_flags, +- cpu_arch[j].enable); +- +- if (!cpu_flags_equal (&flags, &cpu_arch_flags)) +- { +- extend_cpu_sub_arch_name (arch); +- cpu_arch_flags = flags; +- cpu_arch_isa_flags = flags; +- } +- else +- cpu_arch_isa_flags +- = cpu_flags_or (cpu_arch_isa_flags, +- cpu_arch[j].enable); ++ isa_enable (j); + + switch (cpu_arch[j].vsz) + { +@@ -14416,16 +15146,7 @@ md_parse_option (int c, const char *arg) + if (cpu_arch[j].type == PROCESSOR_NONE + && strcmp (arch + 2, cpu_arch[j].name) == 0) + { +- i386_cpu_flags flags; +- +- flags = cpu_flags_and_not (cpu_arch_flags, +- cpu_arch[j].disable); +- if (!cpu_flags_equal (&flags, &cpu_arch_flags)) +- { +- extend_cpu_sub_arch_name (arch); +- cpu_arch_flags = flags; +- cpu_arch_isa_flags = flags; +- } ++ isa_disable (j); + if (cpu_arch[j].vsz == vsz_set) + vector_size = VSZ_DEFAULT; + break; +@@ -14451,7 +15172,6 @@ md_parse_option (int c, const char *arg) + { + cpu_arch_tune_set = 1; + cpu_arch_tune = cpu_arch [j].type; +- cpu_arch_tune_flags = cpu_arch[j].enable; + break; + } + } +@@ -14955,7 +15675,7 @@ md_show_usage (FILE *stream) + else + fprintf (stream, _("(default: intel)\n")); + fprintf (stream, _("\ +- use AT&T/Intel mnemonic\n")); ++ use AT&T/Intel mnemonic (AT&T syntax only)\n")); + fprintf (stream, _("\ + -msyntax=[att|intel] (default: att)\n\ + use AT&T/Intel syntax\n")); +@@ -15037,10 +15757,12 @@ i386_target_format (void) + if (startswith (default_arch, "x86_64")) + { + update_code_flag (CODE_64BIT, 1); ++#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) + if (default_arch[6] == '\0') + x86_elf_abi = X86_64_ABI; + else + x86_elf_abi = X86_64_X32_ABI; ++#endif + } + else if (!strcmp (default_arch, "i386")) + update_code_flag (CODE_32BIT, 1); +@@ -15057,10 +15779,7 @@ i386_target_format (void) + cpu_arch_isa = PROCESSOR_IAMCU; + cpu_arch_isa_flags = iamcu_flags; + if (!cpu_arch_tune_set) +- { +- cpu_arch_tune = cpu_arch_isa; +- cpu_arch_tune_flags = cpu_arch_isa_flags; +- } ++ cpu_arch_tune = PROCESSOR_IAMCU; + } + else if (cpu_arch_isa != PROCESSOR_IAMCU) + as_fatal (_("Intel MCU doesn't support `%s' architecture"), +@@ -15071,8 +15790,6 @@ i386_target_format (void) + + if (cpu_flags_all_zero (&cpu_arch_isa_flags)) + cpu_arch_isa_flags = cpu_arch[flag_code == CODE_64BIT].enable; +- if (cpu_flags_all_zero (&cpu_arch_tune_flags)) +- cpu_arch_tune_flags = cpu_arch[flag_code == CODE_64BIT].enable; + + switch (OUTPUT_FLAVOR) + { +@@ -15177,12 +15894,12 @@ md_undefined_symbol (char *name) + return 0; + } + ++#if defined (OBJ_AOUT) || defined (OBJ_MAYBE_AOUT) + /* Round up a section size to the appropriate boundary. */ + + valueT +-md_section_align (segT segment ATTRIBUTE_UNUSED, valueT size) ++md_section_align (segT segment, valueT size) + { +-#if (defined (OBJ_AOUT) || defined (OBJ_MAYBE_AOUT)) + if (OUTPUT_FLAVOR == bfd_target_aout_flavour) + { + /* For a.out, force the section size to be aligned. If we don't do +@@ -15195,10 +15912,10 @@ md_section_align (segT segment ATTRIBUTE + align = bfd_section_alignment (segment); + size = ((size + (1 << align) - 1) & (-((valueT) 1 << align))); + } +-#endif + + return size; + } ++#endif + + /* On the i386, PC-relative offsets are relative to the start of the + next instruction. That is, the address of the offset, plus its +@@ -15210,17 +15927,13 @@ md_pcrel_from (fixS *fixP) + return fixP->fx_size + fixP->fx_where + fixP->fx_frag->fr_address; + } + +-#ifndef I386COFF ++#ifdef OBJ_AOUT + + static void + s_bss (int ignore ATTRIBUTE_UNUSED) + { + int temp; + +-#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) +- if (IS_ELF) +- obj_elf_section_change_hook (); +-#endif + temp = get_absolute_expression (); + subseg_set (bss_section, (subsegT) temp); + demand_empty_rest_of_line (); +@@ -15233,23 +15946,14 @@ s_bss (int ignore ATTRIBUTE_UNUSED) + void + i386_cons_align (int ignore ATTRIBUTE_UNUSED) + { +- if (last_insn.kind != last_insn_directive +- && (bfd_section_flags (now_seg) & SEC_CODE)) ++ struct last_insn *last_insn ++ = &seg_info(now_seg)->tc_segment_info_data.last_insn; ++ ++ if (bfd_section_flags (now_seg) & SEC_CODE) + { +- last_insn.seg = now_seg; +- last_insn.kind = last_insn_directive; +- last_insn.name = "constant directive"; +- last_insn.file = as_where (&last_insn.line); +- if (lfence_before_ret != lfence_before_ret_none) +- { +- if (lfence_before_indirect_branch != lfence_branch_none) +- as_warn (_("constant directive skips -mlfence-before-ret " +- "and -mlfence-before-indirect-branch")); +- else +- as_warn (_("constant directive skips -mlfence-before-ret")); +- } +- else if (lfence_before_indirect_branch != lfence_branch_none) +- as_warn (_("constant directive skips -mlfence-before-indirect-branch")); ++ last_insn->kind = last_insn_directive; ++ last_insn->name = "constant directive"; ++ last_insn->file = as_where (&last_insn->line); + } + } + +@@ -15273,6 +15977,14 @@ i386_validate_fix (fixS *fixp) + return IS_ELF && fixp->fx_addsy + && (!S_IS_DEFINED (fixp->fx_addsy) + || S_IS_EXTERNAL (fixp->fx_addsy)); ++ ++ if (fixp->fx_tcbit3) ++ { ++ if (fixp->fx_r_type == BFD_RELOC_X86_64_GOTTPOFF) ++ fixp->fx_r_type = BFD_RELOC_X86_64_CODE_4_GOTTPOFF; ++ else if (fixp->fx_r_type == BFD_RELOC_X86_64_GOTPC32_TLSDESC) ++ fixp->fx_r_type = BFD_RELOC_X86_64_CODE_4_GOTPC32_TLSDESC; ++ } + #endif + + if (fixp->fx_subsy) +@@ -15285,9 +15997,14 @@ i386_validate_fix (fixS *fixp) + abort (); + #if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) + if (fixp->fx_tcbit2) +- fixp->fx_r_type = (fixp->fx_tcbit +- ? BFD_RELOC_X86_64_REX_GOTPCRELX +- : BFD_RELOC_X86_64_GOTPCRELX); ++ { ++ if (fixp->fx_tcbit3) ++ fixp->fx_r_type = BFD_RELOC_X86_64_CODE_4_GOTPCRELX; ++ else ++ fixp->fx_r_type = (fixp->fx_tcbit ++ ? BFD_RELOC_X86_64_REX_GOTPCRELX ++ : BFD_RELOC_X86_64_GOTPCRELX); ++ } + else + #endif + fixp->fx_r_type = BFD_RELOC_X86_64_GOTPCREL; +@@ -15391,6 +16108,7 @@ tc_gen_reloc (asection *section ATTRIBUT + case BFD_RELOC_X86_64_GOTPCREL: + case BFD_RELOC_X86_64_GOTPCRELX: + case BFD_RELOC_X86_64_REX_GOTPCRELX: ++ case BFD_RELOC_X86_64_CODE_4_GOTPCRELX: + case BFD_RELOC_386_PLT32: + case BFD_RELOC_386_GOT32: + case BFD_RELOC_386_GOT32X: +@@ -15411,6 +16129,7 @@ tc_gen_reloc (asection *section ATTRIBUT + case BFD_RELOC_X86_64_DTPOFF32: + case BFD_RELOC_X86_64_DTPOFF64: + case BFD_RELOC_X86_64_GOTTPOFF: ++ case BFD_RELOC_X86_64_CODE_4_GOTTPOFF: + case BFD_RELOC_X86_64_TPOFF32: + case BFD_RELOC_X86_64_TPOFF64: + case BFD_RELOC_X86_64_GOTOFF64: +@@ -15421,6 +16140,7 @@ tc_gen_reloc (asection *section ATTRIBUT + case BFD_RELOC_X86_64_GOTPLT64: + case BFD_RELOC_X86_64_PLTOFF64: + case BFD_RELOC_X86_64_GOTPC32_TLSDESC: ++ case BFD_RELOC_X86_64_CODE_4_GOTPC32_TLSDESC: + case BFD_RELOC_X86_64_TLSDESC_CALL: + case BFD_RELOC_RVA: + case BFD_RELOC_VTABLE_ENTRY: +@@ -15549,10 +16269,13 @@ tc_gen_reloc (asection *section ATTRIBUT + case BFD_RELOC_X86_64_GOTPCREL: + case BFD_RELOC_X86_64_GOTPCRELX: + case BFD_RELOC_X86_64_REX_GOTPCRELX: ++ case BFD_RELOC_X86_64_CODE_4_GOTPCRELX: + case BFD_RELOC_X86_64_TLSGD: + case BFD_RELOC_X86_64_TLSLD: + case BFD_RELOC_X86_64_GOTTPOFF: ++ case BFD_RELOC_X86_64_CODE_4_GOTTPOFF: + case BFD_RELOC_X86_64_GOTPC32_TLSDESC: ++ case BFD_RELOC_X86_64_CODE_4_GOTPC32_TLSDESC: + case BFD_RELOC_X86_64_TLSDESC_CALL: + rel->addend = fixp->fx_offset - fixp->fx_size; + break; +@@ -15642,6 +16365,20 @@ x86_dwarf2_addr_size (void) + return bfd_arch_bits_per_address (stdoutput) / 8; + } + ++#ifdef TE_PE ++void ++tc_pe_dwarf2_emit_offset (symbolS *symbol, unsigned int size) ++{ ++ expressionS exp; ++ ++ exp.X_op = O_secrel; ++ exp.X_add_symbol = symbol; ++ exp.X_add_number = 0; ++ emit_expr (&exp, size); ++} ++#endif ++ ++#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) + int + i386_elf_section_type (const char *str, size_t len) + { +@@ -15653,29 +16390,48 @@ i386_elf_section_type (const char *str, + return -1; + } + +-#ifdef TE_SOLARIS + void +-i386_solaris_fix_up_eh_frame (segT sec) ++i386_elf_section_change_hook (void) + { +- if (flag_code == CODE_64BIT) +- elf_section_type (sec) = SHT_X86_64_UNWIND; ++ struct i386_segment_info *info = &seg_info(now_seg)->tc_segment_info_data; ++ struct i386_segment_info *curr, *prev; ++ ++ if (info->subseg == now_subseg) ++ return; ++ ++ /* Find the (or make a) list entry to save state into. */ ++ for (prev = info; (curr = prev->next) != NULL; prev = curr) ++ if (curr->subseg == info->subseg) ++ break; ++ if (!curr) ++ { ++ curr = XNEW (struct i386_segment_info); ++ curr->subseg = info->subseg; ++ curr->next = NULL; ++ prev->next = curr; ++ } ++ curr->last_insn = info->last_insn; ++ ++ /* Find the list entry to load state from. */ ++ for (curr = info->next; curr; curr = curr->next) ++ if (curr->subseg == now_subseg) ++ break; ++ if (curr) ++ info->last_insn = curr->last_insn; ++ else ++ memset (&info->last_insn, 0, sizeof (info->last_insn)); ++ info->subseg = now_subseg; + } +-#endif + +-#ifdef TE_PE ++#ifdef TE_SOLARIS + void +-tc_pe_dwarf2_emit_offset (symbolS *symbol, unsigned int size) ++i386_solaris_fix_up_eh_frame (segT sec) + { +- expressionS exp; +- +- exp.X_op = O_secrel; +- exp.X_add_symbol = symbol; +- exp.X_add_number = 0; +- emit_expr (&exp, size); ++ if (flag_code == CODE_64BIT) ++ elf_section_type (sec) = SHT_X86_64_UNWIND; + } + #endif + +-#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) + /* For ELF on x86-64, add support for SHF_X86_64_LARGE. */ + + bfd_vma +@@ -15693,15 +16449,6 @@ x86_64_section_letter (int letter, const + return -1; + } + +-bfd_vma +-x86_64_section_word (char *str, size_t len) +-{ +- if (len == 5 && flag_code == CODE_64BIT && startswith (str, "large")) +- return SHF_X86_64_LARGE; +- +- return -1; +-} +- + static void + handle_large_common (int small ATTRIBUTE_UNUSED) + { +diff -rupN binutils.orig/gas/config/tc-i386.h binutils-2.41/gas/config/tc-i386.h +--- binutils.orig/gas/config/tc-i386.h 2024-01-18 12:12:23.451945825 +0000 ++++ binutils-2.41/gas/config/tc-i386.h 2024-01-18 13:18:32.567418071 +0000 +@@ -1,5 +1,5 @@ + /* tc-i386.h -- Header file for tc-i386.c +- Copyright (C) 1989-2023 Free Software Foundation, Inc. ++ Copyright (C) 1989-2024 Free Software Foundation, Inc. + + This file is part of GAS, the GNU Assembler. + +@@ -141,8 +141,12 @@ int i386_validate_fix (struct fix *); + if (!i386_validate_fix(FIX)) goto SKIP; \ + } while (0) + ++#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) + #define tc_fix_adjustable(X) tc_i386_fix_adjustable(X) + extern int tc_i386_fix_adjustable (struct fix *); ++#else ++#define tc_fix_adjustable(X) ((void)(X), 1) ++#endif + + /* Values passed to md_apply_fix don't include the symbol value. */ + #define MD_APPLY_SYM_VALUE(FIX) 0 +@@ -150,11 +154,9 @@ extern int tc_i386_fix_adjustable (struc + /* ELF wants external syms kept, as does PE COFF. */ + #if defined (TE_PE) && defined (STRICT_PE_FORMAT) + #define EXTERN_FORCE_RELOC \ +- (OUTPUT_FLAVOR == bfd_target_elf_flavour \ +- || OUTPUT_FLAVOR == bfd_target_coff_flavour) ++ (IS_ELF || OUTPUT_FLAVOR == bfd_target_coff_flavour) + #else +-#define EXTERN_FORCE_RELOC \ +- (OUTPUT_FLAVOR == bfd_target_elf_flavour) ++#define EXTERN_FORCE_RELOC IS_ELF + #endif + + /* This expression evaluates to true if the relocation is for a local +@@ -169,7 +171,8 @@ extern int tc_i386_fix_adjustable (struc + || (FIX)->fx_r_type == BFD_RELOC_386_GOTPC \ + || (FIX)->fx_r_type == BFD_RELOC_X86_64_GOTPCREL \ + || (FIX)->fx_r_type == BFD_RELOC_X86_64_GOTPCRELX \ +- || (FIX)->fx_r_type == BFD_RELOC_X86_64_REX_GOTPCRELX) ++ || (FIX)->fx_r_type == BFD_RELOC_X86_64_REX_GOTPCRELX \ ++ || (FIX)->fx_r_type == BFD_RELOC_X86_64_CODE_4_GOTPCRELX) + + #define TC_FORCE_RELOCATION_ABS(FIX) \ + (TC_FORCE_RELOCATION (FIX) \ +@@ -177,7 +180,8 @@ extern int tc_i386_fix_adjustable (struc + || (FIX)->fx_r_type == BFD_RELOC_386_GOT32X \ + || (FIX)->fx_r_type == BFD_RELOC_X86_64_GOTPCREL \ + || (FIX)->fx_r_type == BFD_RELOC_X86_64_GOTPCRELX \ +- || (FIX)->fx_r_type == BFD_RELOC_X86_64_REX_GOTPCRELX) ++ || (FIX)->fx_r_type == BFD_RELOC_X86_64_REX_GOTPCRELX \ ++ || (FIX)->fx_r_type == BFD_RELOC_X86_64_CODE_4_GOTPCRELX) + + extern int i386_parse_name (char *, expressionS *, char *); + #define md_parse_name(s, e, m, c) i386_parse_name (s, e, c) +@@ -219,6 +223,10 @@ if ((n) \ + extern void i386_cons_align (int); + #define md_cons_align(nbytes) i386_cons_align (nbytes) + ++#if !defined (OBJ_AOUT) && !defined (OBJ_MAYBE_AOUT) ++#define md_section_align(seg, value) ((void)(seg), (value)) ++#endif ++ + void i386_print_statistics (FILE *); + #define tc_print_statistics i386_print_statistics + +@@ -242,6 +250,7 @@ enum processor_type + PROCESSOR_I386, + PROCESSOR_I486, + PROCESSOR_PENTIUM, ++ PROCESSOR_I686, + PROCESSOR_PENTIUMPRO, + PROCESSOR_PENTIUM4, + PROCESSOR_NOCONA, +@@ -260,10 +269,39 @@ enum processor_type + PROCESSOR_NONE + }; + ++extern i386_cpu_flags cpu_arch_flags; + extern enum processor_type cpu_arch_tune; + extern enum processor_type cpu_arch_isa; + extern i386_cpu_flags cpu_arch_isa_flags; + ++/* We support four different modes. I386_FLAG_CODE variable is used to ++ distinguish three of these. */ ++ ++extern enum i386_flag_code { ++ CODE_32BIT, ++ CODE_16BIT, ++ CODE_64BIT ++} i386_flag_code; ++ ++struct i386_segment_info { ++ /* Type of previous "instruction", e.g. .byte or stand-alone prefix. */ ++ struct last_insn { ++ const char *file; ++ const char *name; ++ unsigned int line; ++ enum last_insn_kind ++ { ++ last_insn_other = 0, ++ last_insn_directive, ++ last_insn_prefix ++ } kind; ++ } last_insn; ++ subsegT subseg; ++ struct i386_segment_info *next; ++}; ++ ++#define TC_SEGMENT_INFO_TYPE struct i386_segment_info ++ + struct i386_tc_frag_data + { + union +@@ -273,8 +311,8 @@ struct i386_tc_frag_data + } u; + addressT padding_address; + enum processor_type isa; +- i386_cpu_flags isa_flags; + enum processor_type tune; ++ enum i386_flag_code code; + unsigned int max_bytes; + unsigned char length; + unsigned char last_length; +@@ -285,7 +323,9 @@ struct i386_tc_frag_data + unsigned int mf_type : 3; + unsigned int classified : 1; + unsigned int branch_type : 3; +- unsigned int code64 : 1; /* Only set by output_branch for now. */ ++ unsigned int cpunop : 1; ++ unsigned int isanop : 1; ++ unsigned int last_insn_normal : 1; + }; + + /* We need to emit the right NOP pattern in .align frags. This is +@@ -299,8 +339,10 @@ struct i386_tc_frag_data + (FRAGP)->tc_frag_data.u.padding_fragP = NULL; \ + (FRAGP)->tc_frag_data.padding_address = 0; \ + (FRAGP)->tc_frag_data.isa = cpu_arch_isa; \ +- (FRAGP)->tc_frag_data.isa_flags = cpu_arch_isa_flags; \ + (FRAGP)->tc_frag_data.tune = cpu_arch_tune; \ ++ (FRAGP)->tc_frag_data.cpunop = cpu_arch_flags.bitfield.cpunop; \ ++ (FRAGP)->tc_frag_data.isanop = cpu_arch_isa_flags.bitfield.cpunop; \ ++ (FRAGP)->tc_frag_data.code = i386_flag_code; \ + (FRAGP)->tc_frag_data.max_bytes = (MAX_BYTES); \ + (FRAGP)->tc_frag_data.length = 0; \ + (FRAGP)->tc_frag_data.last_length = 0; \ +@@ -310,7 +352,10 @@ struct i386_tc_frag_data + (FRAGP)->tc_frag_data.cmp_size = 0; \ + (FRAGP)->tc_frag_data.classified = 0; \ + (FRAGP)->tc_frag_data.branch_type = 0; \ +- (FRAGP)->tc_frag_data.mf_type = 0; \ ++ (FRAGP)->tc_frag_data.mf_type = 0; \ ++ (FRAGP)->tc_frag_data.last_insn_normal \ ++ = (seg_info(now_seg)->tc_segment_info_data.last_insn.kind \ ++ == last_insn_other); \ + } \ + while (0) + +@@ -354,16 +399,17 @@ extern void tc_x86_frame_initial_instruc + #define md_elf_section_type(str,len) i386_elf_section_type (str, len) + extern int i386_elf_section_type (const char *, size_t); + ++#define md_elf_section_change_hook i386_elf_section_change_hook ++extern void i386_elf_section_change_hook (void); ++ + #ifdef TE_SOLARIS + #define md_fix_up_eh_frame(sec) i386_solaris_fix_up_eh_frame (sec) + extern void i386_solaris_fix_up_eh_frame (segT); + #endif + + /* Support for SHF_X86_64_LARGE */ +-extern bfd_vma x86_64_section_word (char *, size_t); + extern bfd_vma x86_64_section_letter (int, const char **); + #define md_elf_section_letter(LETTER, PTR_MSG) x86_64_section_letter (LETTER, PTR_MSG) +-#define md_elf_section_word(STR, LEN) x86_64_section_word (STR, LEN) + + #if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) + extern void x86_cleanup (void); +diff -rupN binutils.orig/gas/testsuite/gas/i386/287.s binutils-2.41/gas/testsuite/gas/i386/287.s +--- binutils.orig/gas/testsuite/gas/i386/287.s 2024-01-18 12:12:23.726946018 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/287.s 2024-01-18 13:32:46.320889311 +0000 +@@ -1,9 +1,9 @@ + # Check 287-only instructions. + + .text ++ .code16 + .arch i286 + .arch .287 +- .code16 + _8087: + fnsetpm + frstpm +diff -rupN binutils.orig/gas/testsuite/gas/i386/8087.s binutils-2.41/gas/testsuite/gas/i386/8087.s +--- binutils.orig/gas/testsuite/gas/i386/8087.s 2024-01-18 12:12:23.726946018 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/8087.s 2024-01-18 13:32:46.320889311 +0000 +@@ -1,9 +1,9 @@ + # Check 8087-only instructions. + + .text ++ .code16 + .arch i8086 + .arch .8087 +- .code16 + _8087: + fdisi + feni +diff -rupN binutils.orig/gas/testsuite/gas/i386/adx.s binutils-2.41/gas/testsuite/gas/i386/adx.s +--- binutils.orig/gas/testsuite/gas/i386/adx.s 2024-01-18 12:12:23.727946019 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/adx.s 2024-01-18 13:32:46.320889311 +0000 +@@ -1,5 +1,4 @@ + # Check ADX instructions. +- .allow_index_reg + .text + _start: + adcx 400(%ecx), %eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/align-branch-6.d binutils-2.41/gas/testsuite/gas/i386/align-branch-6.d +--- binutils.orig/gas/testsuite/gas/i386/align-branch-6.d 2024-01-18 12:12:23.728946020 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/align-branch-6.d 2024-01-18 13:32:46.321889312 +0000 +@@ -8,14 +8,13 @@ Disassembly of section .text: + + 0+ <_start>: + +[a-f0-9]+: eb 3c jmp 3e <_start\+0x3e> +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi + +[a-f0-9]+: f2 73 bf bnd jae 0 <_start> + +[a-f0-9]+: c3 ret +diff -rupN binutils.orig/gas/testsuite/gas/i386/align-branch-6.e binutils-2.41/gas/testsuite/gas/i386/align-branch-6.e +--- binutils.orig/gas/testsuite/gas/i386/align-branch-6.e 2024-01-18 12:12:23.728946020 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/align-branch-6.e 2024-01-18 13:32:46.321889312 +0000 +@@ -1,2 +1,2 @@ + .*: Assembler messages: +-.*:4: Warning: `constant directive` skips -malign-branch-boundary on `jnc` ++.*:5: Warning: `constant directive` skips -malign-branch-boundary on `jnc` +diff -rupN binutils.orig/gas/testsuite/gas/i386/amx-complex-inval.l binutils-2.41/gas/testsuite/gas/i386/amx-complex-inval.l +--- binutils.orig/gas/testsuite/gas/i386/amx-complex-inval.l 2024-01-18 12:12:23.728946020 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/amx-complex-inval.l 2024-01-18 13:32:46.321889312 +0000 +@@ -1,3 +1,3 @@ + .* Assembler messages: +-.*:6: Error: `tcmmimfp16ps' is only supported in 64-bit mode +-.*:7: Error: `tcmmrlfp16ps' is only supported in 64-bit mode ++.*:5: Error: `tcmmimfp16ps' is only supported in 64-bit mode ++.*:6: Error: `tcmmrlfp16ps' is only supported in 64-bit mode +diff -rupN binutils.orig/gas/testsuite/gas/i386/amx-complex-inval.s binutils-2.41/gas/testsuite/gas/i386/amx-complex-inval.s +--- binutils.orig/gas/testsuite/gas/i386/amx-complex-inval.s 2024-01-18 12:12:23.728946020 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/amx-complex-inval.s 2024-01-18 13:32:46.321889312 +0000 +@@ -1,6 +1,5 @@ + # Check Illegal AMX-COMPLEX instructions + +- .allow_index_reg + .text + _start: + tcmmimfp16ps %tmm1, %tmm2, %tmm3 +diff -rupN binutils.orig/gas/testsuite/gas/i386/apx-push2pop2-inval.l binutils-2.41/gas/testsuite/gas/i386/apx-push2pop2-inval.l +--- binutils.orig/gas/testsuite/gas/i386/apx-push2pop2-inval.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/apx-push2pop2-inval.l 2024-01-18 13:32:46.321889312 +0000 +@@ -0,0 +1,5 @@ ++.* Assembler messages: ++.*:6: Error: `push2' is only supported in 64-bit mode ++.*:7: Error: `push2p' is only supported in 64-bit mode ++.*:8: Error: `pop2' is only supported in 64-bit mode ++.*:9: Error: `pop2p' is only supported in 64-bit mode +diff -rupN binutils.orig/gas/testsuite/gas/i386/apx-push2pop2-inval.s binutils-2.41/gas/testsuite/gas/i386/apx-push2pop2-inval.s +--- binutils.orig/gas/testsuite/gas/i386/apx-push2pop2-inval.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/apx-push2pop2-inval.s 2024-01-18 13:32:46.321889312 +0000 +@@ -0,0 +1,9 @@ ++# Check 32bit APX-PUSH2/POP2 instructions ++ ++ .allow_index_reg ++ .text ++_start: ++ push2 %rax, %rbx ++ push2p %rax, %rbx ++ pop2 %rax, %rbx ++ pop2p %rax, %rbx +diff -rupN binutils.orig/gas/testsuite/gas/i386/arch-15-znver5.d binutils-2.41/gas/testsuite/gas/i386/arch-15-znver5.d +--- binutils.orig/gas/testsuite/gas/i386/arch-15-znver5.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/arch-15-znver5.d 2024-01-18 13:32:46.322889312 +0000 +@@ -0,0 +1,5 @@ ++#source: arch-15.s ++#as: -march=znver5 ++#objdump: -dw ++#name: i386 arch 15 (znver5) ++#dump: arch-15.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/arch-15.d binutils-2.41/gas/testsuite/gas/i386/arch-15.d +--- binutils.orig/gas/testsuite/gas/i386/arch-15.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/arch-15.d 2024-01-18 13:32:46.323889313 +0000 +@@ -0,0 +1,13 @@ ++#objdump: -dw ++#name: i386 arch 15 ++ ++.*: file format .* ++ ++Disassembly of section .text: ++ ++0+ <.text>: ++[ ]*[a-f0-9]+:[ ]*c4 e2 59 50 d2[ ]*\{vex\} vpdpbusd %xmm2,%xmm4,%xmm2 ++[ ]*[a-f0-9]+:[ ]*0f 38 f9 01[ ]*movdiri %eax,\(%ecx\) ++[ ]*[a-f0-9]+:[ ]*66 0f 38 f8 01[ ]*movdir64b \(%ecx\),%eax ++[ ]*[a-f0-9]+:[ ]*62 f2 6f 48 68 d9[ ]*vp2intersectd %zmm1,%zmm2,%k3 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/arch-15.s binutils-2.41/gas/testsuite/gas/i386/arch-15.s +--- binutils.orig/gas/testsuite/gas/i386/arch-15.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/arch-15.s 2024-01-18 13:32:46.323889313 +0000 +@@ -0,0 +1,7 @@ ++# Test -march= ++ .text ++ ++ {vex} vpdpbusd %xmm2, %xmm4, %xmm2 #AVX_VNNI ++ movdiri %eax, (%ecx) #MOVDIRI ++ movdir64b (%ecx), %eax #MOVDIR64B ++ vp2intersectd %zmm1, %zmm2, %k3 #AVX512_VP2INTERSECT +diff -rupN binutils.orig/gas/testsuite/gas/i386/att-regs.s binutils-2.41/gas/testsuite/gas/i386/att-regs.s +--- binutils.orig/gas/testsuite/gas/i386/att-regs.s 2024-01-18 12:12:23.730946021 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/att-regs.s 2024-01-18 13:32:46.323889313 +0000 +@@ -1,8 +1,8 @@ + .text + .att_syntax noprefix + +- .arch i286 + .code16 ++ .arch i286 + mov eax, ax ; add al, (bx,si) + mov rax, ax ; add al, (bx,si) + mov axl, ax ; add al, (bx,si) +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-gather-intel.d binutils-2.41/gas/testsuite/gas/i386/avx-gather-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx-gather-intel.d 2024-01-18 12:12:23.731946022 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-gather-intel.d 2024-01-18 13:32:46.324889313 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: i386 AVX GATHER insns (Intel disassembly) + #source: avx-gather.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-gather.d binutils-2.41/gas/testsuite/gas/i386/avx-gather.d +--- binutils.orig/gas/testsuite/gas/i386/avx-gather.d 2024-01-18 12:12:23.731946022 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-gather.d 2024-01-18 13:32:46.324889313 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX GATHER insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-ifma-intel.d binutils-2.41/gas/testsuite/gas/i386/avx-ifma-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx-ifma-intel.d 2024-01-18 12:12:23.731946022 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-ifma-intel.d 2024-01-18 13:32:46.324889313 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX IFMA insns (Intel disassembly) + #source: avx-ifma.s +@@ -32,6 +31,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+:[ ]*c4 e2 f9 b5 c0[ ]*\{vex\} vpmadd52huq xmm0,xmm0,xmm0 + [ ]*[a-f0-9]+:[ ]*c4 e2 fd b5 c0[ ]*\{vex\} vpmadd52huq ymm0,ymm0,ymm0 + [ ]*[a-f0-9]+:[ ]*c4 e2 f9 b5 c0[ ]*\{vex\} vpmadd52huq xmm0,xmm0,xmm0 +-[ ]*[a-f0-9]+:[ ]*62 f2 dd 08 b5 d2[ ]*vpmadd52huq xmm2,xmm4,xmm2 +-[ ]*[a-f0-9]+:[ ]*62 f2 dd 28 b5 d2[ ]*vpmadd52huq ymm2,ymm4,ymm2 ++[ ]*[a-f0-9]+:[ ]*c4 e2 d9 b5 d2[ ]*\{vex\} vpmadd52huq xmm2,xmm4,xmm2 ++[ ]*[a-f0-9]+:[ ]*c4 e2 dd b5 d2[ ]*\{vex\} vpmadd52huq ymm2,ymm4,ymm2 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-ifma.d binutils-2.41/gas/testsuite/gas/i386/avx-ifma.d +--- binutils.orig/gas/testsuite/gas/i386/avx-ifma.d 2024-01-18 12:12:23.731946022 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-ifma.d 2024-01-18 13:32:46.324889313 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX IFMA insns + #source: avx-ifma.s +@@ -32,6 +31,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+:[ ]*c4 e2 f9 b5 c0[ ]*\{vex\} vpmadd52huq %xmm0,%xmm0,%xmm0 + [ ]*[a-f0-9]+:[ ]*c4 e2 fd b5 c0[ ]*\{vex\} vpmadd52huq %ymm0,%ymm0,%ymm0 + [ ]*[a-f0-9]+:[ ]*c4 e2 f9 b5 c0[ ]*\{vex\} vpmadd52huq %xmm0,%xmm0,%xmm0 +-[ ]*[a-f0-9]+:[ ]*62 f2 dd 08 b5 d2[ ]*vpmadd52huq %xmm2,%xmm4,%xmm2 +-[ ]*[a-f0-9]+:[ ]*62 f2 dd 28 b5 d2[ ]*vpmadd52huq %ymm2,%ymm4,%ymm2 ++[ ]*[a-f0-9]+:[ ]*c4 e2 d9 b5 d2[ ]*\{vex\} vpmadd52huq %xmm2,%xmm4,%xmm2 ++[ ]*[a-f0-9]+:[ ]*c4 e2 dd b5 d2[ ]*\{vex\} vpmadd52huq %ymm2,%ymm4,%ymm2 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-ifma.s binutils-2.41/gas/testsuite/gas/i386/avx-ifma.s +--- binutils.orig/gas/testsuite/gas/i386/avx-ifma.s 2024-01-18 12:12:23.731946022 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-ifma.s 2024-01-18 13:32:46.324889313 +0000 +@@ -1,5 +1,3 @@ +- .allow_index_reg +- + .macro test_insn mnemonic + \mnemonic %xmm2, %xmm4, %xmm2 + {evex} \mnemonic %xmm2, %xmm4, %xmm2 +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-ne-convert-intel.d binutils-2.41/gas/testsuite/gas/i386/avx-ne-convert-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx-ne-convert-intel.d 2024-01-18 12:12:23.732946022 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-ne-convert-intel.d 2024-01-18 13:32:46.324889313 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX-NE-CONVERT insns (Intel disassembly) + #source: avx-ne-convert.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-ne-convert.d binutils-2.41/gas/testsuite/gas/i386/avx-ne-convert.d +--- binutils.orig/gas/testsuite/gas/i386/avx-ne-convert.d 2024-01-18 12:12:23.732946022 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-ne-convert.d 2024-01-18 13:32:46.324889313 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX-NE-CONVERT insns + #source: avx-ne-convert.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-ne-convert.s binutils-2.41/gas/testsuite/gas/i386/avx-ne-convert.s +--- binutils.orig/gas/testsuite/gas/i386/avx-ne-convert.s 2024-01-18 12:12:23.732946022 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-ne-convert.s 2024-01-18 13:32:46.325889314 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX-NE-CONVERT instructions + +- .allow_index_reg + .text + _start: + vbcstnebf162ps 0x10000000(%esp, %esi, 8), %xmm6 #AVX-NE-CONVERT +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-scalar-2.s binutils-2.41/gas/testsuite/gas/i386/avx-scalar-2.s +--- binutils.orig/gas/testsuite/gas/i386/avx-scalar-2.s 2024-01-18 12:12:23.732946022 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-scalar-2.s 2024-01-18 13:32:46.325889314 +0000 +@@ -1,6 +1,5 @@ + # Check VEX.128 scalar instructions with -mavxscalar=256 -msse2avx + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-vex.l binutils-2.41/gas/testsuite/gas/i386/avx-vex.l +--- binutils.orig/gas/testsuite/gas/i386/avx-vex.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-vex.l 2024-01-18 13:32:46.325889314 +0000 +@@ -0,0 +1,217 @@ ++.*: Assembler messages: ++.*:15: Error: .* `vpmadd52luq' ++.*:21: Error: .* `vcvtneps2bf16y' ++.*:15: Error: .* `vpmadd52luq' ++.*:21: Error: .* `vcvtneps2bf16y' ++#... ++[ ]*[0-9]+[ ]+\.irp isa, default, .* ++#... ++[ ]*[0-9]+[ ]+\.endr ++#... ++[ ]*[0-9]+[ ]+> \.arch default ++[ ]*[0-9]+[ ]+> \.arch default ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27528 > vpdpbusd %ymm0,%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+50D0 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27528 > vpdpbusd 0x20\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+505001 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27528 > vpdpbusd 0x100\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+505008 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F528 > vpmadd52luq %ymm0,%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B4D0 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F528 > vpmadd52luq 0x20\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B45001 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F528 > vpmadd52luq 0x100\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B45008 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F538 > vpmadd52luq \(%eax\)\{1to4\},%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B410 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16 %ymm0,%xmm1 ++[ ]*[0-9]+[ ]+72C8 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16y %ymm0,%xmm1 ++[ ]*[0-9]+[ ]+72C8 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16y 0x20\(%eax\),%xmm1 ++[ ]*[0-9]+[ ]+724801 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16y 0x100\(%eax\),%xmm1 ++[ ]*[0-9]+[ ]+724808 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E38 > vcvtneps2bf16y \(%eax\)\{1to8\},%xmm1 ++[ ]*[0-9]+[ ]+7208 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.intel_syntax noprefix ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E08 > vcvtneps2bf16 xmm0,xmmword ptr \[ecx\] ++[ ]*[0-9]+[ ]+7201 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16 xmm0,ymmword ptr \[ecx\] ++[ ]*[0-9]+[ ]+7201 ++#... ++[ ]*[0-9]+[ ]+> \.arch \.noavx512vl ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27550 > vpdpbusd %ymm0,%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+D0 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27550 > vpdpbusd 0x20\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+5020 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27550 > vpdpbusd 0x100\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+90000100 * ++[ ]*[0-9]+[ ]+00 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? C4E2F5B4 > vpmadd52luq %ymm0,%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+D0 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E2F5B4 > vpmadd52luq 0x20\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+5020 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E2F5B4 > vpmadd52luq 0x100\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+90000100 * ++[ ]*[0-9]+[ ]+00 ++[ ]*[0-9]+[ ]+> vpmadd52luq \(%eax\)\{1to4\},%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16 %ymm0,%xmm1 ++[ ]*[0-9]+[ ]+C8 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16y %ymm0,%xmm1 ++[ ]*[0-9]+[ ]+C8 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16y 0x20\(%eax\),%xmm1 ++[ ]*[0-9]+[ ]+4820 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16y 0x100\(%eax\),%xmm1 ++[ ]*[0-9]+[ ]+88000100 * ++[ ]*[0-9]+[ ]+00 ++[ ]*[0-9]+[ ]+> vcvtneps2bf16y \(%eax\)\{1to8\},%xmm1 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.intel_syntax noprefix ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27A72 > vcvtneps2bf16 xmm0,xmmword ptr \[ecx\] ++[ ]*[0-9]+[ ]+01 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16 xmm0,ymmword ptr \[ecx\] ++[ ]*[0-9]+[ ]+01 ++#... ++[ ]*[0-9]+[ ]+> \.arch \.noavx512f ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27550 > vpdpbusd %ymm0,%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+D0 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27550 > vpdpbusd 0x20\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+5020 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27550 > vpdpbusd 0x100\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+90000100 * ++[ ]*[0-9]+[ ]+00 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? C4E2F5B4 > vpmadd52luq %ymm0,%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+D0 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E2F5B4 > vpmadd52luq 0x20\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+5020 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E2F5B4 > vpmadd52luq 0x100\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+90000100 * ++[ ]*[0-9]+[ ]+00 ++[ ]*[0-9]+[ ]+> vpmadd52luq \(%eax\)\{1to4\},%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16 %ymm0,%xmm1 ++[ ]*[0-9]+[ ]+C8 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16y %ymm0,%xmm1 ++[ ]*[0-9]+[ ]+C8 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16y 0x20\(%eax\),%xmm1 ++[ ]*[0-9]+[ ]+4820 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16y 0x100\(%eax\),%xmm1 ++[ ]*[0-9]+[ ]+88000100 * ++[ ]*[0-9]+[ ]+00 ++[ ]*[0-9]+[ ]+> vcvtneps2bf16y \(%eax\)\{1to8\},%xmm1 ++#... ++[ ]*[0-9]+[ ]+> \.arch \.avx_vnni ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27550 > vpdpbusd %ymm0,%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+D0 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27550 > vpdpbusd 0x20\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+5020 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27528 > vpdpbusd 0x100\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+505008 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F528 > vpmadd52luq %ymm0,%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B4D0 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F528 > vpmadd52luq 0x20\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B45001 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F528 > vpmadd52luq 0x100\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B45008 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F538 > vpmadd52luq \(%eax\)\{1to4\},%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B410 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16 %ymm0,%xmm1 ++[ ]*[0-9]+[ ]+72C8 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16y %ymm0,%xmm1 ++[ ]*[0-9]+[ ]+72C8 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16y 0x20\(%eax\),%xmm1 ++[ ]*[0-9]+[ ]+724801 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16y 0x100\(%eax\),%xmm1 ++[ ]*[0-9]+[ ]+724808 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E38 > vcvtneps2bf16y \(%eax\)\{1to8\},%xmm1 ++[ ]*[0-9]+[ ]+7208 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.intel_syntax noprefix ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E08 > vcvtneps2bf16 xmm0,xmmword ptr \[ecx\] ++[ ]*[0-9]+[ ]+7201 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16 xmm0,ymmword ptr \[ecx\] ++[ ]*[0-9]+[ ]+7201 ++#... ++[ ]*[0-9]+[ ]+> \.arch \.avx_ifma ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27528 > vpdpbusd %ymm0,%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+50D0 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27528 > vpdpbusd 0x20\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+505001 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27528 > vpdpbusd 0x100\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+505008 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? C4E2F5B4 > vpmadd52luq %ymm0,%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+D0 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E2F5B4 > vpmadd52luq 0x20\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+5020 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F528 > vpmadd52luq 0x100\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B45008 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F538 > vpmadd52luq \(%eax\)\{1to4\},%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B410 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16 %ymm0,%xmm1 ++[ ]*[0-9]+[ ]+72C8 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16y %ymm0,%xmm1 ++[ ]*[0-9]+[ ]+72C8 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16y 0x20\(%eax\),%xmm1 ++[ ]*[0-9]+[ ]+724801 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16y 0x100\(%eax\),%xmm1 ++[ ]*[0-9]+[ ]+724808 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E38 > vcvtneps2bf16y \(%eax\)\{1to8\},%xmm1 ++[ ]*[0-9]+[ ]+7208 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.intel_syntax noprefix ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E08 > vcvtneps2bf16 xmm0,xmmword ptr \[ecx\] ++[ ]*[0-9]+[ ]+7201 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16 xmm0,ymmword ptr \[ecx\] ++[ ]*[0-9]+[ ]+7201 ++#... ++[ ]*[0-9]+[ ]+> \.arch \.avx_ne_convert ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27528 > vpdpbusd %ymm0,%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+50D0 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27528 > vpdpbusd 0x20\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+505001 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27528 > vpdpbusd 0x100\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+505008 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F528 > vpmadd52luq %ymm0,%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B4D0 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F528 > vpmadd52luq 0x20\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B45001 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F528 > vpmadd52luq 0x100\(%eax\),%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B45008 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2F538 > vpmadd52luq \(%eax\)\{1to4\},%ymm1,%ymm2 ++[ ]*[0-9]+[ ]+B410 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16 %ymm0,%xmm1 ++[ ]*[0-9]+[ ]+C8 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16y %ymm0,%xmm1 ++[ ]*[0-9]+[ ]+C8 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16y 0x20\(%eax\),%xmm1 ++[ ]*[0-9]+[ ]+4820 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E28 > vcvtneps2bf16y 0x100\(%eax\),%xmm1 ++[ ]*[0-9]+[ ]+724808 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27E38 > vcvtneps2bf16y \(%eax\)\{1to8\},%xmm1 ++[ ]*[0-9]+[ ]+7208 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.intel_syntax noprefix ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27A72 > vcvtneps2bf16 xmm0,xmmword ptr \[ecx\] ++[ ]*[0-9]+[ ]+01 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27E72 > vcvtneps2bf16 xmm0,ymmword ptr \[ecx\] ++[ ]*[0-9]+[ ]+01 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-vex.s binutils-2.41/gas/testsuite/gas/i386/avx-vex.s +--- binutils.orig/gas/testsuite/gas/i386/avx-vex.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-vex.s 2024-01-18 13:32:46.325889314 +0000 +@@ -0,0 +1,28 @@ ++ .text ++ ++ .irp isa, default, .noavx512vl, .noavx512f, .avx_vnni, .avx_ifma, .avx_ne_convert ++ ++ .arch default ++ .arch \isa ++ ++ vpdpbusd %ymm0, %ymm1, %ymm2 ++ vpdpbusd 0x20(%eax), %ymm1, %ymm2 ++ vpdpbusd 0x100(%eax), %ymm1, %ymm2 ++ ++ vpmadd52luq %ymm0, %ymm1, %ymm2 ++ vpmadd52luq 0x20(%eax), %ymm1, %ymm2 ++ vpmadd52luq 0x100(%eax), %ymm1, %ymm2 ++ vpmadd52luq (%eax){1to4}, %ymm1, %ymm2 ++ ++ vcvtneps2bf16 %ymm0, %xmm1 ++ vcvtneps2bf16y %ymm0, %xmm1 ++ vcvtneps2bf16y 0x20(%eax), %xmm1 ++ vcvtneps2bf16y 0x100(%eax), %xmm1 ++ vcvtneps2bf16y (%eax){1to8}, %xmm1 ++ ++ .intel_syntax noprefix ++ vcvtneps2bf16 xmm0, xmmword ptr [ecx] ++ vcvtneps2bf16 xmm0, ymmword ptr [ecx] ++ .att_syntax prefix ++ ++ .endr +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-vnni-int16-intel.d binutils-2.41/gas/testsuite/gas/i386/avx-vnni-int16-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx-vnni-int16-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-vnni-int16-intel.d 2024-01-18 13:32:46.325889314 +0000 +@@ -0,0 +1,129 @@ ++#objdump: -dw -Mintel ++#name: i386 AVX-VNNI-INT16 insns (Intel disassembly) ++#source: avx-vnni-int16.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 e2 56 d2 f4\s+vpdpwsud ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 f4\s+vpdpwsud xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b4 f4 00 00 00 10\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 56 d2 31\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b1 e0 0f 00 00\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b2 00 f0 ff ff\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[edx-0x1000\] ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b4 f4 00 00 00 10\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 52 d2 31\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b1 f0 07 00 00\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b2 00 f8 ff ff\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[edx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 f4\s+vpdpwsuds ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 f4\s+vpdpwsuds xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b4 f4 00 00 00 10\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 31\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b1 e0 0f 00 00\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b2 00 f0 ff ff\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[edx-0x1000\] ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b4 f4 00 00 00 10\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 52 d3 31\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b1 f0 07 00 00\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b2 00 f8 ff ff\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[edx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 f4\s+vpdpwusd ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 f4\s+vpdpwusd xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b4 f4 00 00 00 10\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 31\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b1 e0 0f 00 00\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b2 00 f0 ff ff\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[edx-0x1000\] ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b4 f4 00 00 00 10\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 51 d2 31\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b1 f0 07 00 00\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b2 00 f8 ff ff\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[edx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 f4\s+vpdpwusds ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 f4\s+vpdpwusds xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b4 f4 00 00 00 10\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 31\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b1 e0 0f 00 00\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b2 00 f0 ff ff\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[edx-0x1000\] ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b4 f4 00 00 00 10\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 51 d3 31\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b1 f0 07 00 00\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b2 00 f8 ff ff\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[edx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 f4\s+vpdpwuud ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 f4\s+vpdpwuud xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b4 f4 00 00 00 10\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 31\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b1 e0 0f 00 00\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b2 00 f0 ff ff\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[edx-0x1000\] ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b4 f4 00 00 00 10\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 50 d2 31\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b1 f0 07 00 00\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b2 00 f8 ff ff\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[edx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 f4\s+vpdpwuuds ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 f4\s+vpdpwuuds xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b4 f4 00 00 00 10\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 31\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b1 e0 0f 00 00\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b2 00 f0 ff ff\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[edx-0x1000\] ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b4 f4 00 00 00 10\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 50 d3 31\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b1 f0 07 00 00\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b2 00 f8 ff ff\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[edx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 56 d2 f4\s+vpdpwsud ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 f4\s+vpdpwsud xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b4 f4 00 00 00 10\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 56 d2 31\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b1 e0 0f 00 00\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b2 00 f0 ff ff\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[edx-0x1000\] ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b4 f4 00 00 00 10\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 52 d2 31\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b1 f0 07 00 00\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b2 00 f8 ff ff\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[edx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 f4\s+vpdpwsuds ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 f4\s+vpdpwsuds xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b4 f4 00 00 00 10\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 31\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b1 e0 0f 00 00\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b2 00 f0 ff ff\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[edx-0x1000\] ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b4 f4 00 00 00 10\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 52 d3 31\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b1 f0 07 00 00\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b2 00 f8 ff ff\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[edx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 f4\s+vpdpwusd ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 f4\s+vpdpwusd xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b4 f4 00 00 00 10\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 31\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b1 e0 0f 00 00\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b2 00 f0 ff ff\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[edx-0x1000\] ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b4 f4 00 00 00 10\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 51 d2 31\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b1 f0 07 00 00\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b2 00 f8 ff ff\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[edx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 f4\s+vpdpwusds ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 f4\s+vpdpwusds xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b4 f4 00 00 00 10\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 31\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b1 e0 0f 00 00\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b2 00 f0 ff ff\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[edx-0x1000\] ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b4 f4 00 00 00 10\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 51 d3 31\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b1 f0 07 00 00\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b2 00 f8 ff ff\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[edx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 f4\s+vpdpwuud ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 f4\s+vpdpwuud xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b4 f4 00 00 00 10\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 31\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b1 e0 0f 00 00\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b2 00 f0 ff ff\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[edx-0x1000\] ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b4 f4 00 00 00 10\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 50 d2 31\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b1 f0 07 00 00\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b2 00 f8 ff ff\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[edx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 f4\s+vpdpwuuds ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 f4\s+vpdpwuuds xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b4 f4 00 00 00 10\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 31\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b1 e0 0f 00 00\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b2 00 f0 ff ff\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[edx-0x1000\] ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b4 f4 00 00 00 10\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 50 d3 31\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b1 f0 07 00 00\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b2 00 f8 ff ff\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[edx-0x800\] +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-vnni-int16.d binutils-2.41/gas/testsuite/gas/i386/avx-vnni-int16.d +--- binutils.orig/gas/testsuite/gas/i386/avx-vnni-int16.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-vnni-int16.d 2024-01-18 13:32:46.325889314 +0000 +@@ -0,0 +1,129 @@ ++#objdump: -dw ++#name: i386 AVX-VNNI-INT16 insns ++#source: avx-vnni-int16.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 e2 56 d2 f4\s+vpdpwsud %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 f4\s+vpdpwsud %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b4 f4 00 00 00 10\s+vpdpwsud 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 31\s+vpdpwsud \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b1 e0 0f 00 00\s+vpdpwsud 0xfe0\(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b2 00 f0 ff ff\s+vpdpwsud -0x1000\(%edx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b4 f4 00 00 00 10\s+vpdpwsud 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 31\s+vpdpwsud \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b1 f0 07 00 00\s+vpdpwsud 0x7f0\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b2 00 f8 ff ff\s+vpdpwsud -0x800\(%edx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 f4\s+vpdpwsuds %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 f4\s+vpdpwsuds %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b4 f4 00 00 00 10\s+vpdpwsuds 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 31\s+vpdpwsuds \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b1 e0 0f 00 00\s+vpdpwsuds 0xfe0\(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b2 00 f0 ff ff\s+vpdpwsuds -0x1000\(%edx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b4 f4 00 00 00 10\s+vpdpwsuds 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 31\s+vpdpwsuds \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b1 f0 07 00 00\s+vpdpwsuds 0x7f0\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b2 00 f8 ff ff\s+vpdpwsuds -0x800\(%edx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 f4\s+vpdpwusd %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 f4\s+vpdpwusd %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b4 f4 00 00 00 10\s+vpdpwusd 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 31\s+vpdpwusd \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b1 e0 0f 00 00\s+vpdpwusd 0xfe0\(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b2 00 f0 ff ff\s+vpdpwusd -0x1000\(%edx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b4 f4 00 00 00 10\s+vpdpwusd 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 31\s+vpdpwusd \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b1 f0 07 00 00\s+vpdpwusd 0x7f0\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b2 00 f8 ff ff\s+vpdpwusd -0x800\(%edx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 f4\s+vpdpwusds %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 f4\s+vpdpwusds %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b4 f4 00 00 00 10\s+vpdpwusds 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 31\s+vpdpwusds \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b1 e0 0f 00 00\s+vpdpwusds 0xfe0\(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b2 00 f0 ff ff\s+vpdpwusds -0x1000\(%edx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b4 f4 00 00 00 10\s+vpdpwusds 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 31\s+vpdpwusds \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b1 f0 07 00 00\s+vpdpwusds 0x7f0\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b2 00 f8 ff ff\s+vpdpwusds -0x800\(%edx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 f4\s+vpdpwuud %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 f4\s+vpdpwuud %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b4 f4 00 00 00 10\s+vpdpwuud 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 31\s+vpdpwuud \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b1 e0 0f 00 00\s+vpdpwuud 0xfe0\(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b2 00 f0 ff ff\s+vpdpwuud -0x1000\(%edx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b4 f4 00 00 00 10\s+vpdpwuud 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 31\s+vpdpwuud \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b1 f0 07 00 00\s+vpdpwuud 0x7f0\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b2 00 f8 ff ff\s+vpdpwuud -0x800\(%edx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 f4\s+vpdpwuuds %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 f4\s+vpdpwuuds %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b4 f4 00 00 00 10\s+vpdpwuuds 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 31\s+vpdpwuuds \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b1 e0 0f 00 00\s+vpdpwuuds 0xfe0\(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b2 00 f0 ff ff\s+vpdpwuuds -0x1000\(%edx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b4 f4 00 00 00 10\s+vpdpwuuds 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 31\s+vpdpwuuds \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b1 f0 07 00 00\s+vpdpwuuds 0x7f0\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b2 00 f8 ff ff\s+vpdpwuuds -0x800\(%edx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 f4\s+vpdpwsud %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 f4\s+vpdpwsud %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b4 f4 00 00 00 10\s+vpdpwsud 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 31\s+vpdpwsud \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b1 e0 0f 00 00\s+vpdpwsud 0xfe0\(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b2 00 f0 ff ff\s+vpdpwsud -0x1000\(%edx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b4 f4 00 00 00 10\s+vpdpwsud 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 31\s+vpdpwsud \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b1 f0 07 00 00\s+vpdpwsud 0x7f0\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b2 00 f8 ff ff\s+vpdpwsud -0x800\(%edx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 f4\s+vpdpwsuds %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 f4\s+vpdpwsuds %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b4 f4 00 00 00 10\s+vpdpwsuds 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 31\s+vpdpwsuds \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b1 e0 0f 00 00\s+vpdpwsuds 0xfe0\(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b2 00 f0 ff ff\s+vpdpwsuds -0x1000\(%edx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b4 f4 00 00 00 10\s+vpdpwsuds 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 31\s+vpdpwsuds \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b1 f0 07 00 00\s+vpdpwsuds 0x7f0\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b2 00 f8 ff ff\s+vpdpwsuds -0x800\(%edx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 f4\s+vpdpwusd %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 f4\s+vpdpwusd %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b4 f4 00 00 00 10\s+vpdpwusd 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 31\s+vpdpwusd \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b1 e0 0f 00 00\s+vpdpwusd 0xfe0\(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b2 00 f0 ff ff\s+vpdpwusd -0x1000\(%edx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b4 f4 00 00 00 10\s+vpdpwusd 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 31\s+vpdpwusd \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b1 f0 07 00 00\s+vpdpwusd 0x7f0\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b2 00 f8 ff ff\s+vpdpwusd -0x800\(%edx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 f4\s+vpdpwusds %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 f4\s+vpdpwusds %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b4 f4 00 00 00 10\s+vpdpwusds 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 31\s+vpdpwusds \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b1 e0 0f 00 00\s+vpdpwusds 0xfe0\(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b2 00 f0 ff ff\s+vpdpwusds -0x1000\(%edx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b4 f4 00 00 00 10\s+vpdpwusds 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 31\s+vpdpwusds \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b1 f0 07 00 00\s+vpdpwusds 0x7f0\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b2 00 f8 ff ff\s+vpdpwusds -0x800\(%edx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 f4\s+vpdpwuud %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 f4\s+vpdpwuud %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b4 f4 00 00 00 10\s+vpdpwuud 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 31\s+vpdpwuud \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b1 e0 0f 00 00\s+vpdpwuud 0xfe0\(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b2 00 f0 ff ff\s+vpdpwuud -0x1000\(%edx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b4 f4 00 00 00 10\s+vpdpwuud 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 31\s+vpdpwuud \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b1 f0 07 00 00\s+vpdpwuud 0x7f0\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b2 00 f8 ff ff\s+vpdpwuud -0x800\(%edx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 f4\s+vpdpwuuds %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 f4\s+vpdpwuuds %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b4 f4 00 00 00 10\s+vpdpwuuds 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 31\s+vpdpwuuds \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b1 e0 0f 00 00\s+vpdpwuuds 0xfe0\(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b2 00 f0 ff ff\s+vpdpwuuds -0x1000\(%edx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b4 f4 00 00 00 10\s+vpdpwuuds 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 31\s+vpdpwuuds \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b1 f0 07 00 00\s+vpdpwuuds 0x7f0\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b2 00 f8 ff ff\s+vpdpwuuds -0x800\(%edx\),%xmm5,%xmm6 +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-vnni-int16.s binutils-2.41/gas/testsuite/gas/i386/avx-vnni-int16.s +--- binutils.orig/gas/testsuite/gas/i386/avx-vnni-int16.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-vnni-int16.s 2024-01-18 13:32:46.325889314 +0000 +@@ -0,0 +1,126 @@ ++# Check 32bit AVX-VNNI-INT16 instructions ++ ++ .text ++_start: ++ vpdpwsud %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwsud %xmm4, %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwsud 0x10000000(%esp, %esi, 8), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwsud (%ecx), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwsud 4064(%ecx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwsud -4096(%edx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwsud 0x10000000(%esp, %esi, 8), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwsud (%ecx), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwsud 2032(%ecx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwsud -2048(%edx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwsuds %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwsuds %xmm4, %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwsuds 0x10000000(%esp, %esi, 8), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwsuds (%ecx), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwsuds 4064(%ecx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwsuds -4096(%edx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwsuds 0x10000000(%esp, %esi, 8), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwsuds (%ecx), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwsuds 2032(%ecx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwsuds -2048(%edx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwusd %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwusd %xmm4, %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwusd 0x10000000(%esp, %esi, 8), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwusd (%ecx), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwusd 4064(%ecx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwusd -4096(%edx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwusd 0x10000000(%esp, %esi, 8), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwusd (%ecx), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwusd 2032(%ecx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwusd -2048(%edx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwusds %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwusds %xmm4, %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwusds 0x10000000(%esp, %esi, 8), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwusds (%ecx), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwusds 4064(%ecx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwusds -4096(%edx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwusds 0x10000000(%esp, %esi, 8), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwusds (%ecx), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwusds 2032(%ecx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwusds -2048(%edx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwuud %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwuud %xmm4, %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwuud 0x10000000(%esp, %esi, 8), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwuud (%ecx), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwuud 4064(%ecx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwuud -4096(%edx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwuud 0x10000000(%esp, %esi, 8), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwuud (%ecx), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwuud 2032(%ecx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwuud -2048(%edx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwuuds %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwuuds %xmm4, %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwuuds 0x10000000(%esp, %esi, 8), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwuuds (%ecx), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwuuds 4064(%ecx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwuuds -4096(%edx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwuuds 0x10000000(%esp, %esi, 8), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwuuds (%ecx), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwuuds 2032(%ecx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwuuds -2048(%edx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(00f8ffff) ++ ++ .intel_syntax noprefix ++ vpdpwsud ymm6, ymm5, ymm4 #AVX-VNNI-INT16 ++ vpdpwsud xmm6, xmm5, xmm4 #AVX-VNNI-INT16 ++ vpdpwsud ymm6, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwsud ymm6, ymm5, YMMWORD PTR [ecx] #AVX-VNNI-INT16 ++ vpdpwsud ymm6, ymm5, YMMWORD PTR [ecx+4064] #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwsud ymm6, ymm5, YMMWORD PTR [edx-4096] #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwsud xmm6, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwsud xmm6, xmm5, XMMWORD PTR [ecx] #AVX-VNNI-INT16 ++ vpdpwsud xmm6, xmm5, XMMWORD PTR [ecx+2032] #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwsud xmm6, xmm5, XMMWORD PTR [edx-2048] #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwsuds ymm6, ymm5, ymm4 #AVX-VNNI-INT16 ++ vpdpwsuds xmm6, xmm5, xmm4 #AVX-VNNI-INT16 ++ vpdpwsuds ymm6, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwsuds ymm6, ymm5, YMMWORD PTR [ecx] #AVX-VNNI-INT16 ++ vpdpwsuds ymm6, ymm5, YMMWORD PTR [ecx+4064] #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwsuds ymm6, ymm5, YMMWORD PTR [edx-4096] #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwsuds xmm6, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwsuds xmm6, xmm5, XMMWORD PTR [ecx] #AVX-VNNI-INT16 ++ vpdpwsuds xmm6, xmm5, XMMWORD PTR [ecx+2032] #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwsuds xmm6, xmm5, XMMWORD PTR [edx-2048] #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwusd ymm6, ymm5, ymm4 #AVX-VNNI-INT16 ++ vpdpwusd xmm6, xmm5, xmm4 #AVX-VNNI-INT16 ++ vpdpwusd ymm6, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwusd ymm6, ymm5, YMMWORD PTR [ecx] #AVX-VNNI-INT16 ++ vpdpwusd ymm6, ymm5, YMMWORD PTR [ecx+4064] #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwusd ymm6, ymm5, YMMWORD PTR [edx-4096] #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwusd xmm6, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwusd xmm6, xmm5, XMMWORD PTR [ecx] #AVX-VNNI-INT16 ++ vpdpwusd xmm6, xmm5, XMMWORD PTR [ecx+2032] #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwusd xmm6, xmm5, XMMWORD PTR [edx-2048] #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwusds ymm6, ymm5, ymm4 #AVX-VNNI-INT16 ++ vpdpwusds xmm6, xmm5, xmm4 #AVX-VNNI-INT16 ++ vpdpwusds ymm6, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwusds ymm6, ymm5, YMMWORD PTR [ecx] #AVX-VNNI-INT16 ++ vpdpwusds ymm6, ymm5, YMMWORD PTR [ecx+4064] #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwusds ymm6, ymm5, YMMWORD PTR [edx-4096] #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwusds xmm6, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwusds xmm6, xmm5, XMMWORD PTR [ecx] #AVX-VNNI-INT16 ++ vpdpwusds xmm6, xmm5, XMMWORD PTR [ecx+2032] #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwusds xmm6, xmm5, XMMWORD PTR [edx-2048] #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwuud ymm6, ymm5, ymm4 #AVX-VNNI-INT16 ++ vpdpwuud xmm6, xmm5, xmm4 #AVX-VNNI-INT16 ++ vpdpwuud ymm6, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwuud ymm6, ymm5, YMMWORD PTR [ecx] #AVX-VNNI-INT16 ++ vpdpwuud ymm6, ymm5, YMMWORD PTR [ecx+4064] #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwuud ymm6, ymm5, YMMWORD PTR [edx-4096] #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwuud xmm6, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwuud xmm6, xmm5, XMMWORD PTR [ecx] #AVX-VNNI-INT16 ++ vpdpwuud xmm6, xmm5, XMMWORD PTR [ecx+2032] #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwuud xmm6, xmm5, XMMWORD PTR [edx-2048] #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwuuds ymm6, ymm5, ymm4 #AVX-VNNI-INT16 ++ vpdpwuuds xmm6, xmm5, xmm4 #AVX-VNNI-INT16 ++ vpdpwuuds ymm6, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwuuds ymm6, ymm5, YMMWORD PTR [ecx] #AVX-VNNI-INT16 ++ vpdpwuuds ymm6, ymm5, YMMWORD PTR [ecx+4064] #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwuuds ymm6, ymm5, YMMWORD PTR [edx-4096] #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwuuds xmm6, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwuuds xmm6, xmm5, XMMWORD PTR [ecx] #AVX-VNNI-INT16 ++ vpdpwuuds xmm6, xmm5, XMMWORD PTR [ecx+2032] #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwuuds xmm6, xmm5, XMMWORD PTR [edx-2048] #AVX-VNNI-INT16 Disp32(00f8ffff) +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-vnni-int8-intel.d binutils-2.41/gas/testsuite/gas/i386/avx-vnni-int8-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx-vnni-int8-intel.d 2024-01-18 12:12:23.732946022 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-vnni-int8-intel.d 2024-01-18 13:32:46.325889314 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX-VNNI-INT8 insns (Intel disassembly) + #source: avx-vnni-int8.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-vnni-int8.d binutils-2.41/gas/testsuite/gas/i386/avx-vnni-int8.d +--- binutils.orig/gas/testsuite/gas/i386/avx-vnni-int8.d 2024-01-18 12:12:23.733946023 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-vnni-int8.d 2024-01-18 13:32:46.325889314 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX-VNNI-INT8 insns + #source: avx-vnni-int8.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-vnni-int8.s binutils-2.41/gas/testsuite/gas/i386/avx-vnni-int8.s +--- binutils.orig/gas/testsuite/gas/i386/avx-vnni-int8.s 2024-01-18 12:12:23.733946023 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-vnni-int8.s 2024-01-18 13:32:46.325889314 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX-VNNI-INT8 instructions + +- .allow_index_reg + .text + _start: + vpdpbssd %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT8 +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-vnni.d binutils-2.41/gas/testsuite/gas/i386/avx-vnni.d +--- binutils.orig/gas/testsuite/gas/i386/avx-vnni.d 2024-01-18 12:12:23.733946023 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-vnni.d 2024-01-18 13:32:46.325889314 +0000 +@@ -38,6 +38,6 @@ Disassembly of section .text: + +[a-f0-9]+: c4 e2 79 50 c0 \{vex\} vpdpbusd %xmm0,%xmm0,%xmm0 + +[a-f0-9]+: c4 e2 7d 50 c0 \{vex\} vpdpbusd %ymm0,%ymm0,%ymm0 + +[a-f0-9]+: c4 e2 79 50 c0 \{vex\} vpdpbusd %xmm0,%xmm0,%xmm0 +- +[a-f0-9]+: 62 f2 5d 08 50 d2 vpdpbusd %xmm2,%xmm4,%xmm2 ++ +[a-f0-9]+: c4 e2 59 50 d2 \{vex\} vpdpbusd %xmm2,%xmm4,%xmm2 + +[a-f0-9]+: c4 e2 59 50 91 f0 07 00 00 \{vex\} vpdpbusd 0x7f0\(%ecx\),%xmm4,%xmm2 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-vnni.s binutils-2.41/gas/testsuite/gas/i386/avx-vnni.s +--- binutils.orig/gas/testsuite/gas/i386/avx-vnni.s 2024-01-18 12:12:23.733946023 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-vnni.s 2024-01-18 13:32:46.325889314 +0000 +@@ -1,5 +1,3 @@ +- .allow_index_reg +- + .macro test_insn mnemonic + \mnemonic %xmm2, %xmm4, %xmm2 + {evex} \mnemonic %xmm2, %xmm4, %xmm2 +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx-wig.s binutils-2.41/gas/testsuite/gas/i386/avx-wig.s +--- binutils.orig/gas/testsuite/gas/i386/avx-wig.s 2024-01-18 12:12:23.733946023 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx-wig.s 2024-01-18 13:32:46.325889314 +0000 +@@ -1,6 +1,5 @@ + # Check AVX WIG instructions + +- .allow_index_reg + .text + _start: + andn (%eax), %eax, %eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx10-vsz.l binutils-2.41/gas/testsuite/gas/i386/avx10-vsz.l +--- binutils.orig/gas/testsuite/gas/i386/avx10-vsz.l 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10-vsz.l 2024-01-18 13:32:46.326889315 +0000 +@@ -1,115 +1,34 @@ + .*: Assembler messages: + .*:7: Warning: default +-.*:46: Error: ambiguous operand size for `vcvtpd2ph' +-.*:47: Error: ambiguous operand size for `vcvtpd2ps' +-.*:48: Error: ambiguous operand size for `vfpclassps' ++.*:25: Error: ambiguous operand size for `vcvtpd2ph' ++.*:26: Error: ambiguous operand size for `vcvtpd2ps' ++.*:27: Error: ambiguous operand size for `vfpclassps' + .*:7: Warning: \.avx10\.1/256 +-.*:12: Error: unsupported instruction `kunpckdq' +-.*:16: Error: unsupported instruction `kaddq' +-.*:17: Error: unsupported instruction `kandq' +-.*:18: Error: unsupported instruction `kandnq' +-.*:19: Error: unsupported instruction `kmovq' +-.*:20: Error: unsupported instruction `kmovq' +-.*:21: Error: unsupported instruction `kmovq' +-.*:22: Error: unsupported instruction `knotq' +-.*:23: Error: unsupported instruction `korq' +-.*:24: Error: unsupported instruction `kortestq' +-.*:25: Error: unsupported instruction `kshiftlq' +-.*:26: Error: unsupported instruction `kshiftrq' +-.*:27: Error: unsupported instruction `ktestq' +-.*:28: Error: unsupported instruction `kxorq' +-.*:29: Error: unsupported instruction `kxnorq' +-.*:32: Error: unsupported instruction `vcvtpd2phz' +-.*:34: Error: unsupported broadcast for `vcvtpd2ph' +-.*:37: Error: unsupported instruction `vcvtpd2ps' +-.*:43: Error: unsupported instruction `vfpclasspsz' +-.*:46: Error: ambiguous operand size for `vcvtpd2ph' +-.*:47: Error: ambiguous operand size for `vcvtpd2ps' +-.*:48: Error: ambiguous operand size for `vfpclassps' ++.*:11: Error: vector size .* `vcvtpd2phz' ++.*:13: Error: unsupported broadcast for `vcvtpd2ph' ++.*:16: Error: vector size .* for `vcvtpd2ps' ++.*:22: Error: vector size .* `vfpclasspsz' ++.*:25: Error: ambiguous operand size for `vcvtpd2ph' ++.*:26: Error: ambiguous operand size for `vcvtpd2ps' ++.*:27: Error: ambiguous operand size for `vfpclassps' + .*:7: Warning: \.avx10\.1/128 +-.*:10: Error: unsupported instruction `kmovd' +-.*:11: Error: unsupported instruction `kmovd' +-.*:12: Error: unsupported instruction `kunpckdq' +-.*:13: Error: unsupported instruction `kunpckwd' +-.*:16: Error: unsupported instruction `kaddd' +-.*:17: Error: unsupported instruction `kandd' +-.*:18: Error: unsupported instruction `kandnd' +-.*:19: Error: unsupported instruction `kmovd' +-.*:20: Error: unsupported instruction `kmovd' +-.*:21: Error: unsupported instruction `kmovd' +-.*:22: Error: unsupported instruction `knotd' +-.*:23: Error: unsupported instruction `kord' +-.*:24: Error: unsupported instruction `kortestd' +-.*:25: Error: unsupported instruction `kshiftld' +-.*:26: Error: unsupported instruction `kshiftrd' +-.*:27: Error: unsupported instruction `ktestd' +-.*:28: Error: unsupported instruction `kxord' +-.*:29: Error: unsupported instruction `kxnord' +-.*:16: Error: unsupported instruction `kaddq' +-.*:17: Error: unsupported instruction `kandq' +-.*:18: Error: unsupported instruction `kandnq' +-.*:19: Error: unsupported instruction `kmovq' +-.*:20: Error: unsupported instruction `kmovq' +-.*:21: Error: unsupported instruction `kmovq' +-.*:22: Error: unsupported instruction `knotq' +-.*:23: Error: unsupported instruction `korq' +-.*:24: Error: unsupported instruction `kortestq' +-.*:25: Error: unsupported instruction `kshiftlq' +-.*:26: Error: unsupported instruction `kshiftrq' +-.*:27: Error: unsupported instruction `ktestq' +-.*:28: Error: unsupported instruction `kxorq' +-.*:29: Error: unsupported instruction `kxnorq' +-.*:32: Error: unsupported instruction `vcvtpd2phz' +-.*:33: Error: unsupported instruction `vcvtpd2phy' +-.*:34: Error: unsupported broadcast for `vcvtpd2ph' +-.*:35: Error: unsupported broadcast for `vcvtpd2ph' +-.*:37: Error: .* +-.*:38: Error: unsupported instruction `vcvtpd2psy' +-.*:39: Error: unsupported instruction `vcvtpd2psy' +-.*:40: Error: unsupported broadcast for `vcvtpd2ps' +-.*:42: Error: unsupported instruction `vfpclasspsy' +-.*:43: Error: unsupported instruction `vfpclasspsz' ++.*:11: Error: vector size .* `vcvtpd2phz' ++.*:12: Error: vector size .* `vcvtpd2phy' ++.*:13: Error: unsupported broadcast for `vcvtpd2ph' ++.*:14: Error: unsupported broadcast for `vcvtpd2ph' ++.*:16: Error: .* ++.*:17: Error: vector size .* `vcvtpd2psy' ++.*:18: Error: vector size .* `vcvtpd2psy' ++.*:19: Error: unsupported broadcast for `vcvtpd2ps' ++.*:21: Error: vector size .* `vfpclasspsy' ++.*:22: Error: vector size .* `vfpclasspsz' + .*:7: Warning: \.avx10\.1 +-.*:46: Error: ambiguous operand size for `vcvtpd2ph' +-.*:47: Error: ambiguous operand size for `vcvtpd2ps' +-.*:48: Error: ambiguous operand size for `vfpclassps' ++.*:25: Error: ambiguous operand size for `vcvtpd2ph' ++.*:26: Error: ambiguous operand size for `vcvtpd2ps' ++.*:27: Error: ambiguous operand size for `vfpclassps' + #... + [ ]*[0-9]+[ ]+> \.arch generic32 + [ ]*[0-9]+[ ]+> \.arch default +-[ ]*[0-9]+[ ]+\?+ C5FB93D1[ ]+> kmovd %k1,%edx +-[ ]*[0-9]+[ ]+\?+ C5FB92D1[ ]+> kmovd %ecx,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1EC4B D9[ ]+> kunpckdq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C5EC4BD9[ ]+> kunpckwd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+> * +-[ ]*[0-9]+[ ]+> \.irp sz,d,q +-[ ]*[0-9]+[ ]+\?+ C4E1ED4A D9[ ]+>> kaddd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1ED41 D9[ ]+>> kandd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1ED42 D9[ ]+>> kandnd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F990 D1[ ]+>> kmovd %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1F991 0A[ ]+>> kmovd %k1,\(%edx\) +-[ ]*[0-9]+[ ]+\?+ C4E1F990 11[ ]+>> kmovd \(%ecx\),%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1F944 D1[ ]+>> knotd %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1ED45 D9[ ]+>> kord %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F998 D1[ ]+>> kortestd %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E37933 DA01[ ]+>> kshiftld \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E37931 DA01[ ]+>> kshiftrd \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F999 D1[ ]+>> ktestd %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1ED47 D9[ ]+>> kxord %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1ED46 D9[ ]+>> kxnord %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1EC4A D9[ ]+>> kaddq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1EC41 D9[ ]+>> kandq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1EC42 D9[ ]+>> kandnq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F890 D1[ ]+>> kmovq %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1F891 0A[ ]+>> kmovq %k1,\(%edx\) +-[ ]*[0-9]+[ ]+\?+ C4E1F890 11[ ]+>> kmovq \(%ecx\),%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1F844 D1[ ]+>> knotq %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1EC45 D9[ ]+>> korq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F898 D1[ ]+>> kortestq %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E3F933 DA01[ ]+>> kshiftlq \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E3F931 DA01[ ]+>> kshiftrq \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F899 D1[ ]+>> ktestq %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1EC47 D9[ ]+>> kxorq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1EC46 D9[ ]+>> kxnorq %k1,%k2,%k3 + [ ]*[0-9]+[ ]+> * + [ ]*[0-9]+[ ]+\?+ 62F5FD48 5A00[ ]+> vcvtpd2phz \(%eax\),%xmm0 + [ ]*[0-9]+[ ]+\?+ 62F5FD28 5A00[ ]+> vcvtpd2phy \(%eax\),%xmm0 +@@ -131,40 +50,6 @@ + #... + [ ]*[0-9]+[ ]+> \.arch generic32 + [ ]*[0-9]+[ ]+> \.arch \.avx10\.1/256 +-[ ]*[0-9]+[ ]+\?+ C5FB93D1[ ]+> kmovd %k1,%edx +-[ ]*[0-9]+[ ]+\?+ C5FB92D1[ ]+> kmovd %ecx,%k2 +-[ ]*[0-9]+[ ]+> kunpckdq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C5EC4BD9[ ]+> kunpckwd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+> * +-[ ]*[0-9]+[ ]+> \.irp sz,d,q +-[ ]*[0-9]+[ ]+\?+ C4E1ED4A D9[ ]+>> kaddd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1ED41 D9[ ]+>> kandd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1ED42 D9[ ]+>> kandnd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F990 D1[ ]+>> kmovd %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1F991 0A[ ]+>> kmovd %k1,\(%edx\) +-[ ]*[0-9]+[ ]+\?+ C4E1F990 11[ ]+>> kmovd \(%ecx\),%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1F944 D1[ ]+>> knotd %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1ED45 D9[ ]+>> kord %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F998 D1[ ]+>> kortestd %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E37933 DA01[ ]+>> kshiftld \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E37931 DA01[ ]+>> kshiftrd \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F999 D1[ ]+>> ktestd %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1ED47 D9[ ]+>> kxord %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1ED46 D9[ ]+>> kxnord %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kaddq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kandq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kandnq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kmovq %k1,%k2 +-[ ]*[0-9]+[ ]+>> kmovq %k1,\(%edx\) +-[ ]*[0-9]+[ ]+>> kmovq \(%ecx\),%k2 +-[ ]*[0-9]+[ ]+>> knotq %k1,%k2 +-[ ]*[0-9]+[ ]+>> korq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kortestq %k1,%k2 +-[ ]*[0-9]+[ ]+>> kshiftlq \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kshiftrq \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> ktestq %k1,%k2 +-[ ]*[0-9]+[ ]+>> kxorq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kxnorq %k1,%k2,%k3 + [ ]*[0-9]+[ ]+> * + [ ]*[0-9]+[ ]+> vcvtpd2phz \(%eax\),%xmm0 + [ ]*[0-9]+[ ]+\?+ 62F5FD28 5A00[ ]+> vcvtpd2phy \(%eax\),%xmm0 +@@ -186,40 +71,6 @@ + #... + [ ]*[0-9]+[ ]+> \.arch generic32 + [ ]*[0-9]+[ ]+> \.arch \.avx10\.1/128 +-[ ]*[0-9]+[ ]+> kmovd %k1,%edx +-[ ]*[0-9]+[ ]+> kmovd %ecx,%k2 +-[ ]*[0-9]+[ ]+> kunpckdq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+> kunpckwd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+> * +-[ ]*[0-9]+[ ]+> \.irp sz,d,q +-[ ]*[0-9]+[ ]+>> kaddd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kandd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kandnd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kmovd %k1,%k2 +-[ ]*[0-9]+[ ]+>> kmovd %k1,\(%edx\) +-[ ]*[0-9]+[ ]+>> kmovd \(%ecx\),%k2 +-[ ]*[0-9]+[ ]+>> knotd %k1,%k2 +-[ ]*[0-9]+[ ]+>> kord %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kortestd %k1,%k2 +-[ ]*[0-9]+[ ]+>> kshiftld \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kshiftrd \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> ktestd %k1,%k2 +-[ ]*[0-9]+[ ]+>> kxord %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kxnord %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kaddq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kandq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kandnq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kmovq %k1,%k2 +-[ ]*[0-9]+[ ]+>> kmovq %k1,\(%edx\) +-[ ]*[0-9]+[ ]+>> kmovq \(%ecx\),%k2 +-[ ]*[0-9]+[ ]+>> knotq %k1,%k2 +-[ ]*[0-9]+[ ]+>> korq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kortestq %k1,%k2 +-[ ]*[0-9]+[ ]+>> kshiftlq \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kshiftrq \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> ktestq %k1,%k2 +-[ ]*[0-9]+[ ]+>> kxorq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+>> kxnorq %k1,%k2,%k3 + [ ]*[0-9]+[ ]+> * + [ ]*[0-9]+[ ]+> vcvtpd2phz \(%eax\),%xmm0 + [ ]*[0-9]+[ ]+> vcvtpd2phy \(%eax\),%xmm0 +@@ -239,40 +90,8 @@ + [ ]*[0-9]+[ ]+\?+ C5F95A00[ ]+> vcvtpd2ps xmm0,\[eax\] + [ ]*[0-9]+[ ]+\?+ 62F37D08 660000[ ]+> vfpclassps k0,\[eax\],0 + #... +-[ ]*[0-9]+[ ]+\?+ C5FB93D1[ ]+> kmovd %k1,%edx +-[ ]*[0-9]+[ ]+\?+ C5FB92D1[ ]+> kmovd %ecx,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1EC4B D9[ ]+> kunpckdq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C5EC4BD9[ ]+> kunpckwd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+> * +-[ ]*[0-9]+[ ]+> \.irp sz,d,q +-[ ]*[0-9]+[ ]+\?+ C4E1ED4A D9[ ]+>> kaddd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1ED41 D9[ ]+>> kandd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1ED42 D9[ ]+>> kandnd %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F990 D1[ ]+>> kmovd %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1F991 0A[ ]+>> kmovd %k1,\(%edx\) +-[ ]*[0-9]+[ ]+\?+ C4E1F990 11[ ]+>> kmovd \(%ecx\),%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1F944 D1[ ]+>> knotd %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1ED45 D9[ ]+>> kord %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F998 D1[ ]+>> kortestd %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E37933 DA01[ ]+>> kshiftld \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E37931 DA01[ ]+>> kshiftrd \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F999 D1[ ]+>> ktestd %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1ED47 D9[ ]+>> kxord %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1ED46 D9[ ]+>> kxnord %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1EC4A D9[ ]+>> kaddq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1EC41 D9[ ]+>> kandq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1EC42 D9[ ]+>> kandnq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F890 D1[ ]+>> kmovq %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1F891 0A[ ]+>> kmovq %k1,\(%edx\) +-[ ]*[0-9]+[ ]+\?+ C4E1F890 11[ ]+>> kmovq \(%ecx\),%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1F844 D1[ ]+>> knotq %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1EC45 D9[ ]+>> korq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F898 D1[ ]+>> kortestq %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E3F933 DA01[ ]+>> kshiftlq \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E3F931 DA01[ ]+>> kshiftrq \$1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1F899 D1[ ]+>> ktestq %k1,%k2 +-[ ]*[0-9]+[ ]+\?+ C4E1EC47 D9[ ]+>> kxorq %k1,%k2,%k3 +-[ ]*[0-9]+[ ]+\?+ C4E1EC46 D9[ ]+>> kxnorq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+> \.arch generic32 ++[ ]*[0-9]+[ ]+> \.arch \.avx10\.1 + [ ]*[0-9]+[ ]+> * + [ ]*[0-9]+[ ]+\?+ 62F5FD48 5A00[ ]+> vcvtpd2phz \(%eax\),%xmm0 + [ ]*[0-9]+[ ]+\?+ 62F5FD28 5A00[ ]+> vcvtpd2phy \(%eax\),%xmm0 +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx10-vsz.s binutils-2.41/gas/testsuite/gas/i386/avx10-vsz.s +--- binutils.orig/gas/testsuite/gas/i386/avx10-vsz.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10-vsz.s 2024-01-18 13:32:46.326889315 +0000 +@@ -7,27 +7,6 @@ + .warning "\isa" + .arch generic32 + .arch \isa +- kmovd %k1, %edx +- kmovd %ecx, %k2 +- kunpckdq %k1, %k2, %k3 +- kunpckwd %k1, %k2, %k3 +- +- .irp sz, d, q +- kadd\sz %k1, %k2, %k3 +- kand\sz %k1, %k2, %k3 +- kandn\sz %k1, %k2, %k3 +- kmov\sz %k1, %k2 +- kmov\sz %k1, (%edx) +- kmov\sz (%ecx), %k2 +- knot\sz %k1, %k2 +- kor\sz %k1, %k2, %k3 +- kortest\sz %k1, %k2 +- kshiftl\sz $1, %k2, %k3 +- kshiftr\sz $1, %k2, %k3 +- ktest\sz %k1, %k2 +- kxor\sz %k1, %k2, %k3 +- kxnor\sz %k1, %k2, %k3 +- .endr + + vcvtpd2phz (%eax), %xmm0 + vcvtpd2phy (%eax), %xmm0 +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx2-wig.s binutils-2.41/gas/testsuite/gas/i386/avx2-wig.s +--- binutils.orig/gas/testsuite/gas/i386/avx2-wig.s 2024-01-18 12:12:23.734946024 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx2-wig.s 2024-01-18 13:32:46.327889315 +0000 +@@ -1,6 +1,5 @@ + # Check AVX2 WIG instructions + +- .allow_index_reg + .text + _start: + vmovntdqa (%ecx),%ymm4 +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx2.s binutils-2.41/gas/testsuite/gas/i386/avx2.s +--- binutils.orig/gas/testsuite/gas/i386/avx2.s 2024-01-18 12:12:23.734946024 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx2.s 2024-01-18 13:32:46.327889315 +0000 +@@ -1,6 +1,5 @@ + # Check i386 AVX2 instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx256int.s binutils-2.41/gas/testsuite/gas/i386/avx256int.s +--- binutils.orig/gas/testsuite/gas/i386/avx256int.s 2024-01-18 12:12:23.734946024 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx256int.s 2024-01-18 13:32:46.327889315 +0000 +@@ -1,6 +1,5 @@ + # Check i386 256bit integer AVX instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_4fmaps.s binutils-2.41/gas/testsuite/gas/i386/avx512_4fmaps.s +--- binutils.orig/gas/testsuite/gas/i386/avx512_4fmaps.s 2024-01-18 12:12:23.735946024 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_4fmaps.s 2024-01-18 13:32:46.328889316 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512_4FMAPS instructions + +- .allow_index_reg + .text + _start: + v4fmaddps (%ecx), %zmm4, %zmm1 # AVX512_4FMAPS +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_4vnniw.s binutils-2.41/gas/testsuite/gas/i386/avx512_4vnniw.s +--- binutils.orig/gas/testsuite/gas/i386/avx512_4vnniw.s 2024-01-18 12:12:23.735946024 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_4vnniw.s 2024-01-18 13:32:46.328889316 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512_4VNNIW instructions + +- .allow_index_reg + .text + _start: + vp4dpwssd (%ecx), %zmm4, %zmm1 # AVX512_4VNNIW +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_bf16.d binutils-2.41/gas/testsuite/gas/i386/avx512_bf16.d +--- binutils.orig/gas/testsuite/gas/i386/avx512_bf16.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_bf16.d 2024-01-18 13:32:46.328889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 BF16 insns + #source: avx512_bf16.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_bf16.s binutils-2.41/gas/testsuite/gas/i386/avx512_bf16.s +--- binutils.orig/gas/testsuite/gas/i386/avx512_bf16.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_bf16.s 2024-01-18 13:32:46.328889316 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512_BF16 instructions + +- .allow_index_reg + .text + bf16: + vcvtne2ps2bf16 %zmm4, %zmm5, %zmm6 #AVX512_BF16 +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_bf16_vl-inval.l binutils-2.41/gas/testsuite/gas/i386/avx512_bf16_vl-inval.l +--- binutils.orig/gas/testsuite/gas/i386/avx512_bf16_vl-inval.l 2024-01-18 12:12:23.735946024 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_bf16_vl-inval.l 2024-01-18 13:32:46.328889316 +0000 +@@ -1,7 +1,7 @@ + .*: Assembler messages: ++.*:5: Error: .* + .*:6: Error: .* + .*:7: Error: .* +-.*:8: Error: .* ++.*:10: Error: .* + .*:11: Error: .* + .*:12: Error: .* +-.*:13: Error: .* +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_bf16_vl-inval.s binutils-2.41/gas/testsuite/gas/i386/avx512_bf16_vl-inval.s +--- binutils.orig/gas/testsuite/gas/i386/avx512_bf16_vl-inval.s 2024-01-18 12:12:23.735946024 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_bf16_vl-inval.s 2024-01-18 13:32:46.328889316 +0000 +@@ -1,6 +1,5 @@ + # Check illegal AVX512{BF16,VL} instructions + +- .allow_index_reg + .text + _start: + vcvtneps2bf16 0x10000000(%rbp, %r14, 8), %xmm3{%k7} #AVX512{BF16,VL} MASK_ENABLING +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_bf16_vl.d binutils-2.41/gas/testsuite/gas/i386/avx512_bf16_vl.d +--- binutils.orig/gas/testsuite/gas/i386/avx512_bf16_vl.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_bf16_vl.d 2024-01-18 13:32:46.328889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 BF16 VL insns + #source: avx512_bf16_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_bf16_vl.s binutils-2.41/gas/testsuite/gas/i386/avx512_bf16_vl.s +--- binutils.orig/gas/testsuite/gas/i386/avx512_bf16_vl.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_bf16_vl.s 2024-01-18 13:32:46.328889316 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{BF16,VL} instructions + +- .allow_index_reg + .text + bf16: + vcvtne2ps2bf16 %ymm4, %ymm5, %ymm6 #AVX512{BF16,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_fp16-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512_fp16-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512_fp16-intel.d 2024-01-18 12:12:23.735946024 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_fp16-intel.d 2024-01-18 13:32:46.328889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512-FP16 insns (Intel disassembly) + #source: avx512_fp16.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_fp16-inval-bcast.l binutils-2.41/gas/testsuite/gas/i386/avx512_fp16-inval-bcast.l +--- binutils.orig/gas/testsuite/gas/i386/avx512_fp16-inval-bcast.l 2024-01-18 12:12:23.735946024 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_fp16-inval-bcast.l 2024-01-18 13:32:46.328889316 +0000 +@@ -1,27 +1,27 @@ + .*: Assembler messages: +-.*:6: Error: unsupported broadcast for `vcvtpd2ph' +-.*:7: Error: unsupported broadcast for `vcvtuqq2ph' +-.*:8: Error: unsupported broadcast for `vcvtdq2ph' +-.*:9: Error: unsupported broadcast for `vcvtudq2ph' +-.*:10: Error: unsupported broadcast for `vcmpph' +-.*:11: Error: Unsupported broadcast: `\{1to64\}' +-.*:12: Error: unsupported broadcast for `vfmadd132ph' +-.*:13: Error: unsupported broadcast for `vfcmaddcph' +-.*:14: Error: unsupported broadcast for `vfcmulcph' +-.*:15: Error: unsupported broadcast for `vcvtdq2ph' +-.*:16: Error: unsupported broadcast for `vfmaddcph' ++.*:5: Error: unsupported broadcast for `vcvtpd2ph' ++.*:6: Error: unsupported broadcast for `vcvtuqq2ph' ++.*:7: Error: unsupported broadcast for `vcvtdq2ph' ++.*:8: Error: unsupported broadcast for `vcvtudq2ph' ++.*:9: Error: unsupported broadcast for `vcmpph' ++.*:10: Error: Unsupported broadcast: `\{1to64\}' ++.*:11: Error: unsupported broadcast for `vfmadd132ph' ++.*:12: Error: unsupported broadcast for `vfcmaddcph' ++.*:13: Error: unsupported broadcast for `vfcmulcph' ++.*:14: Error: unsupported broadcast for `vcvtdq2ph' ++.*:15: Error: unsupported broadcast for `vfmaddcph' ++.*:16: Error: unsupported broadcast for `vfmulcph' + .*:17: Error: unsupported broadcast for `vfmulcph' +-.*:18: Error: unsupported broadcast for `vfmulcph' +-.*:21: Error: unsupported broadcast for `vcvtpd2ph' +-.*:22: Error: unsupported broadcast for `vcvtuqq2ph' +-.*:23: Error: unsupported broadcast for `vcvtdq2ph' +-.*:24: Error: unsupported broadcast for `vcvtudq2ph' +-.*:25: Error: unsupported broadcast for `vcmpph' +-.*:26: Error: Unsupported broadcast: `\{1to64\}' +-.*:27: Error: unsupported broadcast for `vfmsubadd231ph' +-.*:28: Error: unsupported broadcast for `vfcmaddcph' +-.*:29: Error: unsupported broadcast for `vfcmulcph' +-.*:30: Error: unsupported broadcast for `vcvtdq2ph' +-.*:31: Error: unsupported broadcast for `vfcmaddcph' ++.*:20: Error: unsupported broadcast for `vcvtpd2ph' ++.*:21: Error: unsupported broadcast for `vcvtuqq2ph' ++.*:22: Error: unsupported broadcast for `vcvtdq2ph' ++.*:23: Error: unsupported broadcast for `vcvtudq2ph' ++.*:24: Error: unsupported broadcast for `vcmpph' ++.*:25: Error: Unsupported broadcast: `\{1to64\}' ++.*:26: Error: unsupported broadcast for `vfmsubadd231ph' ++.*:27: Error: unsupported broadcast for `vfcmaddcph' ++.*:28: Error: unsupported broadcast for `vfcmulcph' ++.*:29: Error: unsupported broadcast for `vcvtdq2ph' ++.*:30: Error: unsupported broadcast for `vfcmaddcph' ++.*:31: Error: unsupported broadcast for `vfmulcph' + .*:32: Error: unsupported broadcast for `vfmulcph' +-.*:33: Error: unsupported broadcast for `vfmulcph' +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_fp16-inval-bcast.s binutils-2.41/gas/testsuite/gas/i386/avx512_fp16-inval-bcast.s +--- binutils.orig/gas/testsuite/gas/i386/avx512_fp16-inval-bcast.s 2024-01-18 12:12:23.735946024 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_fp16-inval-bcast.s 2024-01-18 13:32:46.328889316 +0000 +@@ -1,6 +1,5 @@ + # Check error for invalid {1toXX} and {2toXX} broadcasts. + +- .allow_index_reg + .text + _start: + vcvtpd2ph (%ecx){1to16}, %xmm3 +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_fp16.d binutils-2.41/gas/testsuite/gas/i386/avx512_fp16.d +--- binutils.orig/gas/testsuite/gas/i386/avx512_fp16.d 2024-01-18 12:12:23.735946024 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_fp16.d 2024-01-18 13:32:46.328889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512-FP16 insns + #source: avx512_fp16.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_fp16.s binutils-2.41/gas/testsuite/gas/i386/avx512_fp16.s +--- binutils.orig/gas/testsuite/gas/i386/avx512_fp16.s 2024-01-18 12:12:23.736946025 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_fp16.s 2024-01-18 13:32:46.328889316 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512-FP16 instructions + +- .allow_index_reg + .text + _start: + vaddph %zmm4, %zmm5, %zmm6 #AVX512-FP16 +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_fp16_pseudo_ops.d binutils-2.41/gas/testsuite/gas/i386/avx512_fp16_pseudo_ops.d +--- binutils.orig/gas/testsuite/gas/i386/avx512_fp16_pseudo_ops.d 2024-01-18 12:12:23.736946025 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_fp16_pseudo_ops.d 2024-01-18 13:32:46.328889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 VCM.*{PH,SH} insns + #source: avx512_fp16_pseudo_ops.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_fp16_pseudo_ops.s binutils-2.41/gas/testsuite/gas/i386/avx512_fp16_pseudo_ops.s +--- binutils.orig/gas/testsuite/gas/i386/avx512_fp16_pseudo_ops.s 2024-01-18 12:12:23.736946025 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_fp16_pseudo_ops.s 2024-01-18 13:32:46.329889316 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit VCM.*{PH,SH} instructions + +- .allow_index_reg + .text + _start: + vcmpeq_oqph %zmm5, %zmm6, %k5 +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_fp16_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512_fp16_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512_fp16_vl-intel.d 2024-01-18 12:12:23.736946025 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_fp16_vl-intel.d 2024-01-18 13:32:46.329889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512-FP16,AVX512VL insns (Intel disassembly) + #source: avx512_fp16_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_fp16_vl.d binutils-2.41/gas/testsuite/gas/i386/avx512_fp16_vl.d +--- binutils.orig/gas/testsuite/gas/i386/avx512_fp16_vl.d 2024-01-18 12:12:23.736946025 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_fp16_vl.d 2024-01-18 13:32:46.329889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512-FP16,AVX512VL insns + #source: avx512_fp16_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_fp16_vl.s binutils-2.41/gas/testsuite/gas/i386/avx512_fp16_vl.s +--- binutils.orig/gas/testsuite/gas/i386/avx512_fp16_vl.s 2024-01-18 12:12:23.737946026 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_fp16_vl.s 2024-01-18 13:32:46.329889316 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512-FP16,AVX512VL instructions + +- .allow_index_reg + .text + _start: + vaddph %ymm4, %ymm5, %ymm6 #AVX512-FP16,AVX512VL +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_vpopcntdq-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512_vpopcntdq-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512_vpopcntdq-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_vpopcntdq-intel.d 2024-01-18 13:32:46.329889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512/VPOPCNTDQ insns (Intel disassembly) + #source: avx512_vpopcntdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_vpopcntdq.d binutils-2.41/gas/testsuite/gas/i386/avx512_vpopcntdq.d +--- binutils.orig/gas/testsuite/gas/i386/avx512_vpopcntdq.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_vpopcntdq.d 2024-01-18 13:32:46.329889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512/VPOPCNTDQ insns + #source: avx512_vpopcntdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512_vpopcntdq.s binutils-2.41/gas/testsuite/gas/i386/avx512_vpopcntdq.s +--- binutils.orig/gas/testsuite/gas/i386/avx512_vpopcntdq.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512_vpopcntdq.s 2024-01-18 13:32:46.329889316 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512_VPOPCNTDQ instructions + +- .allow_index_reg + .text + vpopcnt: + vpopcntd %zmm5, %zmm6 # AVX512_VPOPCNTDQ +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bitalg-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512bitalg-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512bitalg-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bitalg-intel.d 2024-01-18 13:32:46.329889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512BITALG insns (Intel disassembly) + #source: avx512bitalg.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bitalg.d binutils-2.41/gas/testsuite/gas/i386/avx512bitalg.d +--- binutils.orig/gas/testsuite/gas/i386/avx512bitalg.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bitalg.d 2024-01-18 13:32:46.329889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512BITALG insns + #source: avx512bitalg.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bitalg.s binutils-2.41/gas/testsuite/gas/i386/avx512bitalg.s +--- binutils.orig/gas/testsuite/gas/i386/avx512bitalg.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bitalg.s 2024-01-18 13:32:46.329889316 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512BITALG instructions + +- .allow_index_reg + .text + bitalg: + vpshufbitqmb %zmm4, %zmm5, %k5 # AVX512BITALG +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bitalg_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512bitalg_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512bitalg_vl-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bitalg_vl-intel.d 2024-01-18 13:32:46.329889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512BITALG/VL insns (Intel disassembly) + #source: avx512bitalg_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bitalg_vl.d binutils-2.41/gas/testsuite/gas/i386/avx512bitalg_vl.d +--- binutils.orig/gas/testsuite/gas/i386/avx512bitalg_vl.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bitalg_vl.d 2024-01-18 13:32:46.329889316 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512BITALG/VL insns + #source: avx512bitalg_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bitalg_vl.s binutils-2.41/gas/testsuite/gas/i386/avx512bitalg_vl.s +--- binutils.orig/gas/testsuite/gas/i386/avx512bitalg_vl.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bitalg_vl.s 2024-01-18 13:32:46.329889316 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{BITALG,VL} instructions + +- .allow_index_reg + .text + bitalg: + vpshufbitqmb %xmm4, %xmm5, %k5{%k7} # AVX512{BITALG,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bw-opts-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512bw-opts-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512bw-opts-intel.d 2024-01-18 12:12:23.737946026 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bw-opts-intel.d 2024-01-18 13:32:46.330889317 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel -Msuffix + #name: i386 AVX512BW opts insns (Intel disassembly) + #source: avx512bw-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bw-opts.d binutils-2.41/gas/testsuite/gas/i386/avx512bw-opts.d +--- binutils.orig/gas/testsuite/gas/i386/avx512bw-opts.d 2024-01-18 12:12:23.737946026 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bw-opts.d 2024-01-18 13:32:46.330889317 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Msuffix + #name: i386 AVX512BW opts insns + #source: avx512bw-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bw-opts.s binutils-2.41/gas/testsuite/gas/i386/avx512bw-opts.s +--- binutils.orig/gas/testsuite/gas/i386/avx512bw-opts.s 2024-01-18 12:12:23.737946026 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bw-opts.s 2024-01-18 13:32:46.330889317 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512BW swap instructions + +- .allow_index_reg + .text + _start: + vmovdqu8 %zmm5, %zmm6 # AVX512BW +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bw-wig.s binutils-2.41/gas/testsuite/gas/i386/avx512bw-wig.s +--- binutils.orig/gas/testsuite/gas/i386/avx512bw-wig.s 2024-01-18 12:12:23.737946026 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bw-wig.s 2024-01-18 13:32:46.330889317 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512BW WIG instructions + +- .allow_index_reg + .text + _start: + vpabsb %zmm5, %zmm6 # AVX512BW +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bw.s binutils-2.41/gas/testsuite/gas/i386/avx512bw.s +--- binutils.orig/gas/testsuite/gas/i386/avx512bw.s 2024-01-18 12:12:23.738946026 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bw.s 2024-01-18 13:32:46.330889317 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512BW instructions + +- .allow_index_reg + .text + _start: + vpabsb %zmm5, %zmm6 # AVX512BW +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bw_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512bw_vl-intel.d 2024-01-18 12:12:23.738946026 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl-intel.d 2024-01-18 13:32:46.331889318 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512BW/VL insns (Intel disassembly) + #source: avx512bw_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bw_vl-opts-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl-opts-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512bw_vl-opts-intel.d 2024-01-18 12:12:23.738946026 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl-opts-intel.d 2024-01-18 13:32:46.331889318 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel -Msuffix + #name: i386 AVX512BW/VL opts insns (Intel disassembly) + #source: avx512bw_vl-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bw_vl-opts.d binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl-opts.d +--- binutils.orig/gas/testsuite/gas/i386/avx512bw_vl-opts.d 2024-01-18 12:12:23.738946026 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl-opts.d 2024-01-18 13:32:46.331889318 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Msuffix + #name: i386 AVX512BW/VL opts insns + #source: avx512bw_vl-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bw_vl-opts.s binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl-opts.s +--- binutils.orig/gas/testsuite/gas/i386/avx512bw_vl-opts.s 2024-01-18 12:12:23.738946026 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl-opts.s 2024-01-18 13:32:46.331889318 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{BW,VL} swap instructions + +- .allow_index_reg + .text + _start: + vmovdqu8 %xmm5, %xmm6{%k7} # AVX512{BW,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bw_vl-wig.s binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl-wig.s +--- binutils.orig/gas/testsuite/gas/i386/avx512bw_vl-wig.s 2024-01-18 12:12:23.739946027 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl-wig.s 2024-01-18 13:32:46.331889318 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{BW,VL} WIG instructions + +- .allow_index_reg + .text + _start: + vpabsb %xmm5, %xmm6{%k7} # AVX512{BW,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bw_vl.d binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl.d +--- binutils.orig/gas/testsuite/gas/i386/avx512bw_vl.d 2024-01-18 12:12:23.739946027 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl.d 2024-01-18 13:32:46.332889318 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512BW/VL insns + #source: avx512bw_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512bw_vl.s binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl.s +--- binutils.orig/gas/testsuite/gas/i386/avx512bw_vl.s 2024-01-18 12:12:23.740946028 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512bw_vl.s 2024-01-18 13:32:46.332889318 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{BW,VL} instructions + +- .allow_index_reg + .text + _start: + vpabsb %xmm5, %xmm6{%k7} # AVX512{BW,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512cd-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512cd-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512cd-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512cd-intel.d 2024-01-18 13:32:46.332889318 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: i386 AVX512CD insns (Intel disassembly) + #source: avx512cd.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512cd.d binutils-2.41/gas/testsuite/gas/i386/avx512cd.d +--- binutils.orig/gas/testsuite/gas/i386/avx512cd.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512cd.d 2024-01-18 13:32:46.332889318 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512CD insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512cd.s binutils-2.41/gas/testsuite/gas/i386/avx512cd.s +--- binutils.orig/gas/testsuite/gas/i386/avx512cd.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512cd.s 2024-01-18 13:32:46.332889318 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512CD instructions + +- .allow_index_reg + .text + cd: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512cd_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512cd_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512cd_vl-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512cd_vl-intel.d 2024-01-18 13:32:46.332889318 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512CD/VL insns (Intel disassembly) + #source: avx512cd_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512cd_vl.d binutils-2.41/gas/testsuite/gas/i386/avx512cd_vl.d +--- binutils.orig/gas/testsuite/gas/i386/avx512cd_vl.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512cd_vl.d 2024-01-18 13:32:46.332889318 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512CD/VL insns + #source: avx512cd_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512cd_vl.s binutils-2.41/gas/testsuite/gas/i386/avx512cd_vl.s +--- binutils.orig/gas/testsuite/gas/i386/avx512cd_vl.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512cd_vl.s 2024-01-18 13:32:46.332889318 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{CD,VL} instructions + +- .allow_index_reg + .text + cd: + vpconflictd %xmm5, %xmm6{%k7} # AVX512{CD,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512dq-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512dq-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512dq-intel.d 2024-01-18 12:12:23.740946028 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512dq-intel.d 2024-01-18 13:32:46.332889318 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512DQ insns (Intel disassembly) + #source: avx512dq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512dq-rcig.s binutils-2.41/gas/testsuite/gas/i386/avx512dq-rcig.s +--- binutils.orig/gas/testsuite/gas/i386/avx512dq-rcig.s 2024-01-18 12:12:23.740946028 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512dq-rcig.s 2024-01-18 13:32:46.333889319 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512DQ-RCIG instructions + +- .allow_index_reg + .text + _start: + vrangepd $0xab, {sae}, %zmm4, %zmm5, %zmm6 # AVX512DQ +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512dq.d binutils-2.41/gas/testsuite/gas/i386/avx512dq.d +--- binutils.orig/gas/testsuite/gas/i386/avx512dq.d 2024-01-18 12:12:23.741946029 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512dq.d 2024-01-18 13:32:46.333889319 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512DQ insns + #source: avx512dq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512dq.s binutils-2.41/gas/testsuite/gas/i386/avx512dq.s +--- binutils.orig/gas/testsuite/gas/i386/avx512dq.s 2024-01-18 12:12:23.741946029 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512dq.s 2024-01-18 13:32:46.333889319 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512DQ instructions + +- .allow_index_reg + .text + _start: + vbroadcastf32x8 (%ecx), %zmm6 # AVX512DQ +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512dq_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512dq_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512dq_vl-intel.d 2024-01-18 12:12:23.741946029 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512dq_vl-intel.d 2024-01-18 13:32:46.333889319 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512DQ/VL insns (Intel disassembly) + #source: avx512dq_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512dq_vl.d binutils-2.41/gas/testsuite/gas/i386/avx512dq_vl.d +--- binutils.orig/gas/testsuite/gas/i386/avx512dq_vl.d 2024-01-18 12:12:23.741946029 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512dq_vl.d 2024-01-18 13:32:46.333889319 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512DQ/VL insns + #source: avx512dq_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512dq_vl.s binutils-2.41/gas/testsuite/gas/i386/avx512dq_vl.s +--- binutils.orig/gas/testsuite/gas/i386/avx512dq_vl.s 2024-01-18 12:12:23.742946029 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512dq_vl.s 2024-01-18 13:32:46.334889320 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{DQ,VL} instructions + +- .allow_index_reg + .text + _start: + vbroadcastf64x2 (%ecx), %ymm6{%k7} # AVX512{DQ,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512er-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512er-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512er-intel.d 2024-01-18 12:12:23.742946029 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512er-intel.d 2024-01-18 13:32:46.334889320 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: i386 AVX512ER insns (Intel disassembly) + #source: avx512er.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512er-rcig.s binutils-2.41/gas/testsuite/gas/i386/avx512er-rcig.s +--- binutils.orig/gas/testsuite/gas/i386/avx512er-rcig.s 2024-01-18 12:12:23.742946029 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512er-rcig.s 2024-01-18 13:32:46.334889320 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512ER-RCIG instructions + +- .allow_index_reg + .text + _start: + vexp2ps {sae}, %zmm5, %zmm6 # AVX512ER +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512er.d binutils-2.41/gas/testsuite/gas/i386/avx512er.d +--- binutils.orig/gas/testsuite/gas/i386/avx512er.d 2024-01-18 12:12:23.742946029 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512er.d 2024-01-18 13:32:46.334889320 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512ER insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512er.s binutils-2.41/gas/testsuite/gas/i386/avx512er.s +--- binutils.orig/gas/testsuite/gas/i386/avx512er.s 2024-01-18 12:12:23.742946029 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512er.s 2024-01-18 13:32:46.334889320 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512ER instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f-nondef.d binutils-2.41/gas/testsuite/gas/i386/avx512f-nondef.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f-nondef.d 2024-01-18 12:12:23.744946031 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f-nondef.d 2024-01-18 13:32:46.336889321 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512F insns with nondefault values in ignored / reserved bits + +@@ -15,10 +14,14 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 62 f2 55 1f 3b f4 vpminud \{rn-bad\},%zmm4,%zmm5,%zmm6\{%k7\} + [ ]*[a-f0-9]+: 62 f2 7e 48 31 72 7f vpmovdb %zmm6,0x7f0\(%edx\) + [ ]*[a-f0-9]+: 62 f2 7e 58 31 72 7f vpmovdb %zmm6,0x7f0\(%edx\)\{bad\} +-[ ]*[a-f0-9]+: 62 f1 7c 88 58 \(bad\) +-[ ]*[a-f0-9]+: c3 ret ++[ ]*[a-f0-9]+: 62 f1 7c 88 58 c3 (\{evex\} )?vaddps %xmm3,%xmm0,%xmm0\{bad\} + [ ]*[a-f0-9]+: 62 f2 7d 4f 92 01 vgatherdps \(bad\),%zmm0\{%k7\} + [ ]*[a-f0-9]+: 67 62 f2 7d 4f 92 01 addr16 vgatherdps \(bad\),%zmm0\{%k7\} + [ ]*[a-f0-9]+: 62 f2 7d cf 92 04 08 vgatherdps \(%eax,%zmm1(,1)?\),%zmm0\{%k7\}\{z\}/\(bad\) + [ ]*[a-f0-9]+: 62 f2 7d 48 92 04 08 vgatherdps \(%eax,%zmm1(,1)?\),%zmm0/\(bad\) ++[ ]*[a-f0-9]+: 62 f1 7c cf c2 c0 00 vcmpeqps %zmm0,%zmm0,%k0\{%k7\}\{z\}/\(bad\) ++[ ]*[a-f0-9]+: 62 f1 7c cf 29 00 vmovaps %zmm0,\(%eax\)\{%k7\}\{z\}/\(bad\) ++[ ]*[a-f0-9]+: 62 f1 7d 0a c5 c8 00 vpextrw \$(0x)?0,%xmm0,%ecx\{%k2\}/\(bad\) ++[ ]*[a-f0-9]+: 62 f3 7d 0a 16 01 00 vpextrd \$(0x)?0,%xmm0,\(%ecx\)\{%k2\}/\(bad\) ++[ ]*[a-f0-9]+: 62 f2 7d 4a 2a 01 vmovntdqa \(%ecx\),%zmm0\{%k2\}/\(bad\) + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f-nondef.s binutils-2.41/gas/testsuite/gas/i386/avx512f-nondef.s +--- binutils.orig/gas/testsuite/gas/i386/avx512f-nondef.s 2024-01-18 12:12:23.744946031 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f-nondef.s 2024-01-18 13:32:46.336889321 +0000 +@@ -26,3 +26,18 @@ + .insn EVEX.66.0F38.W0 0x92, (%eax,%zmm1), %zmm0{%k7}{z} + # vgatherdps (%eax,%zmm1), %zmm0 # without actual mask register + .insn EVEX.66.0F38.W0 0x92, (%eax,%zmm1), %zmm0 ++ ++ # vcmpeqps %zmm0, %zmm0, %k0{%k7} with EVEX.z set ++ .insn EVEX.0f 0xc2, $0, %zmm0, %zmm0, %k0{%k7}{z} ++ ++ # vmovaps %zmm0, (%eax){%k7} with EVEX.z set ++ .insn EVEX.0f 0x29, %zmm0, (%eax){%k7}{z} ++ ++ # vpextrw $0, %xmm0, %ecx with non-zero EVEX.aaa ++ .insn EVEX.66.0f 0xc5, $0, %xmm0, %ecx{%k2} ++ ++ # vpextrd $0, %xmm0, (%ecx) with non-zero EVEX.aaa ++ .insn EVEX.66.0f3a 0x16, $0, %xmm0, (%ecx){%k2} ++ ++ # vmovntdqa (%ecx), %zmm0 with non-zero EVEX.aaa ++ .insn EVEX.66.0f38.W0 0x2a, (%ecx), %zmm0{%k2} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f-opts-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512f-opts-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f-opts-intel.d 2024-01-18 12:12:23.744946031 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f-opts-intel.d 2024-01-18 13:32:46.336889321 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel -Msuffix + #name: i386 AVX512F opts insns (Intel disassembly) + #source: avx512f-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f-opts.d binutils-2.41/gas/testsuite/gas/i386/avx512f-opts.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f-opts.d 2024-01-18 12:12:23.744946031 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f-opts.d 2024-01-18 13:32:46.336889321 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Msuffix + #name: i386 AVX512F opts insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f-opts.s binutils-2.41/gas/testsuite/gas/i386/avx512f-opts.s +--- binutils.orig/gas/testsuite/gas/i386/avx512f-opts.s 2024-01-18 12:12:23.745946031 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f-opts.s 2024-01-18 13:32:46.336889321 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512F instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f-rcig.s binutils-2.41/gas/testsuite/gas/i386/avx512f-rcig.s +--- binutils.orig/gas/testsuite/gas/i386/avx512f-rcig.s 2024-01-18 12:12:23.745946031 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f-rcig.s 2024-01-18 13:32:46.336889321 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512F-RCIG instructions + +- .allow_index_reg + .text + _start: + vcmppd $0xab, {sae}, %zmm5, %zmm6, %k5 # AVX512F +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f.s binutils-2.41/gas/testsuite/gas/i386/avx512f.s +--- binutils.orig/gas/testsuite/gas/i386/avx512f.s 2024-01-18 12:12:23.754946038 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f.s 2024-01-18 13:32:46.338889322 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512F instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_gfni-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512f_gfni-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f_gfni-intel.d 2024-01-18 12:12:23.754946038 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_gfni-intel.d 2024-01-18 13:32:46.338889322 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512F/GFNI insns (Intel disassembly) + #source: avx512f_gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_gfni.d binutils-2.41/gas/testsuite/gas/i386/avx512f_gfni.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f_gfni.d 2024-01-18 12:12:23.754946038 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_gfni.d 2024-01-18 13:32:46.338889322 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512F/GFNI insns + #source: avx512f_gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_gfni.s binutils-2.41/gas/testsuite/gas/i386/avx512f_gfni.s +--- binutils.orig/gas/testsuite/gas/i386/avx512f_gfni.s 2024-01-18 12:12:23.754946038 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_gfni.s 2024-01-18 13:32:46.338889322 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512F,GFNI instructions + +- .allow_index_reg + .text + _start: + vgf2p8affineqb $0xab, %zmm4, %zmm5, %zmm6 # AVX512F,GFNI +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vaes-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512f_vaes-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vaes-intel.d 2024-01-18 12:12:23.754946038 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vaes-intel.d 2024-01-18 13:32:46.338889322 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512F/VAES insns (Intel disassembly) + #source: avx512f_vaes.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vaes.d binutils-2.41/gas/testsuite/gas/i386/avx512f_vaes.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vaes.d 2024-01-18 12:12:23.754946038 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vaes.d 2024-01-18 13:32:46.338889322 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512F/VAES insns + #source: avx512f_vaes.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vaes.s binutils-2.41/gas/testsuite/gas/i386/avx512f_vaes.s +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vaes.s 2024-01-18 12:12:23.754946038 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vaes.s 2024-01-18 13:32:46.338889322 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512F,VAES instructions + +- .allow_index_reg + .text + _start: + vaesdec %zmm4, %zmm5, %zmm6 # AVX512F,VAES +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512f_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vl-intel.d 2024-01-18 12:12:23.755946039 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vl-intel.d 2024-01-18 13:32:46.339889323 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512F/VL insns (Intel disassembly) + #source: avx512f_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vl-opts-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512f_vl-opts-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vl-opts-intel.d 2024-01-18 12:12:23.755946039 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vl-opts-intel.d 2024-01-18 13:32:46.339889323 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel -Msuffix + #name: i386 AVX512F/VL opts insns (Intel disassembly) + #source: avx512f_vl-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vl-opts.d binutils-2.41/gas/testsuite/gas/i386/avx512f_vl-opts.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vl-opts.d 2024-01-18 12:12:23.755946039 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vl-opts.d 2024-01-18 13:32:46.339889323 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Msuffix + #name: i386 AVX512F/VL opts insns + #source: avx512f_vl-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vl-opts.s binutils-2.41/gas/testsuite/gas/i386/avx512f_vl-opts.s +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vl-opts.s 2024-01-18 12:12:23.755946039 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vl-opts.s 2024-01-18 13:32:46.339889323 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{F,VL} swap instructions + +- .allow_index_reg + .text + _start: + vmovapd %xmm5, %xmm6{%k7} # AVX512{F,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vl-wig.s binutils-2.41/gas/testsuite/gas/i386/avx512f_vl-wig.s +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vl-wig.s 2024-01-18 12:12:23.755946039 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vl-wig.s 2024-01-18 13:32:46.339889323 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{F,VL} WIG instructions + +- .allow_index_reg + .text + _start: + vpmovsxbd %xmm5, %xmm6{%k7} # AVX512{F,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vl.d binutils-2.41/gas/testsuite/gas/i386/avx512f_vl.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vl.d 2024-01-18 12:12:23.756946039 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vl.d 2024-01-18 13:32:46.340889323 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512F/VL insns + #source: avx512f_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vl.s binutils-2.41/gas/testsuite/gas/i386/avx512f_vl.s +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vl.s 2024-01-18 12:12:23.757946040 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vl.s 2024-01-18 13:32:46.341889324 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{F,VL} instructions + +- .allow_index_reg + .text + _start: + vaddpd %xmm4, %xmm5, %xmm6{%k7} # AVX512{F,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vpclmulqdq-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512f_vpclmulqdq-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vpclmulqdq-intel.d 2024-01-18 12:12:23.757946040 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vpclmulqdq-intel.d 2024-01-18 13:32:46.341889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512F/VPCLMULQDQ insns (Intel disassembly) + #source: avx512f_vpclmulqdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vpclmulqdq.d binutils-2.41/gas/testsuite/gas/i386/avx512f_vpclmulqdq.d +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vpclmulqdq.d 2024-01-18 12:12:23.757946040 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vpclmulqdq.d 2024-01-18 13:32:46.341889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512F/VPCLMULQDQ insns + #source: avx512f_vpclmulqdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512f_vpclmulqdq.s binutils-2.41/gas/testsuite/gas/i386/avx512f_vpclmulqdq.s +--- binutils.orig/gas/testsuite/gas/i386/avx512f_vpclmulqdq.s 2024-01-18 12:12:23.757946040 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512f_vpclmulqdq.s 2024-01-18 13:32:46.341889324 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512F,VPCLMULQDQ instructions + +- .allow_index_reg + .text + _start: + vpclmulqdq $0xab, %zmm1, %zmm3, %zmm1 # AVX512F,VPCLMULQDQ +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512ifma-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512ifma-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512ifma-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512ifma-intel.d 2024-01-18 13:32:46.341889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512IFMA insns (Intel disassembly) + #source: avx512ifma.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512ifma.d binutils-2.41/gas/testsuite/gas/i386/avx512ifma.d +--- binutils.orig/gas/testsuite/gas/i386/avx512ifma.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512ifma.d 2024-01-18 13:32:46.341889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512IFMA insns + #source: avx512ifma.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512ifma.s binutils-2.41/gas/testsuite/gas/i386/avx512ifma.s +--- binutils.orig/gas/testsuite/gas/i386/avx512ifma.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512ifma.s 2024-01-18 13:32:46.341889324 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512IFMA instructions + +- .allow_index_reg + .text + ifma: + vpmadd52luq %zmm4, %zmm5, %zmm6 # AVX512IFMA +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512ifma_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512ifma_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512ifma_vl-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512ifma_vl-intel.d 2024-01-18 13:32:46.341889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512IFMA/VL insns (Intel disassembly) + #source: avx512ifma_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512ifma_vl.d binutils-2.41/gas/testsuite/gas/i386/avx512ifma_vl.d +--- binutils.orig/gas/testsuite/gas/i386/avx512ifma_vl.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512ifma_vl.d 2024-01-18 13:32:46.341889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512IFMA/VL insns + #source: avx512ifma_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512ifma_vl.s binutils-2.41/gas/testsuite/gas/i386/avx512ifma_vl.s +--- binutils.orig/gas/testsuite/gas/i386/avx512ifma_vl.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512ifma_vl.s 2024-01-18 13:32:46.341889324 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{IFMA,VL} instructions + +- .allow_index_reg + .text + ifma: + vpmadd52luq %xmm4, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512pf-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512pf-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512pf-intel.d 2024-01-18 12:12:23.757946040 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512pf-intel.d 2024-01-18 13:32:46.341889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: i386 AVX512PF insns (Intel disassembly) + #source: avx512pf.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512pf.d binutils-2.41/gas/testsuite/gas/i386/avx512pf.d +--- binutils.orig/gas/testsuite/gas/i386/avx512pf.d 2024-01-18 12:12:23.757946040 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512pf.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512PF insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512pf.s binutils-2.41/gas/testsuite/gas/i386/avx512pf.s +--- binutils.orig/gas/testsuite/gas/i386/avx512pf.s 2024-01-18 12:12:23.757946040 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512pf.s 2024-01-18 13:32:46.342889324 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512PF instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vbmi-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512vbmi-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vbmi-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vbmi-intel.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512VBMI insns (Intel disassembly) + #source: avx512vbmi.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vbmi.d binutils-2.41/gas/testsuite/gas/i386/avx512vbmi.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vbmi.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vbmi.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512VBMI insns + #source: avx512vbmi.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vbmi.s binutils-2.41/gas/testsuite/gas/i386/avx512vbmi.s +--- binutils.orig/gas/testsuite/gas/i386/avx512vbmi.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vbmi.s 2024-01-18 13:32:46.342889324 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512VBMI instructions + +- .allow_index_reg + .text + vbmi: + vpermb %zmm4, %zmm5, %zmm6 # AVX512VBMI +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vbmi2-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512vbmi2-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vbmi2-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vbmi2-intel.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512VBMI2 insns (Intel disassembly) + #source: avx512vbmi2.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vbmi2.d binutils-2.41/gas/testsuite/gas/i386/avx512vbmi2.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vbmi2.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vbmi2.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512VBMI2 insns + #source: avx512vbmi2.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vbmi2.s binutils-2.41/gas/testsuite/gas/i386/avx512vbmi2.s +--- binutils.orig/gas/testsuite/gas/i386/avx512vbmi2.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vbmi2.s 2024-01-18 13:32:46.342889324 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512VBMI2 instructions + +- .allow_index_reg + .text + vbmi2: + vpcompressb %zmm6, (%ecx){%k7} # AVX512VBMI2 +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vbmi2_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512vbmi2_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vbmi2_vl-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vbmi2_vl-intel.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512VBMI2/VL insns (Intel disassembly) + #source: avx512vbmi2_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vbmi2_vl.d binutils-2.41/gas/testsuite/gas/i386/avx512vbmi2_vl.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vbmi2_vl.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vbmi2_vl.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512VBMI2/VL insns + #source: avx512vbmi2_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vbmi2_vl.s binutils-2.41/gas/testsuite/gas/i386/avx512vbmi2_vl.s +--- binutils.orig/gas/testsuite/gas/i386/avx512vbmi2_vl.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vbmi2_vl.s 2024-01-18 13:32:46.342889324 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{VBMI2,VL} instructions + +- .allow_index_reg + .text + vbmi2: + vpcompressb %xmm6, -123456(%esp,%esi,8){%k7} # AVX512{VBMI2,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vbmi_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512vbmi_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vbmi_vl-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vbmi_vl-intel.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512VBMI/VL insns (Intel disassembly) + #source: avx512vbmi_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vbmi_vl.d binutils-2.41/gas/testsuite/gas/i386/avx512vbmi_vl.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vbmi_vl.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vbmi_vl.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512VBMI/VL insns + #source: avx512vbmi_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vbmi_vl.s binutils-2.41/gas/testsuite/gas/i386/avx512vbmi_vl.s +--- binutils.orig/gas/testsuite/gas/i386/avx512vbmi_vl.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vbmi_vl.s 2024-01-18 13:32:46.342889324 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{VBMI,VL} instructions + +- .allow_index_reg + .text + vbmi: + vpermb %xmm4, %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vl-1.l binutils-2.41/gas/testsuite/gas/i386/avx512vl-1.l +--- binutils.orig/gas/testsuite/gas/i386/avx512vl-1.l 2024-01-18 12:12:23.757946040 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vl-1.l 2024-01-18 13:32:46.342889324 +0000 +@@ -3,8 +3,8 @@ + .*:8: Error: .*corei7\.avx.* + .*:9: Error: .*corei7\.avx.* + .*:10: Error: .*corei7\.avx.* +-.*:15: Error: .*unsupported.* +-.*:16: Error: .*unsupported.* ++.*:15: Error: .*operand size mismatch.* ++.*:16: Error: .*operand size mismatch.* + GAS LISTING .* + #... + [ ]*1[ ]+\.text +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vl_gfni-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512vl_gfni-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vl_gfni-intel.d 2024-01-18 12:12:23.757946040 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vl_gfni-intel.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512VL/GFNI insns (Intel disassembly) + #source: avx512vl_gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vl_gfni.d binutils-2.41/gas/testsuite/gas/i386/avx512vl_gfni.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vl_gfni.d 2024-01-18 12:12:23.757946040 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vl_gfni.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512VL/GFNI insns + #source: avx512vl_gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vl_gfni.s binutils-2.41/gas/testsuite/gas/i386/avx512vl_gfni.s +--- binutils.orig/gas/testsuite/gas/i386/avx512vl_gfni.s 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vl_gfni.s 2024-01-18 13:32:46.342889324 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512VL,GFNI instructions + +- .allow_index_reg + .text + _start: + vgf2p8affineqb $0xab, %xmm4, %xmm5, %xmm6{%k7} # AVX512VL,GFNI +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vl_vaes-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512vl_vaes-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vl_vaes-intel.d 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vl_vaes-intel.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512VL/VAES insns (Intel disassembly) + #source: avx512vl_vaes.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vl_vaes.d binutils-2.41/gas/testsuite/gas/i386/avx512vl_vaes.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vl_vaes.d 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vl_vaes.d 2024-01-18 13:32:46.342889324 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512VL/VAES insns + #source: avx512vl_vaes.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vl_vaes.s binutils-2.41/gas/testsuite/gas/i386/avx512vl_vaes.s +--- binutils.orig/gas/testsuite/gas/i386/avx512vl_vaes.s 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vl_vaes.s 2024-01-18 13:32:46.343889325 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512VL,VAES instructions + +- .allow_index_reg + .text + _start: + vaesdec %xmm4, %xmm5, %xmm6 # AVX512VL,VAES +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vl_vpclmulqdq-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512vl_vpclmulqdq-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vl_vpclmulqdq-intel.d 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vl_vpclmulqdq-intel.d 2024-01-18 13:32:46.343889325 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512VL/VPCLMULQDQ insns (Intel disassembly) + #source: avx512vl_vpclmulqdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vl_vpclmulqdq.d binutils-2.41/gas/testsuite/gas/i386/avx512vl_vpclmulqdq.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vl_vpclmulqdq.d 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vl_vpclmulqdq.d 2024-01-18 13:32:46.343889325 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512VL/VPCLMULQDQ insns + #source: avx512vl_vpclmulqdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vl_vpclmulqdq.s binutils-2.41/gas/testsuite/gas/i386/avx512vl_vpclmulqdq.s +--- binutils.orig/gas/testsuite/gas/i386/avx512vl_vpclmulqdq.s 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vl_vpclmulqdq.s 2024-01-18 13:32:46.343889325 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512VL,VPCLMULQDQ instructions + +- .allow_index_reg + .text + _start: + vpclmulqdq $0xab, %xmm2, %xmm2, %xmm3 # AVX512VL,VPCLMULQDQ +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vnni-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512vnni-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vnni-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vnni-intel.d 2024-01-18 13:32:46.343889325 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512VNNI insns (Intel disassembly) + #source: avx512vnni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vnni.d binutils-2.41/gas/testsuite/gas/i386/avx512vnni.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vnni.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vnni.d 2024-01-18 13:32:46.343889325 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512VNNI insns + #source: avx512vnni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vnni.s binutils-2.41/gas/testsuite/gas/i386/avx512vnni.s +--- binutils.orig/gas/testsuite/gas/i386/avx512vnni.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vnni.s 2024-01-18 13:32:46.343889325 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512VNNI instructions + +- .allow_index_reg + .text + vnni: + vpdpwssd %zmm3, %zmm1, %zmm4 # AVX512VNNI +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vnni_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/avx512vnni_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vnni_vl-intel.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vnni_vl-intel.d 2024-01-18 13:32:46.343889325 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 AVX512VNNI/VL insns (Intel disassembly) + #source: avx512vnni_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vnni_vl.d binutils-2.41/gas/testsuite/gas/i386/avx512vnni_vl.d +--- binutils.orig/gas/testsuite/gas/i386/avx512vnni_vl.d 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vnni_vl.d 2024-01-18 13:32:46.343889325 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 AVX512VNNI/VL insns + #source: avx512vnni_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/avx512vnni_vl.s binutils-2.41/gas/testsuite/gas/i386/avx512vnni_vl.s +--- binutils.orig/gas/testsuite/gas/i386/avx512vnni_vl.s 2024-01-18 12:12:23.845946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx512vnni_vl.s 2024-01-18 13:32:46.343889325 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit AVX512{VNNI,VL} instructions + +- .allow_index_reg + .text + vnni: + vpdpwssd %xmm2, %xmm4, %xmm2{%k3} # AVX512{VNNI,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/bmi-intel.d binutils-2.41/gas/testsuite/gas/i386/bmi-intel.d +--- binutils.orig/gas/testsuite/gas/i386/bmi-intel.d 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/bmi-intel.d 2024-01-18 13:32:46.343889325 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: i386 BMI insns (Intel disassembly) + #source: bmi.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/bmi.d binutils-2.41/gas/testsuite/gas/i386/bmi.d +--- binutils.orig/gas/testsuite/gas/i386/bmi.d 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/bmi.d 2024-01-18 13:32:46.343889325 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 BMI insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/bmi.s binutils-2.41/gas/testsuite/gas/i386/bmi.s +--- binutils.orig/gas/testsuite/gas/i386/bmi.s 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/bmi.s 2024-01-18 13:32:46.343889325 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit BMI instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/bmi2-intel.d binutils-2.41/gas/testsuite/gas/i386/bmi2-intel.d +--- binutils.orig/gas/testsuite/gas/i386/bmi2-intel.d 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/bmi2-intel.d 2024-01-18 13:32:46.343889325 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: i386 BMI2 insns (Intel disassembly) + #source: bmi2.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/bmi2.d binutils-2.41/gas/testsuite/gas/i386/bmi2.d +--- binutils.orig/gas/testsuite/gas/i386/bmi2.d 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/bmi2.d 2024-01-18 13:32:46.343889325 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 BMI2 insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/bmi2.s binutils-2.41/gas/testsuite/gas/i386/bmi2.s +--- binutils.orig/gas/testsuite/gas/i386/bmi2.s 2024-01-18 12:12:23.758946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/bmi2.s 2024-01-18 13:32:46.343889325 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit BMI2 instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/cldemote-intel.d binutils-2.41/gas/testsuite/gas/i386/cldemote-intel.d +--- binutils.orig/gas/testsuite/gas/i386/cldemote-intel.d 2024-01-18 12:12:23.759946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/cldemote-intel.d 2024-01-18 13:32:46.343889325 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 CLDEMOTE insns (Intel disassembly) + #source: cldemote.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/cldemote.d binutils-2.41/gas/testsuite/gas/i386/cldemote.d +--- binutils.orig/gas/testsuite/gas/i386/cldemote.d 2024-01-18 12:12:23.759946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/cldemote.d 2024-01-18 13:32:46.343889325 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 CLDEMOTE insns + #source: cldemote.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/cldemote.s binutils-2.41/gas/testsuite/gas/i386/cldemote.s +--- binutils.orig/gas/testsuite/gas/i386/cldemote.s 2024-01-18 12:12:23.759946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/cldemote.s 2024-01-18 13:32:46.344889326 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit CLDEMOTE instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/clflushopt-intel.d binutils-2.41/gas/testsuite/gas/i386/clflushopt-intel.d +--- binutils.orig/gas/testsuite/gas/i386/clflushopt-intel.d 2024-01-18 12:12:23.759946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/clflushopt-intel.d 2024-01-18 13:32:46.344889326 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 CLFLUSHOPT insns (Intel disassembly) + #source: clflushopt.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/clflushopt.d binutils-2.41/gas/testsuite/gas/i386/clflushopt.d +--- binutils.orig/gas/testsuite/gas/i386/clflushopt.d 2024-01-18 12:12:23.759946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/clflushopt.d 2024-01-18 13:32:46.344889326 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 CLFLUSHOPT insns + #source: clflushopt.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/clflushopt.s binutils-2.41/gas/testsuite/gas/i386/clflushopt.s +--- binutils.orig/gas/testsuite/gas/i386/clflushopt.s 2024-01-18 12:12:23.759946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/clflushopt.s 2024-01-18 13:32:46.344889326 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit CLFLUSHOPT instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/clwb-intel.d binutils-2.41/gas/testsuite/gas/i386/clwb-intel.d +--- binutils.orig/gas/testsuite/gas/i386/clwb-intel.d 2024-01-18 12:12:23.759946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/clwb-intel.d 2024-01-18 13:32:46.344889326 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 CLWB insns (Intel disassembly) + #source: clwb.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/clwb.d binutils-2.41/gas/testsuite/gas/i386/clwb.d +--- binutils.orig/gas/testsuite/gas/i386/clwb.d 2024-01-18 12:12:23.759946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/clwb.d 2024-01-18 13:32:46.344889326 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 CLWB insns + #source: clwb.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/clwb.s binutils-2.41/gas/testsuite/gas/i386/clwb.s +--- binutils.orig/gas/testsuite/gas/i386/clwb.s 2024-01-18 12:12:23.759946041 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/clwb.s 2024-01-18 13:32:46.344889326 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit CLWB instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/cmpccxadd-inval.l binutils-2.41/gas/testsuite/gas/i386/cmpccxadd-inval.l +--- binutils.orig/gas/testsuite/gas/i386/cmpccxadd-inval.l 2024-01-18 12:12:23.760946042 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/cmpccxadd-inval.l 2024-01-18 13:32:46.344889326 +0000 +@@ -1,5 +1,5 @@ + .* Assembler messages: +-.*:6: Error: `cmpbexadd' is only supported in 64-bit mode +-.*:7: Error: `cmpbxadd' is only supported in 64-bit mode +-.*:8: Error: `cmplexadd' is only supported in 64-bit mode +-.*:9: Error: `cmplxadd' is only supported in 64-bit mode ++.*:5: Error: `cmpbexadd' is only supported in 64-bit mode ++.*:6: Error: `cmpbxadd' is only supported in 64-bit mode ++.*:7: Error: `cmplexadd' is only supported in 64-bit mode ++.*:8: Error: `cmplxadd' is only supported in 64-bit mode +diff -rupN binutils.orig/gas/testsuite/gas/i386/cmpccxadd-inval.s binutils-2.41/gas/testsuite/gas/i386/cmpccxadd-inval.s +--- binutils.orig/gas/testsuite/gas/i386/cmpccxadd-inval.s 2024-01-18 12:12:23.760946042 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/cmpccxadd-inval.s 2024-01-18 13:32:46.344889326 +0000 +@@ -1,6 +1,5 @@ + # Check Illegal CMPccXADD instructions + +- .allow_index_reg + .text + _start: + cmpbexadd %eax, %eax, 0x10000000(%esp, %esi, 8) +diff -rupN binutils.orig/gas/testsuite/gas/i386/codeview.exp binutils-2.41/gas/testsuite/gas/i386/codeview.exp +--- binutils.orig/gas/testsuite/gas/i386/codeview.exp 2024-01-18 12:12:23.760946042 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/codeview.exp 2024-01-18 13:32:46.344889326 +0000 +@@ -1,4 +1,4 @@ +-# Copyright (C) 2022-2023 Free Software Foundation, Inc. ++# Copyright (C) 2022-2024 Free Software Foundation, Inc. + + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +diff -rupN binutils.orig/gas/testsuite/gas/i386/compat-intel.d binutils-2.41/gas/testsuite/gas/i386/compat-intel.d +--- binutils.orig/gas/testsuite/gas/i386/compat-intel.d 2024-01-18 12:12:23.760946042 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/compat-intel.d 2024-01-18 13:32:46.344889326 +0000 +@@ -1,4 +1,4 @@ +-#as: -mmnemonic=att ++#as: -mmnemonic=intel + #objdump: -d -Mintel-mnemonic + #name: i386 float Intel mnemonic + #source: compat.s +@@ -8,24 +8,24 @@ + Disassembly of section .text: + + 0+ <.text>: +-[ ]*[a-f0-9]+: dc e3 fsubr st\(3\),st +-[ ]*[a-f0-9]+: d8 e3 fsub st,st\(3\) +-[ ]*[a-f0-9]+: de e1 fsubrp st\(1\),st +-[ ]*[a-f0-9]+: de e3 fsubrp st\(3\),st +-[ ]*[a-f0-9]+: de e3 fsubrp st\(3\),st +-[ ]*[a-f0-9]+: dc eb fsub st\(3\),st +-[ ]*[a-f0-9]+: d8 eb fsubr st,st\(3\) +-[ ]*[a-f0-9]+: de e9 fsubp st\(1\),st +-[ ]*[a-f0-9]+: de eb fsubp st\(3\),st +-[ ]*[a-f0-9]+: de eb fsubp st\(3\),st +-[ ]*[a-f0-9]+: dc f3 fdivr st\(3\),st +-[ ]*[a-f0-9]+: d8 f3 fdiv st,st\(3\) +-[ ]*[a-f0-9]+: de f1 fdivrp st\(1\),st +-[ ]*[a-f0-9]+: de f3 fdivrp st\(3\),st +-[ ]*[a-f0-9]+: de f3 fdivrp st\(3\),st +-[ ]*[a-f0-9]+: dc fb fdiv st\(3\),st +-[ ]*[a-f0-9]+: d8 fb fdivr st,st\(3\) +-[ ]*[a-f0-9]+: de f9 fdivp st\(1\),st +-[ ]*[a-f0-9]+: de fb fdivp st\(3\),st +-[ ]*[a-f0-9]+: de fb fdivp st\(3\),st ++[ ]*[a-f0-9]+: dc eb fsub %st,%st\(3\) ++[ ]*[a-f0-9]+: d8 e3 fsub %st\(3\),%st ++[ ]*[a-f0-9]+: de e9 fsubp %st,%st\(1\) ++[ ]*[a-f0-9]+: de eb fsubp %st,%st\(3\) ++[ ]*[a-f0-9]+: de eb fsubp %st,%st\(3\) ++[ ]*[a-f0-9]+: dc e3 fsubr %st,%st\(3\) ++[ ]*[a-f0-9]+: d8 eb fsubr %st\(3\),%st ++[ ]*[a-f0-9]+: de e1 fsubrp %st,%st\(1\) ++[ ]*[a-f0-9]+: de e3 fsubrp %st,%st\(3\) ++[ ]*[a-f0-9]+: de e3 fsubrp %st,%st\(3\) ++[ ]*[a-f0-9]+: dc fb fdiv %st,%st\(3\) ++[ ]*[a-f0-9]+: d8 f3 fdiv %st\(3\),%st ++[ ]*[a-f0-9]+: de f9 fdivp %st,%st\(1\) ++[ ]*[a-f0-9]+: de fb fdivp %st,%st\(3\) ++[ ]*[a-f0-9]+: de fb fdivp %st,%st\(3\) ++[ ]*[a-f0-9]+: dc f3 fdivr %st,%st\(3\) ++[ ]*[a-f0-9]+: d8 fb fdivr %st\(3\),%st ++[ ]*[a-f0-9]+: de f1 fdivrp %st,%st\(1\) ++[ ]*[a-f0-9]+: de f3 fdivrp %st,%st\(3\) ++[ ]*[a-f0-9]+: de f3 fdivrp %st,%st\(3\) + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/compat-intel2.d binutils-2.41/gas/testsuite/gas/i386/compat-intel2.d +--- binutils.orig/gas/testsuite/gas/i386/compat-intel2.d 2024-01-18 12:12:23.760946042 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/compat-intel2.d 2024-01-18 13:32:46.344889326 +0000 +@@ -1,5 +1,5 @@ + #as: -mmnemonic=intel +-#objdump: -d -Mintel-mnemonic ++#objdump: -d -Mintel + #name: i386 float Intel mnemonic (2) + #source: compat.s + +diff -rupN binutils.orig/gas/testsuite/gas/i386/disassem.d binutils-2.41/gas/testsuite/gas/i386/disassem.d +--- binutils.orig/gas/testsuite/gas/i386/disassem.d 2024-01-18 12:12:23.761946043 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/disassem.d 2024-01-18 13:32:46.344889326 +0000 +@@ -8,309 +8,309 @@ + Disassembly of section \.text: + + 0+ <\.text>: +-[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*ff[ ]+ljmp[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*ef[ ]*out %eax,\(%dx\) +-[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*ff[ ]+lcall[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*d8 90 90 90 90 90[ ]*fcoms -0x6f6f6f70\(%eax\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 8f[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 6a[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 04[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 8f[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 6a[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 04[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 8f[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 6a[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 04[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 8f[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 6a[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 04[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 8f[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 6a[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 04[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 8f[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 6a[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 04[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 8f[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 6a[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 04[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 8f[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 6a[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 04[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es ++[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas + [ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +@@ -318,23 +318,23 @@ Disassembly of section \.text: + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) + [ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas +-[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*aas + [ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +@@ -345,6 +345,12 @@ Disassembly of section \.text: + [ ]*[a-f0-9]+:[ ]*c4 e2 01 1c[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*41[ ]*inc[ ]*%ecx + [ ]*[a-f0-9]+:[ ]*37[ ]*aaa ++[ ]*[a-f0-9]+:[ ]*c4 e2 7f cc[ ]+vsha512msg1[ ]*\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*71 20[ ]+jno.* ++[ ]*[a-f0-9]+:[ ]*c4 e2 7f cd[ ]+vsha512msg2[ ]*\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*71 20[ ]+jno.* ++[ ]*[a-f0-9]+:[ ]*c4 e2 6f cb[ ]+vsha512rnds2[ ]*\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*71 20[ ]+jno.* + [ ]*[a-f0-9]+:[ ]*62 f2 ad 08 1c[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*01 01[ ]*add[ ]*%eax,\(%ecx\) + [ ]*[a-f0-9]+:[ ]*62 f3 7d 28 1b[ ]*\(bad\) +diff -rupN binutils.orig/gas/testsuite/gas/i386/disassem.s binutils-2.41/gas/testsuite/gas/i386/disassem.s +--- binutils.orig/gas/testsuite/gas/i386/disassem.s 2024-01-18 12:12:23.761946043 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/disassem.s 2024-01-18 13:32:46.344889326 +0000 +@@ -119,30 +119,30 @@ + .byte 0xC4, 0xE1, 0xF9, 0x99, 0x9B + .byte 0xC4, 0xE1, 0xF9, 0x99, 0x6F + .insn VEX.L0.66.0f.W1 0x99, (%edi), %k7 +-.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x01 ++.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x07 + .byte 0xC5, 0xF8, 0x92, 0x9B + .byte 0xC5, 0xF8, 0x92, 0x6F + .insn VEX.L0.NP.0f.W0 0x92, (%edi), %k7 +@@ -168,6 +168,9 @@ + .byte 0xC4, 0xE1, 0xF9, 0x93, 0x6F + .insn VEX.L0.66.0f.W1 0x93, (%edi), %k7 + .byte 0xc4, 0xe2, 0x1, 0x1c, 0x41, 0x37 ++ .insn VEX.L1.F2.0f38.W0 0xCC, 32(%ecx), %ymm6 ++ .insn VEX.L1.F2.0f38.W0 0xCD, 32(%ecx), %ymm6 ++ .insn VEX.L1.F2.0f38.W0 0xCB, 32(%ecx), %ymm2, %ymm6 + .byte 0x62, 0xf2, 0xad, 0x08, 0x1c, 0x01 + .byte 0x1 + .insn EVEX.66.0f3a.W0 0x1b, $0x25, %ymm0, %xmm1 +diff -rupN binutils.orig/gas/testsuite/gas/i386/dw2-compress-1.s binutils-2.41/gas/testsuite/gas/i386/dw2-compress-1.s +--- binutils.orig/gas/testsuite/gas/i386/dw2-compress-1.s 2024-01-18 12:12:23.761946043 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/dw2-compress-1.s 2024-01-18 13:32:46.345889327 +0000 +@@ -1,6 +1,6 @@ + /* This testcase is copied from a similar test in GDB. + +- Copyright (C) 2010-2023 Free Software Foundation, Inc. ++ Copyright (C) 2010-2024 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +diff -rupN binutils.orig/gas/testsuite/gas/i386/enqcmd-intel.d binutils-2.41/gas/testsuite/gas/i386/enqcmd-intel.d +--- binutils.orig/gas/testsuite/gas/i386/enqcmd-intel.d 2024-01-18 12:12:23.762946043 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/enqcmd-intel.d 2024-01-18 13:32:46.345889327 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 ENQCMD[S] insns (Intel disassembly) + #source: enqcmd.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/enqcmd-inval.l binutils-2.41/gas/testsuite/gas/i386/enqcmd-inval.l +--- binutils.orig/gas/testsuite/gas/i386/enqcmd-inval.l 2024-01-18 12:12:23.762946043 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/enqcmd-inval.l 2024-01-18 13:32:46.345889327 +0000 +@@ -1,10 +1,10 @@ + .*: Assembler messages: ++.*:5: Error: invalid register operand size for `enqcmd' + .*:6: Error: invalid register operand size for `enqcmd' +-.*:7: Error: invalid register operand size for `enqcmd' ++.*:7: Error: invalid register operand size for `enqcmds' + .*:8: Error: invalid register operand size for `enqcmds' +-.*:9: Error: invalid register operand size for `enqcmds' ++.*:11: Error: invalid register operand size for `enqcmd' + .*:12: Error: invalid register operand size for `enqcmd' +-.*:13: Error: invalid register operand size for `enqcmd' ++.*:13: Error: invalid register operand size for `enqcmds' + .*:14: Error: invalid register operand size for `enqcmds' +-.*:15: Error: invalid register operand size for `enqcmds' + +diff -rupN binutils.orig/gas/testsuite/gas/i386/enqcmd-inval.s binutils-2.41/gas/testsuite/gas/i386/enqcmd-inval.s +--- binutils.orig/gas/testsuite/gas/i386/enqcmd-inval.s 2024-01-18 12:12:23.762946043 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/enqcmd-inval.s 2024-01-18 13:32:46.345889327 +0000 +@@ -1,6 +1,5 @@ + # Check error for ENQCMD[S] 32-bit instructions + +- .allow_index_reg + .text + _start: + enqcmd (%si),%eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/enqcmd.d binutils-2.41/gas/testsuite/gas/i386/enqcmd.d +--- binutils.orig/gas/testsuite/gas/i386/enqcmd.d 2024-01-18 12:12:23.762946043 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/enqcmd.d 2024-01-18 13:32:46.345889327 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 ENQCMD[S] insns + #source: enqcmd.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/enqcmd.s binutils-2.41/gas/testsuite/gas/i386/enqcmd.s +--- binutils.orig/gas/testsuite/gas/i386/enqcmd.s 2024-01-18 12:12:23.762946043 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/enqcmd.s 2024-01-18 13:32:46.345889327 +0000 +@@ -1,6 +1,5 @@ + # Check ENQCMD[S] 32-bit instructions + +- .allow_index_reg + .text + _start: + enqcmd (%ecx),%eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/evex-lig-2.s binutils-2.41/gas/testsuite/gas/i386/evex-lig-2.s +--- binutils.orig/gas/testsuite/gas/i386/evex-lig-2.s 2024-01-18 12:12:23.762946043 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/evex-lig-2.s 2024-01-18 13:32:46.345889327 +0000 +@@ -1,6 +1,5 @@ + # Check EVEX non-LIG instructions with with -mevexlig=256 + +- .allow_index_reg + .text + _start: + {evex} vmovd %xmm4,(%ecx) +diff -rupN binutils.orig/gas/testsuite/gas/i386/evex-lig.s binutils-2.41/gas/testsuite/gas/i386/evex-lig.s +--- binutils.orig/gas/testsuite/gas/i386/evex-lig.s 2024-01-18 12:12:23.763946044 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/evex-lig.s 2024-01-18 13:32:46.345889327 +0000 +@@ -1,6 +1,5 @@ + # Check EVEX LIG instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/evex-wig.s binutils-2.41/gas/testsuite/gas/i386/evex-wig.s +--- binutils.orig/gas/testsuite/gas/i386/evex-wig.s 2024-01-18 12:12:23.764946045 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/evex-wig.s 2024-01-18 13:32:46.347889328 +0000 +@@ -1,6 +1,5 @@ + # Check EVEX WIG instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/evex.s binutils-2.41/gas/testsuite/gas/i386/evex.s +--- binutils.orig/gas/testsuite/gas/i386/evex.s 2024-01-18 12:12:23.764946045 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/evex.s 2024-01-18 13:32:46.347889328 +0000 +@@ -1,6 +1,5 @@ + # Check EVEX instructions + +- .allow_index_reg + .text + _start: + .insn EVEX.LIG.F3.0F.W1 0x2a, %eax,{rd-sae},%xmm5,%xmm6 +diff -rupN binutils.orig/gas/testsuite/gas/i386/fma-scalar.s binutils-2.41/gas/testsuite/gas/i386/fma-scalar.s +--- binutils.orig/gas/testsuite/gas/i386/fma-scalar.s 2024-01-18 12:12:23.765946045 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/fma-scalar.s 2024-01-18 13:32:46.347889328 +0000 +@@ -1,6 +1,5 @@ + # Check AVX scalar instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/fma.s binutils-2.41/gas/testsuite/gas/i386/fma.s +--- binutils.orig/gas/testsuite/gas/i386/fma.s 2024-01-18 12:12:23.765946045 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/fma.s 2024-01-18 13:32:46.347889328 +0000 +@@ -1,6 +1,5 @@ + # Check FMA instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/fma4.s binutils-2.41/gas/testsuite/gas/i386/fma4.s +--- binutils.orig/gas/testsuite/gas/i386/fma4.s 2024-01-18 12:12:23.765946045 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/fma4.s 2024-01-18 13:32:46.348889328 +0000 +@@ -1,6 +1,5 @@ + # Check FMA4 instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/gfni-intel.d binutils-2.41/gas/testsuite/gas/i386/gfni-intel.d +--- binutils.orig/gas/testsuite/gas/i386/gfni-intel.d 2024-01-18 12:12:23.766946046 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/gfni-intel.d 2024-01-18 13:32:46.348889328 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 GFNI insns (Intel disassembly) + #source: gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/gfni.d binutils-2.41/gas/testsuite/gas/i386/gfni.d +--- binutils.orig/gas/testsuite/gas/i386/gfni.d 2024-01-18 12:12:23.766946046 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/gfni.d 2024-01-18 13:32:46.348889328 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 GFNI insns + #source: gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/gfni.s binutils-2.41/gas/testsuite/gas/i386/gfni.s +--- binutils.orig/gas/testsuite/gas/i386/gfni.s 2024-01-18 12:12:23.766946046 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/gfni.s 2024-01-18 13:32:46.348889328 +0000 +@@ -1,6 +1,5 @@ + # Check GFNI instructions + +- .allow_index_reg + .text + _start: + gf2p8mulb %xmm4, %xmm5 +diff -rupN binutils.orig/gas/testsuite/gas/i386/hle.s binutils-2.41/gas/testsuite/gas/i386/hle.s +--- binutils.orig/gas/testsuite/gas/i386/hle.s 2024-01-18 12:12:23.766946046 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/hle.s 2024-01-18 13:32:46.348889328 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit HLE instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/hreset.d binutils-2.41/gas/testsuite/gas/i386/hreset.d +--- binutils.orig/gas/testsuite/gas/i386/hreset.d 2024-01-18 12:12:23.767946047 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/hreset.d 2024-01-18 13:32:46.348889328 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: HRESET insns + #source: hreset.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/i386-intel.d binutils-2.41/gas/testsuite/gas/i386/i386-intel.d +--- binutils.orig/gas/testsuite/gas/i386/i386-intel.d 2024-01-18 12:12:23.767946047 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/i386-intel.d 2024-01-18 13:32:46.348889328 +0000 +@@ -62,45 +62,45 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 0f b6 00 movzx eax,BYTE PTR \[eax\] + [ ]*[a-f0-9]+: 0f b7 00 movzx eax,WORD PTR \[eax\] + [ ]*[a-f0-9]+: 0f c3 00 movnti DWORD PTR \[eax\],eax +-[ ]*[a-f0-9]+: 63 ca arpl dx,cx +-[ ]*[a-f0-9]+: 63 ca arpl dx,cx +-[ ]*[a-f0-9]+: 63 0a arpl (WORD PTR )?\[edx\],cx +-[ ]*[a-f0-9]+: 63 0a arpl (WORD PTR )?\[edx\],cx ++[ ]*[a-f0-9]+: 63 ca arpl edx,ecx ++[ ]*[a-f0-9]+: 63 ca arpl edx,ecx ++[ ]*[a-f0-9]+: 63 0a arpl (WORD PTR )?\[edx\],ecx ++[ ]*[a-f0-9]+: 63 0a arpl (WORD PTR )?\[edx\],ecx + [ ]*[a-f0-9]+: 66 0f 02 d2 lar dx,dx + [ ]*[a-f0-9]+: 0f 02 d2 lar edx,edx + [ ]*[a-f0-9]+: 0f 02 d2 lar edx,edx + [ ]*[a-f0-9]+: 66 0f 02 12 lar dx,WORD PTR \[edx\] + [ ]*[a-f0-9]+: 0f 02 12 lar edx,WORD PTR \[edx\] +-[ ]*[a-f0-9]+: 0f 00 d2 lldt dx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt dx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt edx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt edx + [ ]*[a-f0-9]+: 0f 00 12 lldt (WORD PTR )?\[edx\] + [ ]*[a-f0-9]+: 66 0f 03 d2 lsl dx,dx + [ ]*[a-f0-9]+: 0f 03 d2 lsl edx,edx + [ ]*[a-f0-9]+: 0f 03 d2 lsl edx,edx + [ ]*[a-f0-9]+: 66 0f 03 12 lsl dx,WORD PTR \[edx\] + [ ]*[a-f0-9]+: 0f 03 12 lsl edx,WORD PTR \[edx\] +-[ ]*[a-f0-9]+: 0f 00 da ltr dx +-[ ]*[a-f0-9]+: 0f 00 da ltr dx ++[ ]*[a-f0-9]+: 0f 00 da ltr edx ++[ ]*[a-f0-9]+: 0f 00 da ltr edx + [ ]*[a-f0-9]+: 0f 00 1a ltr (WORD PTR )?\[edx\] +-[ ]*[a-f0-9]+: 0f 00 e2 verr dx +-[ ]*[a-f0-9]+: 0f 00 e2 verr dx ++[ ]*[a-f0-9]+: 0f 00 e2 verr edx ++[ ]*[a-f0-9]+: 0f 00 e2 verr edx + [ ]*[a-f0-9]+: 0f 00 22 verr (WORD PTR )?\[edx\] +-[ ]*[a-f0-9]+: 0f 00 ea verw dx +-[ ]*[a-f0-9]+: 0f 00 ea verw dx ++[ ]*[a-f0-9]+: 0f 00 ea verw edx ++[ ]*[a-f0-9]+: 0f 00 ea verw edx + [ ]*[a-f0-9]+: 0f 00 2a verw (WORD PTR )?\[edx\] +-[ ]*[a-f0-9]+: 63 d1 arpl cx,dx +-[ ]*[a-f0-9]+: 63 d1 arpl cx,dx +-[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],dx +-[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],dx +-[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],dx +-[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],dx ++[ ]*[a-f0-9]+: 63 d1 arpl ecx,edx ++[ ]*[a-f0-9]+: 63 d1 arpl ecx,edx ++[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],edx ++[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],edx ++[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],edx ++[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],edx + [ ]*[a-f0-9]+: 66 0f 02 d2 lar dx,dx + [ ]*[a-f0-9]+: 0f 02 d2 lar edx,edx + [ ]*[a-f0-9]+: 0f 02 d2 lar edx,edx + [ ]*[a-f0-9]+: 66 0f 02 12 lar dx,WORD PTR \[edx\] + [ ]*[a-f0-9]+: 0f 02 12 lar edx,WORD PTR \[edx\] +-[ ]*[a-f0-9]+: 0f 00 d2 lldt dx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt dx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt edx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt edx + [ ]*[a-f0-9]+: 0f 00 12 lldt (WORD PTR )?\[edx\] + [ ]*[a-f0-9]+: 0f 00 12 lldt (WORD PTR )?\[edx\] + [ ]*[a-f0-9]+: 66 0f 03 d2 lsl dx,dx +@@ -108,16 +108,16 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 0f 03 d2 lsl edx,edx + [ ]*[a-f0-9]+: 66 0f 03 12 lsl dx,WORD PTR \[edx\] + [ ]*[a-f0-9]+: 0f 03 12 lsl edx,WORD PTR \[edx\] +-[ ]*[a-f0-9]+: 0f 00 da ltr dx +-[ ]*[a-f0-9]+: 0f 00 da ltr dx ++[ ]*[a-f0-9]+: 0f 00 da ltr edx ++[ ]*[a-f0-9]+: 0f 00 da ltr edx + [ ]*[a-f0-9]+: 0f 00 1a ltr (WORD PTR )?\[edx\] + [ ]*[a-f0-9]+: 0f 00 1a ltr (WORD PTR )?\[edx\] +-[ ]*[a-f0-9]+: 0f 00 e2 verr dx +-[ ]*[a-f0-9]+: 0f 00 e2 verr dx ++[ ]*[a-f0-9]+: 0f 00 e2 verr edx ++[ ]*[a-f0-9]+: 0f 00 e2 verr edx + [ ]*[a-f0-9]+: 0f 00 22 verr (WORD PTR )?\[edx\] + [ ]*[a-f0-9]+: 0f 00 22 verr (WORD PTR )?\[edx\] +-[ ]*[a-f0-9]+: 0f 00 ea verw dx +-[ ]*[a-f0-9]+: 0f 00 ea verw dx ++[ ]*[a-f0-9]+: 0f 00 ea verw edx ++[ ]*[a-f0-9]+: 0f 00 ea verw edx + [ ]*[a-f0-9]+: 0f 00 2a verw (WORD PTR )?\[edx\] + [ ]*[a-f0-9]+: 0f 00 2a verw (WORD PTR )?\[edx\] + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/i386.d binutils-2.41/gas/testsuite/gas/i386/i386.d +--- binutils.orig/gas/testsuite/gas/i386/i386.d 2024-01-18 12:12:23.767946047 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/i386.d 2024-01-18 13:32:46.348889328 +0000 +@@ -61,45 +61,45 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 0f b6 00 movzbl \(%eax\),%eax + [ ]*[a-f0-9]+: 0f b7 00 movzwl \(%eax\),%eax + [ ]*[a-f0-9]+: 0f c3 00 movnti %eax,\(%eax\) +-[ ]*[a-f0-9]+: 63 ca arpl %cx,%dx +-[ ]*[a-f0-9]+: 63 ca arpl %cx,%dx +-[ ]*[a-f0-9]+: 63 0a arpl %cx,\(%edx\) +-[ ]*[a-f0-9]+: 63 0a arpl %cx,\(%edx\) ++[ ]*[a-f0-9]+: 63 ca arpl %ecx,%edx ++[ ]*[a-f0-9]+: 63 ca arpl %ecx,%edx ++[ ]*[a-f0-9]+: 63 0a arpl %ecx,\(%edx\) ++[ ]*[a-f0-9]+: 63 0a arpl %ecx,\(%edx\) + [ ]*[a-f0-9]+: 66 0f 02 d2 lar %dx,%dx + [ ]*[a-f0-9]+: 0f 02 d2 lar %edx,%edx + [ ]*[a-f0-9]+: 0f 02 d2 lar %edx,%edx + [ ]*[a-f0-9]+: 66 0f 02 12 lar \(%edx\),%dx + [ ]*[a-f0-9]+: 0f 02 12 lar \(%edx\),%edx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx + [ ]*[a-f0-9]+: 0f 00 12 lldt \(%edx\) + [ ]*[a-f0-9]+: 66 0f 03 d2 lsl %dx,%dx + [ ]*[a-f0-9]+: 0f 03 d2 lsl %edx,%edx + [ ]*[a-f0-9]+: 0f 03 d2 lsl %edx,%edx + [ ]*[a-f0-9]+: 66 0f 03 12 lsl \(%edx\),%dx + [ ]*[a-f0-9]+: 0f 03 12 lsl \(%edx\),%edx +-[ ]*[a-f0-9]+: 0f 00 da ltr %dx +-[ ]*[a-f0-9]+: 0f 00 da ltr %dx ++[ ]*[a-f0-9]+: 0f 00 da ltr %edx ++[ ]*[a-f0-9]+: 0f 00 da ltr %edx + [ ]*[a-f0-9]+: 0f 00 1a ltr \(%edx\) +-[ ]*[a-f0-9]+: 0f 00 e2 verr %dx +-[ ]*[a-f0-9]+: 0f 00 e2 verr %dx ++[ ]*[a-f0-9]+: 0f 00 e2 verr %edx ++[ ]*[a-f0-9]+: 0f 00 e2 verr %edx + [ ]*[a-f0-9]+: 0f 00 22 verr \(%edx\) +-[ ]*[a-f0-9]+: 0f 00 ea verw %dx +-[ ]*[a-f0-9]+: 0f 00 ea verw %dx ++[ ]*[a-f0-9]+: 0f 00 ea verw %edx ++[ ]*[a-f0-9]+: 0f 00 ea verw %edx + [ ]*[a-f0-9]+: 0f 00 2a verw \(%edx\) +-[ ]*[a-f0-9]+: 63 d1 arpl %dx,%cx +-[ ]*[a-f0-9]+: 63 d1 arpl %dx,%cx +-[ ]*[a-f0-9]+: 63 11 arpl %dx,\(%ecx\) +-[ ]*[a-f0-9]+: 63 11 arpl %dx,\(%ecx\) +-[ ]*[a-f0-9]+: 63 11 arpl %dx,\(%ecx\) +-[ ]*[a-f0-9]+: 63 11 arpl %dx,\(%ecx\) ++[ ]*[a-f0-9]+: 63 d1 arpl %edx,%ecx ++[ ]*[a-f0-9]+: 63 d1 arpl %edx,%ecx ++[ ]*[a-f0-9]+: 63 11 arpl %edx,\(%ecx\) ++[ ]*[a-f0-9]+: 63 11 arpl %edx,\(%ecx\) ++[ ]*[a-f0-9]+: 63 11 arpl %edx,\(%ecx\) ++[ ]*[a-f0-9]+: 63 11 arpl %edx,\(%ecx\) + [ ]*[a-f0-9]+: 66 0f 02 d2 lar %dx,%dx + [ ]*[a-f0-9]+: 0f 02 d2 lar %edx,%edx + [ ]*[a-f0-9]+: 0f 02 d2 lar %edx,%edx + [ ]*[a-f0-9]+: 66 0f 02 12 lar \(%edx\),%dx + [ ]*[a-f0-9]+: 0f 02 12 lar \(%edx\),%edx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx + [ ]*[a-f0-9]+: 0f 00 12 lldt \(%edx\) + [ ]*[a-f0-9]+: 0f 00 12 lldt \(%edx\) + [ ]*[a-f0-9]+: 66 0f 03 d2 lsl %dx,%dx +@@ -107,16 +107,16 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 0f 03 d2 lsl %edx,%edx + [ ]*[a-f0-9]+: 66 0f 03 12 lsl \(%edx\),%dx + [ ]*[a-f0-9]+: 0f 03 12 lsl \(%edx\),%edx +-[ ]*[a-f0-9]+: 0f 00 da ltr %dx +-[ ]*[a-f0-9]+: 0f 00 da ltr %dx ++[ ]*[a-f0-9]+: 0f 00 da ltr %edx ++[ ]*[a-f0-9]+: 0f 00 da ltr %edx + [ ]*[a-f0-9]+: 0f 00 1a ltr \(%edx\) + [ ]*[a-f0-9]+: 0f 00 1a ltr \(%edx\) +-[ ]*[a-f0-9]+: 0f 00 e2 verr %dx +-[ ]*[a-f0-9]+: 0f 00 e2 verr %dx ++[ ]*[a-f0-9]+: 0f 00 e2 verr %edx ++[ ]*[a-f0-9]+: 0f 00 e2 verr %edx + [ ]*[a-f0-9]+: 0f 00 22 verr \(%edx\) + [ ]*[a-f0-9]+: 0f 00 22 verr \(%edx\) +-[ ]*[a-f0-9]+: 0f 00 ea verw %dx +-[ ]*[a-f0-9]+: 0f 00 ea verw %dx ++[ ]*[a-f0-9]+: 0f 00 ea verw %edx ++[ ]*[a-f0-9]+: 0f 00 ea verw %edx + [ ]*[a-f0-9]+: 0f 00 2a verw \(%edx\) + [ ]*[a-f0-9]+: 0f 00 2a verw \(%edx\) + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/i386.exp binutils-2.41/gas/testsuite/gas/i386/i386.exp +--- binutils.orig/gas/testsuite/gas/i386/i386.exp 2024-01-18 12:12:23.846946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/i386.exp 2024-01-18 13:51:07.118528779 +0000 +@@ -1,4 +1,4 @@ +-# Copyright (C) 2012-2023 Free Software Foundation, Inc. ++# Copyright (C) 2012-2024 Free Software Foundation, Inc. + + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -147,6 +147,8 @@ if [gas_32_check] then { + run_dump_test "nops-6" + run_dump_test "nops-7" + run_dump_test "nops-8" ++ run_dump_test "nops-9" ++ run_dump_test "nops-10" + run_dump_test "noreg16" + run_list_test "noreg16" + run_dump_test "noreg16-data32" +@@ -202,6 +204,7 @@ if [gas_32_check] then { + run_dump_test "arch-13-znver2" + run_dump_test "arch-14-znver3" + run_dump_test "arch-14-znver4" ++ run_dump_test "arch-15-znver5" + run_dump_test "arch-10-btver1" + run_dump_test "arch-10-btver2" + run_list_test "arch-10-1" "-march=generic32 -I${srcdir}/$subdir -al" +@@ -215,6 +218,7 @@ if [gas_32_check] then { + run_dump_test "arch-13" + run_dump_test "arch-14" + run_dump_test "arch-14-1" ++ run_dump_test "arch-15" + run_list_test "arch-dflt" "-march=generic32 -al" + run_list_test "arch-stk" "-march=generic32 -al" + run_dump_test "8087" +@@ -494,9 +498,22 @@ if [gas_32_check] then { + run_list_test "msrlist-inval" + run_dump_test "avx-ne-convert" + run_dump_test "avx-ne-convert-intel" ++ run_list_test "avx-vex" "-almn" + run_dump_test "raoint" + run_dump_test "raoint-intel" + run_list_test "amx-complex-inval" ++ run_dump_test "avx-vnni-int16" ++ run_dump_test "avx-vnni-int16-intel" ++ run_dump_test "sha512" ++ run_dump_test "sha512-intel" ++ run_list_test "sha512-inval" ++ run_dump_test "sm3" ++ run_dump_test "sm3-intel" ++ run_dump_test "sm4" ++ run_dump_test "sm4-intel" ++ run_list_test "pbndkb-inval" ++ run_list_test "user_msr-inval" ++ run_list_test "apx-push2pop2-inval" + run_list_test "sg" + run_dump_test "clzero" + run_dump_test "invlpgb" +@@ -583,9 +600,10 @@ if [gas_32_check] then { + run_dump_test "align-1a" + run_dump_test "align-1b" + run_list_test "inval-pseudo" "-al" +- run_dump_test "nop-1" +- run_dump_test "nop-1-suffix" +- run_dump_test "nop-2" ++# run_dump_test "nop-1" ++# run_dump_test "nop-1-suffix" ++# run_list_test "nop-1" "-aln" ++# run_dump_test "nop-2" + run_dump_test "optimize-1" + run_dump_test "optimize-1a" + run_dump_test "optimize-2" +@@ -614,7 +632,7 @@ if [gas_32_check] then { + run_dump_test "align-branch-4a" + run_dump_test "align-branch-4b" + run_dump_test "align-branch-5" +- run_dump_test "align-branch-6" ++# run_dump_test "align-branch-6" + run_dump_test "align-branch-7" + run_dump_test "align-branch-8" + run_dump_test "align-branch-9" +@@ -626,7 +644,18 @@ if [gas_32_check] then { + run_dump_test "lfence-ret-b" + run_dump_test "lfence-ret-c" + run_dump_test "lfence-ret-d" +- run_dump_test "lfence-byte" ++# run_dump_test "lfence-byte" ++ # This test uses the .section directive, which only ELF and COFF/PE support. ++ if {[is_elf_format] ++ || [istarget "*-*-vxworks*"] ++ || [istarget "*-*-coff*"] ++ || [istarget "*-*-pe*"] ++ || [istarget "*-*-cygwin*"] ++ || [istarget "*-*-mingw*"] ++ } then { ++ run_dump_test "lfence-section" ++ } ++ + run_dump_test "branch" + + # These tests require support for 8 and 16 bit relocs, +@@ -713,12 +742,14 @@ if [gas_32_check] then { + run_dump_test "no-got" + + run_dump_test "addend" +- run_dump_test "nop-3" +- run_dump_test "nop-4" +- run_dump_test "nop-5" +- run_dump_test "nop-6" ++# run_dump_test "nop-3" ++# run_dump_test "nop-4" ++# run_dump_test "nop-5" ++# run_dump_test "nop-6" + run_dump_test "unique" + ++# run_dump_test "lfence-subsect" ++ + run_dump_test "property-1" + + if {[istarget "*-*-linux*"]} then { +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/enqcmd.s binutils-2.41/gas/testsuite/gas/i386/ilp32/enqcmd.s +--- binutils.orig/gas/testsuite/gas/i386/ilp32/enqcmd.s 2024-01-18 12:12:23.768946048 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/enqcmd.s 2024-01-18 13:36:35.736029057 +0000 +@@ -1,6 +1,5 @@ + # Check ENQCMD[S] 64-bit instructions in x32 mode + +- .allow_index_reg + .text + _start: + enqcmd (%rcx),%rax +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/ilp32.exp binutils-2.41/gas/testsuite/gas/i386/ilp32/ilp32.exp +--- binutils.orig/gas/testsuite/gas/i386/ilp32/ilp32.exp 2024-01-18 12:12:23.768946048 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/ilp32.exp 2024-01-18 13:36:35.736029057 +0000 +@@ -1,4 +1,4 @@ +-# Copyright (C) 2012-2023 Free Software Foundation, Inc. ++# Copyright (C) 2012-2024 Free Software Foundation, Inc. + + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/movdir.s binutils-2.41/gas/testsuite/gas/i386/ilp32/movdir.s +--- binutils.orig/gas/testsuite/gas/i386/ilp32/movdir.s 2024-01-18 12:12:23.768946048 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/movdir.s 2024-01-18 13:36:35.736029057 +0000 +@@ -1,6 +1,5 @@ + # Check MOVDIR[I,64B] 64-bit instructions in x32 mode + +- .allow_index_reg + .text + _start: + movdiri %rax, (%rcx) +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-localpic.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-localpic.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-localpic.d 2024-01-18 12:12:23.770946049 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-localpic.d 2024-01-18 13:36:35.738029058 +0000 +@@ -3,10 +3,12 @@ + #readelf: -rsW + #name: x86-64 (ILP32) local PIC + +-Relocation section '.rela.text' at offset 0x[0-9a-f]+ contains 2 entries: ++Relocation section '.rela.text' at offset 0x[0-9a-f]+ contains 4 entries: + +Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend + [0-9a-f]+ +[0-9a-f]+ R_X86_64_REX_GOTPCRELX +[0-9a-f]+ +foo - 4 + [0-9a-f]+ +[0-9a-f]+ R_X86_64_REX_GOTPCRELX +[0-9a-f]+ +bar - 4 ++[0-9a-f]+ +[0-9a-f]+ R_X86_64_CODE_4_GOTPCRELX +[0-9a-f]+ +foo - 4 ++[0-9a-f]+ +[0-9a-f]+ R_X86_64_CODE_4_GOTPCRELX +[0-9a-f]+ +bar - 4 + #... + +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +NOTYPE +LOCAL +DEFAULT +[0-9]+ +foo + +[0-9]+: +fffffff0 +[0-9a-f]+ +NOTYPE +LOCAL +DEFAULT +ABS +bar +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d 2024-01-18 12:12:23.770946049 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d 2024-01-18 13:36:35.738029058 +0000 +@@ -2,159 +2,4 @@ + #as: -mtune=core2 + #objdump: -drw + #name: x86-64 (ILP32) -mtune=core2 nops 1 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+10 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+30 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +- +-0+50 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+70 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+90 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+b0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+d0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: ../x86-64-nops-1.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-k8.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-k8.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-k8.d 2024-01-18 12:12:23.770946049 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-k8.d 2024-01-18 13:36:35.738029058 +0000 +@@ -2,159 +2,4 @@ + #as: -mtune=k8 + #objdump: -drw + #name: x86-64 (ILP32) -mtune=k8 nops 1 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+10 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+30 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +- +-0+50 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+70 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+90 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+b0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+d0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: ../x86-64-nops-1.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-pentium.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-pentium.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-pentium.d 2024-01-18 12:12:23.770946049 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-pentium.d 2024-01-18 13:36:35.738029058 +0000 +@@ -2,166 +2,4 @@ + #as: -mtune=pentium + #objdump: -drw + #name: x86-64 (ILP32) -mtune=pentium nops 1 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+10 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+30 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%rsi,%riz,1\),%esi +- +-0+50 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%rsi\),%esi +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+70 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +- +-0+90 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+b0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%rsi,%riz,1\),%esi +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%rsi\),%esi +- +-0+d0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: ../x86-64-nops-1-pentium.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d 2024-01-18 12:12:23.771946050 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d 2024-01-18 13:36:35.738029058 +0000 +@@ -2,159 +2,4 @@ + #as: -mtune=generic64 + #objdump: -drw + #name: x86-64 (ILP32) nops 1 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+10 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+30 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +- +-0+50 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+70 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+90 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+b0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+d0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: ../x86-64-nops-1.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d 2024-01-18 12:12:23.771946050 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d 2024-01-18 13:36:35.738029058 +0000 +@@ -2,164 +2,4 @@ + #as: -mtune=generic64 + #objdump: -drw + #name: x86-64 (ILP32) nops 2 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+10 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+30 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+50 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\) +- +-0+70 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+90 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+b0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+d0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: ../x86-64-nops-2.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d 2024-01-18 12:12:23.771946050 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d 2024-01-18 13:36:35.738029058 +0000 +@@ -2,17 +2,4 @@ + #as: -mtune=generic64 + #objdump: -drw + #name: x86-64 (ILP32) nops 3 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 89 c3 mov %eax,%ebx +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +-#pass ++#dump: ../x86-64-nops-3.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d 2024-01-18 12:12:23.771946050 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d 2024-01-18 13:36:35.738029058 +0000 +@@ -2,217 +2,4 @@ + #as: -mtune=core2 + #objdump: -drw + #name: x86-64 (ILP32) nops -mtune=core2 4 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+100 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+120 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +- +-0+140 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\) +- +-0+160 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+180 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+1a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+1c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+1e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +-#pass ++#dump: ../x86-64-nops-4.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-k8.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-k8.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-k8.d 2024-01-18 12:12:23.771946050 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-k8.d 2024-01-18 13:36:35.738029058 +0000 +@@ -2,217 +2,4 @@ + #as: -mtune=k8 + #objdump: -drw + #name: x86-64 (ILP32) nops -mtune=k8 4 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+100 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+120 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +- +-0+140 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\) +- +-0+160 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+180 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+1a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+1c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+1e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +-#pass ++#dump: ../x86-64-nops-4.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d 2024-01-18 12:12:23.771946050 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d 2024-01-18 13:36:35.738029058 +0000 +@@ -2,217 +2,4 @@ + #as: -mtune=generic64 + #objdump: -drw + #name: x86-64 (ILP32) nops 4 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+100 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+120 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +- +-0+140 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\) +- +-0+160 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+180 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+1a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+1c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+1e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +-#pass ++#dump: ../x86-64-nops-4.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d 2024-01-18 12:12:23.771946050 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d 2024-01-18 13:36:35.738029058 +0000 +@@ -2,78 +2,4 @@ + #as: -march=k8 + #objdump: -drw + #name: x86-64 (ILP32) -march=k8 nops 5 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+10 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+20 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+30 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+40 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+50 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+60 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+70 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+80 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+90 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+a0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+b0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+c0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+d0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: ../x86-64-nops-5.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d 2024-01-18 12:12:23.771946050 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d 2024-01-18 13:36:35.738029058 +0000 +@@ -1,78 +1,4 @@ + #source: ../nops-5.s + #objdump: -drw + #name: x86-64 (ILP32) nops 5 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+10 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+20 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+30 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+40 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+50 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+60 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+70 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+80 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+90 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+a0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+b0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+c0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+d0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: ../x86-64-nops-5.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval-intel.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval-intel.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval-intel.d 2024-01-18 12:12:23.771946050 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval-intel.d 2024-01-18 13:36:35.738029058 +0000 +@@ -2,49 +2,4 @@ + #as: --32 + #objdump: -dw -Mx86-64 -Mintel + #name: x86-64 (ILP32) illegal opcodes (Intel mode) +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 37 \(bad\) +- +-0+1 : +-[ ]*[a-f0-9]+: d5 \(bad\) +-[ ]*[a-f0-9]+: 0a .byte 0xa +- +-0+3 : +-[ ]*[a-f0-9]+: d5 \(bad\) +-[ ]*[a-f0-9]+: 02 .byte 0x2 +- +-0+5 : +-[ ]*[a-f0-9]+: d4 \(bad\) +-[ ]*[a-f0-9]+: 0a .byte 0xa +- +-0+7 : +-[ ]*[a-f0-9]+: d4 \(bad\) +-[ ]*[a-f0-9]+: 02 .byte 0x2 +- +-0+9 : +-[ ]*[a-f0-9]+: 3f \(bad\) +- +-0+a : +-[ ]*[a-f0-9]+: 62 .byte 0x62 +-[ ]*[a-f0-9]+: 10 .byte 0x10 +- +-0+c : +-[ ]*[a-f0-9]+: 27 \(bad\) +- +-0+d : +-[ ]*[a-f0-9]+: 2f \(bad\) +- +-0+e : +-[ ]*[a-f0-9]+: ce \(bad\) +- +-0+f : +-[ ]*[a-f0-9]+: 60 \(bad\) +- +-0+10 : +-[ ]*[a-f0-9]+: 61 \(bad\) +-#pass ++#dump: ../x86-64-opcode-inval-intel.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval.d binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval.d +--- binutils.orig/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval.d 2024-01-18 12:12:23.771946050 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval.d 2024-01-18 13:36:35.738029058 +0000 +@@ -2,49 +2,4 @@ + #as: --32 + #objdump: -dw -Mx86-64 + #name: x86-64 (ILP32) illegal opcodes +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 37 \(bad\) +- +-0+1 : +-[ ]*[a-f0-9]+: d5 \(bad\) +-[ ]*[a-f0-9]+: 0a .byte 0xa +- +-0+3 : +-[ ]*[a-f0-9]+: d5 \(bad\) +-[ ]*[a-f0-9]+: 02 .byte 0x2 +- +-0+5 : +-[ ]*[a-f0-9]+: d4 \(bad\) +-[ ]*[a-f0-9]+: 0a .byte 0xa +- +-0+7 : +-[ ]*[a-f0-9]+: d4 \(bad\) +-[ ]*[a-f0-9]+: 02 .byte 0x2 +- +-0+9 : +-[ ]*[a-f0-9]+: 3f \(bad\) +- +-0+a : +-[ ]*[a-f0-9]+: 62 .byte 0x62 +-[ ]*[a-f0-9]+: 10 .byte 0x10 +- +-0+c : +-[ ]*[a-f0-9]+: 27 \(bad\) +- +-0+d : +-[ ]*[a-f0-9]+: 2f \(bad\) +- +-0+e : +-[ ]*[a-f0-9]+: ce \(bad\) +- +-0+f : +-[ ]*[a-f0-9]+: 60 \(bad\) +- +-0+10 : +-[ ]*[a-f0-9]+: 61 \(bad\) +-#pass ++#dump: ../x86-64-opcode-inval.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/immed64.d binutils-2.41/gas/testsuite/gas/i386/immed64.d +--- binutils.orig/gas/testsuite/gas/i386/immed64.d 2024-01-18 12:12:23.773946051 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/immed64.d 2024-01-18 13:32:46.349889329 +0000 +@@ -24,6 +24,12 @@ Disassembly of section \.text: + [ ]*[0-9a-fA-F]+:[ ]+48 b8 04 00 00 00 00 00 00 00[ ]+movabsq? +\$0x4,%rax + [ ]*[0-9a-fA-F]+:[ ]+48 b8 08 00 00 00 00 00 00 00[ ]+movabsq? +\$0x8,%rax + [ ]*[0-9a-fA-F]+:[ ]+48 b8 00 00 00 00 00 00 00 00[ ]+movabsq? +\$0x0,%rax ++[ ]*[0-9a-fA-F]+:[ ]+6a 04[ ]+pushq? +\$0x4 ++[ ]*[0-9a-fA-F]+:[ ]+68 08 00 00 00[ ]+pushq? +\$0x8 ++[ ]*[0-9a-fA-F]+:[ ]+66 6a 04[ ]+pushw +\$0x4 ++[ ]*[0-9a-fA-F]+:[ ]+66 68 08 00[ ]+pushw +\$0x8 ++[ ]*[0-9a-fA-F]+:[ ]+6a 04[ ]+pushq? +\$0x4 ++[ ]*[0-9a-fA-F]+:[ ]+68 08 00 00 00[ ]+pushq? +\$0x8 + [ ]*[0-9a-fA-F]+:[ ]+04 04[ ]+addb? +\$0x4,%al + [ ]*[0-9a-fA-F]+:[ ]+04 08[ ]+addb? +\$0x8,%al + [ ]*[0-9a-fA-F]+:[ ]+04 00[ ]+addb? +\$0x0,%al +diff -rupN binutils.orig/gas/testsuite/gas/i386/immed64.s binutils-2.41/gas/testsuite/gas/i386/immed64.s +--- binutils.orig/gas/testsuite/gas/i386/immed64.s 2024-01-18 12:12:23.773946051 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/immed64.s 2024-01-18 13:32:46.349889329 +0000 +@@ -19,6 +19,12 @@ _start: + movabsq $early, %rax + movabsq $late, %rax + movabsq $xtrn, %rax ++ pushq $early ++ pushq $late ++ pushw $early ++ pushw $late ++ push $early ++ push $late + addb $early, %al + addb $late, %al + addb $xtrn, %al +diff -rupN binutils.orig/gas/testsuite/gas/i386/intel-intel.d binutils-2.41/gas/testsuite/gas/i386/intel-intel.d +--- binutils.orig/gas/testsuite/gas/i386/intel-intel.d 2024-01-18 12:12:23.773946051 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/intel-intel.d 2024-01-18 13:32:46.349889329 +0000 +@@ -2,7 +2,6 @@ + #objdump: -dwMintel + #name: i386 intel + #source: intel.s +-#warning_output: intel.e + + .*: +file format .* + +@@ -103,7 +102,7 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 60 + pusha + [ ]*[a-f0-9]+: 61 + popa + [ ]*[a-f0-9]+: 62 90 90 90 90 90 + bound edx,QWORD PTR \[eax-0x6f6f6f70\] +-[ ]*[a-f0-9]+: 63 90 90 90 90 90 + arpl WORD PTR \[eax-0x6f6f6f70\],dx ++[ ]*[a-f0-9]+: 63 90 90 90 90 90 + arpl WORD PTR \[eax-0x6f6f6f70\],edx + [ ]*[a-f0-9]+: 68 90 90 90 90 + push 0x90909090 + [ ]*[a-f0-9]+: 69 90 90 90 90 90 90 90 90 90 imul edx,DWORD PTR \[eax-0x6f6f6f70\],0x90909090 + [ ]*[a-f0-9]+: 6a 90 + push 0xffffff90 +@@ -635,7 +634,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: b3 47 + mov bl,0x47 + [ ]*[a-f0-9]+: 0f ad d0 + shrd eax,edx,cl + [ ]*[a-f0-9]+: 0f a5 d0 + shld eax,edx,cl +-[ ]*[a-f0-9]+: de c1 + faddp st\(1\),st + [ ]*[a-f0-9]+: d8 c3 + fadd st,st\(3\) + [ ]*[a-f0-9]+: d8 c3 + fadd st,st\(3\) + [ ]*[a-f0-9]+: dc c3 + fadd st\(3\),st +@@ -644,7 +642,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: de c1 + faddp st\(1\),st + [ ]*[a-f0-9]+: de c3 + faddp st\(3\),st + [ ]*[a-f0-9]+: de c3 + faddp st\(3\),st +-[ ]*[a-f0-9]+: de f9 + fdivp st\(1\),st + [ ]*[a-f0-9]+: d8 f3 + fdiv st,st\(3\) + [ ]*[a-f0-9]+: d8 f3 + fdiv st,st\(3\) + [ ]*[a-f0-9]+: dc fb + fdiv st\(3\),st +@@ -654,7 +651,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: de fb + fdivp st\(3\),st + [ ]*[a-f0-9]+: de fb + fdivp st\(3\),st + [ ]*[a-f0-9]+: d8 f3 + fdiv st,st\(3\) +-[ ]*[a-f0-9]+: de f1 + fdivrp st\(1\),st + [ ]*[a-f0-9]+: d8 fb + fdivr st,st\(3\) + [ ]*[a-f0-9]+: d8 fb + fdivr st,st\(3\) + [ ]*[a-f0-9]+: dc f3 + fdivr st\(3\),st +@@ -664,7 +660,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: de f3 + fdivrp st\(3\),st + [ ]*[a-f0-9]+: de f3 + fdivrp st\(3\),st + [ ]*[a-f0-9]+: d8 fb + fdivr st,st\(3\) +-[ ]*[a-f0-9]+: de c9 + fmulp st\(1\),st + [ ]*[a-f0-9]+: d8 cb + fmul st,st\(3\) + [ ]*[a-f0-9]+: d8 cb + fmul st,st\(3\) + [ ]*[a-f0-9]+: dc cb + fmul st\(3\),st +@@ -673,8 +668,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: de c9 + fmulp st\(1\),st + [ ]*[a-f0-9]+: de cb + fmulp st\(3\),st + [ ]*[a-f0-9]+: de cb + fmulp st\(3\),st +-[ ]*[a-f0-9]+: de e9 + fsubp st\(1\),st +-[ ]*[a-f0-9]+: de e1 + fsubrp st\(1\),st + [ ]*[a-f0-9]+: d8 e3 + fsub st,st\(3\) + [ ]*[a-f0-9]+: d8 e3 + fsub st,st\(3\) + [ ]*[a-f0-9]+: dc eb + fsub st\(3\),st +diff -rupN binutils.orig/gas/testsuite/gas/i386/intel-regs.s binutils-2.41/gas/testsuite/gas/i386/intel-regs.s +--- binutils.orig/gas/testsuite/gas/i386/intel-regs.s 2024-01-18 12:12:23.774946052 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/intel-regs.s 2024-01-18 13:32:46.349889329 +0000 +@@ -3,8 +3,8 @@ + + mov eax, tmm1 + +- .arch i286 + .code16 ++ .arch i286 + mov ax, eax ; add [bx+si], al + mov ax, rax ; add [bx+si], al + mov ax, axl ; add [bx+si], al +diff -rupN binutils.orig/gas/testsuite/gas/i386/intel.d binutils-2.41/gas/testsuite/gas/i386/intel.d +--- binutils.orig/gas/testsuite/gas/i386/intel.d 2024-01-18 12:12:23.774946052 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/intel.d 2024-01-18 13:32:46.349889329 +0000 +@@ -1,7 +1,6 @@ + #as: -J + #objdump: -dw + #name: i386 intel (AT&T disassembly) +-#warning_output: intel.e + + .*: +file format .* + +@@ -102,7 +101,7 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 60 [ ]*pusha + [ ]*[a-f0-9]+: 61 [ ]*popa + [ ]*[a-f0-9]+: 62 90 90 90 90 90 [ ]*bound %edx,-0x6f6f6f70\(%eax\) +-[ ]*[a-f0-9]+: 63 90 90 90 90 90 [ ]*arpl %dx,-0x6f6f6f70\(%eax\) ++[ ]*[a-f0-9]+: 63 90 90 90 90 90 [ ]*arpl %edx,-0x6f6f6f70\(%eax\) + [ ]*[a-f0-9]+: 68 90 90 90 90 [ ]*push \$0x90909090 + [ ]*[a-f0-9]+: 69 90 90 90 90 90 90 90 90 90 [ ]*imul \$0x90909090,-0x6f6f6f70\(%eax\),%edx + [ ]*[a-f0-9]+: 6a 90 [ ]*push \$0xffffff90 +@@ -208,8 +207,8 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: cd 90 [ ]*int \$0x90 + [ ]*[a-f0-9]+: ce [ ]*into + [ ]*[a-f0-9]+: cf [ ]*iret +-[ ]*[a-f0-9]+: d0 90 90 90 90 90 [ ]*rclb -0x6f6f6f70\(%eax\) +-[ ]*[a-f0-9]+: d1 90 90 90 90 90 [ ]*rcll -0x6f6f6f70\(%eax\) ++[ ]*[a-f0-9]+: d0 90 90 90 90 90 [ ]*rclb \$1,-0x6f6f6f70\(%eax\) ++[ ]*[a-f0-9]+: d1 90 90 90 90 90 [ ]*rcll \$1,-0x6f6f6f70\(%eax\) + [ ]*[a-f0-9]+: d2 90 90 90 90 90 [ ]*rclb %cl,-0x6f6f6f70\(%eax\) + [ ]*[a-f0-9]+: d3 90 90 90 90 90 [ ]*rcll %cl,-0x6f6f6f70\(%eax\) + [ ]*[a-f0-9]+: d4 90 [ ]*aam \$0x90 +@@ -527,7 +526,7 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 66 ca 90 90 [ ]*lretw \$0x9090 + [ ]*[a-f0-9]+: 66 cb [ ]*lretw + [ ]*[a-f0-9]+: 66 cf [ ]*iretw +-[ ]*[a-f0-9]+: 66 d1 90 90 90 90 90 [ ]*rclw -0x6f6f6f70\(%eax\) ++[ ]*[a-f0-9]+: 66 d1 90 90 90 90 90 [ ]*rclw \$1,-0x6f6f6f70\(%eax\) + [ ]*[a-f0-9]+: 66 d3 90 90 90 90 90 [ ]*rclw %cl,-0x6f6f6f70\(%eax\) + [ ]*[a-f0-9]+: 66 e5 90 [ ]*in \$0x90,%ax + [ ]*[a-f0-9]+: 66 e7 90 [ ]*out %ax,\$0x90 +@@ -634,7 +633,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: b3 47 [ ]*mov \$0x47,%bl + [ ]*[a-f0-9]+: 0f ad d0 [ ]*shrd %cl,%edx,%eax + [ ]*[a-f0-9]+: 0f a5 d0 [ ]*shld %cl,%edx,%eax +-[ ]*[a-f0-9]+: de c1 faddp %st,%st\(1\) + [ ]*[a-f0-9]+: d8 c3 fadd %st\(3\),%st + [ ]*[a-f0-9]+: d8 c3 fadd %st\(3\),%st + [ ]*[a-f0-9]+: dc c3 fadd %st,%st\(3\) +@@ -643,7 +641,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: de c1 faddp %st,%st\(1\) + [ ]*[a-f0-9]+: de c3 faddp %st,%st\(3\) + [ ]*[a-f0-9]+: de c3 faddp %st,%st\(3\) +-[ ]*[a-f0-9]+: de f9 fdivrp %st,%st\(1\) + [ ]*[a-f0-9]+: d8 f3 fdiv %st\(3\),%st + [ ]*[a-f0-9]+: d8 f3 fdiv %st\(3\),%st + [ ]*[a-f0-9]+: dc fb fdivr %st,%st\(3\) +@@ -653,7 +650,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: de fb fdivrp %st,%st\(3\) + [ ]*[a-f0-9]+: de fb fdivrp %st,%st\(3\) + [ ]*[a-f0-9]+: d8 f3 fdiv %st\(3\),%st +-[ ]*[a-f0-9]+: de f1 fdivp %st,%st\(1\) + [ ]*[a-f0-9]+: d8 fb fdivr %st\(3\),%st + [ ]*[a-f0-9]+: d8 fb fdivr %st\(3\),%st + [ ]*[a-f0-9]+: dc f3 fdiv %st,%st\(3\) +@@ -663,7 +659,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: de f3 fdivp %st,%st\(3\) + [ ]*[a-f0-9]+: de f3 fdivp %st,%st\(3\) + [ ]*[a-f0-9]+: d8 fb fdivr %st\(3\),%st +-[ ]*[a-f0-9]+: de c9 fmulp %st,%st\(1\) + [ ]*[a-f0-9]+: d8 cb fmul %st\(3\),%st + [ ]*[a-f0-9]+: d8 cb fmul %st\(3\),%st + [ ]*[a-f0-9]+: dc cb fmul %st,%st\(3\) +@@ -672,8 +667,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: de c9 fmulp %st,%st\(1\) + [ ]*[a-f0-9]+: de cb fmulp %st,%st\(3\) + [ ]*[a-f0-9]+: de cb fmulp %st,%st\(3\) +-[ ]*[a-f0-9]+: de e9 fsubrp %st,%st\(1\) +-[ ]*[a-f0-9]+: de e1 fsubp %st,%st\(1\) + [ ]*[a-f0-9]+: d8 e3 fsub %st\(3\),%st + [ ]*[a-f0-9]+: d8 e3 fsub %st\(3\),%st + [ ]*[a-f0-9]+: dc eb fsubr %st,%st\(3\) +diff -rupN binutils.orig/gas/testsuite/gas/i386/intel.s binutils-2.41/gas/testsuite/gas/i386/intel.s +--- binutils.orig/gas/testsuite/gas/i386/intel.s 2024-01-18 12:12:23.774946052 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/intel.s 2024-01-18 13:32:46.350889330 +0000 +@@ -632,7 +632,6 @@ rot5: + shrd eax, edx, cl + shld eax, edx, cl + +-fadd + fadd st(3) + fadd st,st(3) + fadd st(3),st +@@ -641,7 +640,6 @@ fadd QWORD PTR [ebx] + faddp + faddp st(3) + faddp st(3),st +-fdiv + fdiv st(3) + fdiv st,st(3) + fdiv st(3),st +@@ -651,7 +649,6 @@ fdivp + fdivp st(3) + fdivp st(3),st + fdiv st,st(3) +-fdivr + fdivr st(3) + fdivr st,st(3) + fdivr st(3),st +@@ -661,7 +658,6 @@ fdivrp + fdivrp st(3) + fdivrp st(3),st + fdivr st,st(3) +-fmul + fmul st(3) + fmul st,st(3) + fmul st(3),st +@@ -670,8 +666,6 @@ fmul QWORD PTR [ebx] + fmulp + fmulp st(3) + fmulp st(3),st +-fsub +-fsubr + fsub st(3) + fsub st,st(3) + fsub st(3),st +diff -rupN binutils.orig/gas/testsuite/gas/i386/inval-16.l binutils-2.41/gas/testsuite/gas/i386/inval-16.l +--- binutils.orig/gas/testsuite/gas/i386/inval-16.l 2024-01-18 12:12:23.774946052 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/inval-16.l 2024-01-18 13:32:46.350889330 +0000 +@@ -10,7 +10,7 @@ GAS LISTING .* + + + [ ]*1[ ]+\.text +-[ ]*2[ ]+\.arch i186; \.code16 ++[ ]*2[ ]+\.code16; \.arch i186 + [ ]*3[ ]+vmovapd %xmm0,%xmm1 + [ ]*4[ ]+vaddsd %xmm4, %xmm5, %xmm6\{%k7\} + [ ]*5[ ]+vfrczpd %xmm7,%xmm7 +diff -rupN binutils.orig/gas/testsuite/gas/i386/inval-16.s binutils-2.41/gas/testsuite/gas/i386/inval-16.s +--- binutils.orig/gas/testsuite/gas/i386/inval-16.s 2024-01-18 12:12:23.774946052 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/inval-16.s 2024-01-18 13:32:46.350889330 +0000 +@@ -1,5 +1,5 @@ + .text +- .arch i186; .code16 ++ .code16; .arch i186 + vmovapd %xmm0,%xmm1 + vaddsd %xmm4, %xmm5, %xmm6{%k7} + vfrczpd %xmm7,%xmm7 +diff -rupN binutils.orig/gas/testsuite/gas/i386/inval-avx512vl.l binutils-2.41/gas/testsuite/gas/i386/inval-avx512vl.l +--- binutils.orig/gas/testsuite/gas/i386/inval-avx512vl.l 2024-01-18 12:12:23.775946053 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/inval-avx512vl.l 2024-01-18 13:32:46.350889330 +0000 +@@ -1,6 +1,6 @@ + .*: Assembler messages: +-.*:5: Error: .*unsupported instruction.* +-.*:6: Error: .*unsupported instruction.* ++.*:5: Error: .*operand size mismatch.* ++.*:6: Error: .*operand size mismatch.* + GAS LISTING .* + + +diff -rupN binutils.orig/gas/testsuite/gas/i386/invpcid-intel.d binutils-2.41/gas/testsuite/gas/i386/invpcid-intel.d +--- binutils.orig/gas/testsuite/gas/i386/invpcid-intel.d 2024-01-18 12:12:23.776946053 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/invpcid-intel.d 2024-01-18 13:32:46.350889330 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: i386 INVPCID insns (Intel disassembly) + #source: invpcid.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/invpcid.d binutils-2.41/gas/testsuite/gas/i386/invpcid.d +--- binutils.orig/gas/testsuite/gas/i386/invpcid.d 2024-01-18 12:12:23.776946053 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/invpcid.d 2024-01-18 13:32:46.351889330 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 INVPCID insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/keylocker-intel.d binutils-2.41/gas/testsuite/gas/i386/keylocker-intel.d +--- binutils.orig/gas/testsuite/gas/i386/keylocker-intel.d 2024-01-18 12:12:23.776946053 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/keylocker-intel.d 2024-01-18 13:32:46.351889330 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 KEYLOCKER insns (Intel disassembly) + #source: keylocker.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/keylocker.d binutils-2.41/gas/testsuite/gas/i386/keylocker.d +--- binutils.orig/gas/testsuite/gas/i386/keylocker.d 2024-01-18 12:12:23.776946053 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/keylocker.d 2024-01-18 13:32:46.351889330 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 KEYLOCKER insns + #source: keylocker.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/lfence-byte.d binutils-2.41/gas/testsuite/gas/i386/lfence-byte.d +--- binutils.orig/gas/testsuite/gas/i386/lfence-byte.d 2024-01-18 12:12:23.777946054 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/lfence-byte.d 2024-01-18 13:32:46.351889330 +0000 +@@ -27,4 +27,13 @@ Disassembly of section .text: + +[a-f0-9]+: f3 c3 repz ret + +[a-f0-9]+: c3 ret + +[a-f0-9]+: f3 ff d0 repz call \*%eax ++ ++[a-f0-9]+ : ++ +[a-f0-9]+: 90 nop ++ +[a-f0-9]+: 0f ae e8 lfence ++ +[a-f0-9]+: ff d0 call \*%eax ++ +[a-f0-9]+: 8d 76 00 lea (0x)?0\(%esi\),%esi ++ +[a-f0-9]+: 83 0c 24 00 orl \$0x0,\(%esp\) ++ +[a-f0-9]+: 0f ae e8 lfence ++ +[a-f0-9]+: c3 ret + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/lfence-byte.e binutils-2.41/gas/testsuite/gas/i386/lfence-byte.e +--- binutils.orig/gas/testsuite/gas/i386/lfence-byte.e 2024-01-18 12:12:23.777946054 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/lfence-byte.e 2024-01-18 13:32:46.351889330 +0000 +@@ -1,9 +1,6 @@ + .*: Assembler messages: + .*:5: Warning: `rep` skips -mlfence-before-ret on `ret` + .*:7: Warning: `rep` skips -mlfence-before-ret on `ret` +-.*:10: Warning: constant directive skips -mlfence-before-ret and -mlfence-before-indirect-branch + .*:13: Warning: `rep` skips -mlfence-before-ret on `ret` +-.*:17: Warning: constant directive skips -mlfence-before-ret and -mlfence-before-indirect-branch +-.*:17: Warning: `constant directive` skips -mlfence-before-ret on `ret` +-.*:20: Warning: constant directive skips -mlfence-before-ret and -mlfence-before-indirect-branch ++.*:18: Warning: `constant directive` skips -mlfence-before-ret on `ret` + .*:20: Warning: `constant directive` skips -mlfence-before-indirect-branch on `call` +diff -rupN binutils.orig/gas/testsuite/gas/i386/lfence-byte.s binutils-2.41/gas/testsuite/gas/i386/lfence-byte.s +--- binutils.orig/gas/testsuite/gas/i386/lfence-byte.s 2024-01-18 12:12:23.777946054 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/lfence-byte.s 2024-01-18 13:32:46.351889330 +0000 +@@ -21,3 +21,10 @@ _start: + call *%eax + .data + .byte 0 ++ ++ .text ++directive: ++ .nop ++ call *%eax ++ .nops 3 ++ ret +diff -rupN binutils.orig/gas/testsuite/gas/i386/lfence-load.d binutils-2.41/gas/testsuite/gas/i386/lfence-load.d +--- binutils.orig/gas/testsuite/gas/i386/lfence-load.d 2024-01-18 12:12:23.777946054 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/lfence-load.d 2024-01-18 13:32:46.351889330 +0000 +@@ -83,7 +83,7 @@ Disassembly of section .text: + +[a-f0-9]+: 0f ae e8 lfence + +[a-f0-9]+: 58 pop %eax + +[a-f0-9]+: 0f ae e8 lfence +- +[a-f0-9]+: 66 d1 11 rclw \(%ecx\) ++ +[a-f0-9]+: 66 d1 11 rclw \$1,\(%ecx\) + +[a-f0-9]+: 0f ae e8 lfence + +[a-f0-9]+: f7 01 01 00 00 00 testl \$0x1,\(%ecx\) + +[a-f0-9]+: 0f ae e8 lfence +diff -rupN binutils.orig/gas/testsuite/gas/i386/lfence-section.d binutils-2.41/gas/testsuite/gas/i386/lfence-section.d +--- binutils.orig/gas/testsuite/gas/i386/lfence-section.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/lfence-section.d 2024-01-18 13:32:46.351889330 +0000 +@@ -0,0 +1,19 @@ ++#as: -mlfence-before-indirect-branch=all ++#warning_output: lfence-section.e ++#objdump: -dw ++#name: -mlfence-before-indirect-branch=all w/ section switches ++ ++.*: +file format .* ++ ++ ++Disassembly of section .text: ++ ++0+ <_start>: ++ +[a-f0-9]+: f3 ff d0 repz call \*%eax ++ +[a-f0-9]+: f3 c3 repz ret ++ +[a-f0-9]+: cc int3 ++ +[a-f0-9]+: cc int3 ++ +[a-f0-9]+: cc int3 ++ ++Disassembly of section \.text2: ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/lfence-section.e binutils-2.41/gas/testsuite/gas/i386/lfence-section.e +--- binutils.orig/gas/testsuite/gas/i386/lfence-section.e 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/lfence-section.e 2024-01-18 13:32:46.351889330 +0000 +@@ -0,0 +1,3 @@ ++.*: Assembler messages: ++.*:3: Warning: `rep` skips -mlfence-before-indirect-branch on `call` ++.*:11: Warning: `rep` skips -mlfence-before-ret on `ret` +diff -rupN binutils.orig/gas/testsuite/gas/i386/lfence-section.s binutils-2.41/gas/testsuite/gas/i386/lfence-section.s +--- binutils.orig/gas/testsuite/gas/i386/lfence-section.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/lfence-section.s 2024-01-18 13:32:46.351889330 +0000 +@@ -0,0 +1,19 @@ ++ .text ++_start: ++ rep ++ ++ .section .text2, "ax" ++aux1: ++ nop ++ ++ .text ++ call *%eax ++ rep ++ ++ .section .text2, "ax" ++aux2: ++ nop ++ ++ .text ++ ret ++ .p2align 2, 0xcc +diff -rupN binutils.orig/gas/testsuite/gas/i386/lfence-subsect.d binutils-2.41/gas/testsuite/gas/i386/lfence-subsect.d +--- binutils.orig/gas/testsuite/gas/i386/lfence-subsect.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/lfence-subsect.d 2024-01-18 13:32:46.351889330 +0000 +@@ -0,0 +1,18 @@ ++#as: -mlfence-before-indirect-branch=all ++#warning_output: lfence-section.e ++#objdump: -dw ++#name: -mlfence-before-indirect-branch=all w/ subsection switches ++ ++.*: +file format .* ++ ++Disassembly of section .text: ++ ++0+ <_start>: ++ +[a-f0-9]+: f3 ff d0 repz call \*%eax ++ +[a-f0-9]+: f3 c3 repz ret ++ +[a-f0-9]+: cc int3 ++ +[a-f0-9]+: cc int3 ++ +[a-f0-9]+: cc int3 ++ ++0+8 : ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/lfence-subsect.s binutils-2.41/gas/testsuite/gas/i386/lfence-subsect.s +--- binutils.orig/gas/testsuite/gas/i386/lfence-subsect.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/lfence-subsect.s 2024-01-18 13:32:46.351889330 +0000 +@@ -0,0 +1,19 @@ ++ .text ++_start: ++ rep ++ ++ .subsection 2 ++aux1: ++ nop ++ ++ .previous ++ call *%eax ++ rep ++ ++ .pushsection .text, 2 ++aux2: ++ nop ++ ++ .popsection ++ ret ++ .p2align 2, 0xcc +diff -rupN binutils.orig/gas/testsuite/gas/i386/lwp.s binutils-2.41/gas/testsuite/gas/i386/lwp.s +--- binutils.orig/gas/testsuite/gas/i386/lwp.s 2024-01-18 12:12:23.778946055 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/lwp.s 2024-01-18 13:32:46.352889331 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit LWP instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/movdir-intel.d binutils-2.41/gas/testsuite/gas/i386/movdir-intel.d +--- binutils.orig/gas/testsuite/gas/i386/movdir-intel.d 2024-01-18 12:12:23.779946055 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/movdir-intel.d 2024-01-18 13:32:46.352889331 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 MOVDIR[I,64B] insns (Intel disassembly) + #source: movdir.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/movdir.d binutils-2.41/gas/testsuite/gas/i386/movdir.d +--- binutils.orig/gas/testsuite/gas/i386/movdir.d 2024-01-18 12:12:23.779946055 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/movdir.d 2024-01-18 13:32:46.352889331 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 MOVDIR[I,64B] insns + #source: movdir.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/movdir.s binutils-2.41/gas/testsuite/gas/i386/movdir.s +--- binutils.orig/gas/testsuite/gas/i386/movdir.s 2024-01-18 12:12:23.779946055 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/movdir.s 2024-01-18 13:32:46.352889331 +0000 +@@ -1,6 +1,5 @@ + # Check MOVDIR[I,64B] 32-bit instructions + +- .allow_index_reg + .text + _start: + movdiri %eax, (%ecx) +diff -rupN binutils.orig/gas/testsuite/gas/i386/movdir64b-reg.l binutils-2.41/gas/testsuite/gas/i386/movdir64b-reg.l +--- binutils.orig/gas/testsuite/gas/i386/movdir64b-reg.l 2024-01-18 12:12:23.779946055 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/movdir64b-reg.l 2024-01-18 13:32:46.352889331 +0000 +@@ -1,5 +1,5 @@ + .*: Assembler messages: ++.*:5: Error: invalid register operand size for `movdir64b' + .*:6: Error: invalid register operand size for `movdir64b' +-.*:7: Error: invalid register operand size for `movdir64b' ++.*:9: Error: invalid register operand size for `movdir64b' + .*:10: Error: invalid register operand size for `movdir64b' +-.*:11: Error: invalid register operand size for `movdir64b' +diff -rupN binutils.orig/gas/testsuite/gas/i386/movdir64b-reg.s binutils-2.41/gas/testsuite/gas/i386/movdir64b-reg.s +--- binutils.orig/gas/testsuite/gas/i386/movdir64b-reg.s 2024-01-18 12:12:23.779946055 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/movdir64b-reg.s 2024-01-18 13:32:46.352889331 +0000 +@@ -1,6 +1,5 @@ + # Check error for MOVDIR64B 32-bit instructions + +- .allow_index_reg + .text + _start: + movdir64b (%si),%eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/mpx-inval-1.l binutils-2.41/gas/testsuite/gas/i386/mpx-inval-1.l +--- binutils.orig/gas/testsuite/gas/i386/mpx-inval-1.l 2024-01-18 12:12:23.779946055 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/mpx-inval-1.l 2024-01-18 13:32:46.353889331 +0000 +@@ -1,60 +1,59 @@ + .*: Assembler messages: ++.*:5: Error: expecting valid branch instruction after `bnd' + .*:6: Error: expecting valid branch instruction after `bnd' + .*:7: Error: expecting valid branch instruction after `bnd' ++.*:7: Warning: skipping prefixes on `lcall' + .*:8: Error: expecting valid branch instruction after `bnd' +-.*:8: Warning: skipping prefixes on `lcall' ++.*:8: Warning: skipping prefixes on `ljmp' + .*:9: Error: expecting valid branch instruction after `bnd' +-.*:9: Warning: skipping prefixes on `ljmp' + .*:10: Error: expecting valid branch instruction after `bnd' +-.*:11: Error: expecting valid branch instruction after `bnd' ++.*:13: Error: expecting valid branch instruction after `bnd' + .*:14: Error: expecting valid branch instruction after `bnd' + .*:15: Error: expecting valid branch instruction after `bnd' ++.*:15: Warning: skipping prefixes on `lcall' + .*:16: Error: expecting valid branch instruction after `bnd' +-.*:16: Warning: skipping prefixes on `lcall' ++.*:16: Warning: skipping prefixes on `ljmp' + .*:17: Error: expecting valid branch instruction after `bnd' +-.*:17: Warning: skipping prefixes on `ljmp' + .*:18: Error: expecting valid branch instruction after `bnd' +-.*:19: Error: expecting valid branch instruction after `bnd' + GAS LISTING .* + + + [ ]*1[ ]+\# MPX instructions +-[ ]*2[ ]+\.allow_index_reg +-[ ]*3[ ]+\.text +-[ ]*4[ ]+\.extern xxx +-[ ]*5[ ]+foo: +-[ ]*6[ ]+\?\?\?\? F201C3 bnd add %eax, %ebx \# Bad ++[ ]*2[ ]+\.text ++[ ]*3[ ]+\.extern xxx ++[ ]*4[ ]+foo: ++[ ]*5[ ]+\?\?\?\? F201C3 bnd add %eax, %ebx \# Bad + .* Error: expecting valid branch instruction after `bnd' +-[ ]*7[ ]+\?\?\?\? 66F2AB bnd stosw \(%edi\) \# Bad ++[ ]*6[ ]+\?\?\?\? 66F2AB bnd stosw \(%edi\) \# Bad + .* Error: expecting valid branch instruction after `bnd' +-[ ]*8[ ]+\?\?\?\? 9A000000 bnd lcall \$0x1234,\$xxx ++[ ]*7[ ]+\?\?\?\? 9A000000 bnd lcall \$0x1234,\$xxx + .* Error: expecting valid branch instruction after `bnd' + .* Warning: skipping prefixes on `lcall' +-[ ]*8[ ]+003412 +-[ ]*9[ ]+\?\?\?\? EA000000 bnd ljmp \$0x1234,\$xxx ++[ ]*7[ ]+003412 ++[ ]*8[ ]+\?\?\?\? EA000000 bnd ljmp \$0x1234,\$xxx + .* Error: expecting valid branch instruction after `bnd' + .* Warning: skipping prefixes on `ljmp' +-[ ]*9[ ]+003412 +-[ ]*10[ ]+\?\?\?\? F2E2E9 bnd loop foo ++[ ]*8[ ]+003412 ++[ ]*9[ ]+\?\?\?\? F2E2E9 bnd loop foo + .* Error: expecting valid branch instruction after `bnd' +-[ ]*11[ ]+\?\?\?\? 67F2E3E5 bnd jcxz foo ++[ ]*10[ ]+\?\?\?\? 67F2E3E5 bnd jcxz foo + .* Error: expecting valid branch instruction after `bnd' +-[ ]*12[ ]+ +-[ ]*13[ ]+\.intel_syntax noprefix +-[ ]*14[ ]+\?\?\?\? F201C3 bnd add ebx, eax \# Bad ++[ ]*11[ ]+ ++[ ]*12[ ]+\.intel_syntax noprefix ++[ ]*13[ ]+\?\?\?\? F201C3 bnd add ebx, eax \# Bad + .* Error: expecting valid branch instruction after `bnd' +-[ ]*15[ ]+\?\?\?\? 66F2AB bnd stos WORD PTR\[edi] \# Bad ++[ ]*14[ ]+\?\?\?\? 66F2AB bnd stos WORD PTR\[edi] \# Bad + .* Error: expecting valid branch instruction after `bnd' +-[ ]*16[ ]+\?\?\?\? 9A000000 bnd lcall 0x1234,xxx ++[ ]*15[ ]+\?\?\?\? 9A000000 bnd lcall 0x1234,xxx + .* Error: expecting valid branch instruction after `bnd' + .* Warning: skipping prefixes on `lcall' +-[ ]*16[ ]+003412 +-[ ]*17[ ]+\?\?\?\? EA000000 bnd ljmp 0x1234,xxx ++[ ]*15[ ]+003412 ++[ ]*16[ ]+\?\?\?\? EA000000 bnd ljmp 0x1234,xxx + .* Error: expecting valid branch instruction after `bnd' + .* Warning: skipping prefixes on `ljmp' +-[ ]*17[ ]+003412 +-[ ]*18[ ]+\?\?\?\? F2E2CE bnd loop foo ++[ ]*16[ ]+003412 ++[ ]*17[ ]+\?\?\?\? F2E2CE bnd loop foo + .* Error: expecting valid branch instruction after `bnd' +-[ ]*19[ ]+\?\?\?\? 67F2E3CA bnd jcxz foo ++[ ]*18[ ]+\?\?\?\? 67F2E3CA bnd jcxz foo + .* Error: expecting valid branch instruction after `bnd' + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/mpx-inval-1.s binutils-2.41/gas/testsuite/gas/i386/mpx-inval-1.s +--- binutils.orig/gas/testsuite/gas/i386/mpx-inval-1.s 2024-01-18 12:12:23.780946056 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/mpx-inval-1.s 2024-01-18 13:32:46.353889331 +0000 +@@ -1,5 +1,4 @@ + # MPX instructions +- .allow_index_reg + .text + .extern xxx + foo: +diff -rupN binutils.orig/gas/testsuite/gas/i386/mpx.s binutils-2.41/gas/testsuite/gas/i386/mpx.s +--- binutils.orig/gas/testsuite/gas/i386/mpx.s 2024-01-18 12:12:23.780946056 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/mpx.s 2024-01-18 13:32:46.353889331 +0000 +@@ -1,5 +1,4 @@ + # MPX instructions +- .allow_index_reg + .text + start: + ### bndmk +diff -rupN binutils.orig/gas/testsuite/gas/i386/msrlist-inval.l binutils-2.41/gas/testsuite/gas/i386/msrlist-inval.l +--- binutils.orig/gas/testsuite/gas/i386/msrlist-inval.l 2024-01-18 12:12:23.780946056 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/msrlist-inval.l 2024-01-18 13:32:46.353889331 +0000 +@@ -1,3 +1,3 @@ + .* Assembler messages: +-.*:6: Error: `rdmsrlist' is only supported in 64-bit mode +-.*:7: Error: `wrmsrlist' is only supported in 64-bit mode ++.*:5: Error: `rdmsrlist' is only supported in 64-bit mode ++.*:6: Error: `wrmsrlist' is only supported in 64-bit mode +diff -rupN binutils.orig/gas/testsuite/gas/i386/msrlist-inval.s binutils-2.41/gas/testsuite/gas/i386/msrlist-inval.s +--- binutils.orig/gas/testsuite/gas/i386/msrlist-inval.s 2024-01-18 12:12:23.780946056 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/msrlist-inval.s 2024-01-18 13:32:46.353889331 +0000 +@@ -1,6 +1,5 @@ + # Check Illegal MSRLIST instructions + +- .allow_index_reg + .text + _start: + rdmsrlist #MSRLIST +diff -rupN binutils.orig/gas/testsuite/gas/i386/noavx512-2.l binutils-2.41/gas/testsuite/gas/i386/noavx512-2.l +--- binutils.orig/gas/testsuite/gas/i386/noavx512-2.l 2024-01-18 12:12:23.846946102 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/noavx512-2.l 2024-01-18 13:32:46.353889331 +0000 +@@ -5,7 +5,7 @@ + .*:17: Error: .*bad register name `%zmm.* + .*:18: Error: .*bad register name `%zmm.* + .*:21: Error: .*bad register name `%zmm.* +-.*:24: Error: .*unsupported instruction.* ++.*:24: Error: .*vector size.* + .*:25: Error: .*bad register name `%zmm.* + .*:8: Error: .*bad register name `%zmm.* + .*:10: Error: .*bad register name `%ymm.* +@@ -23,16 +23,16 @@ + .*:27: Error: .*bad register name `%ymm.* + .*:9: Error: .*unsupported masking.* + .*:10: Error: .*unsupported masking.* +-.*:12: Error: .*unsupported instruction.* +-.*:13: Error: .*unsupported instruction.* +-.*:15: Error: .*unsupported instruction.* +-.*:16: Error: .*unsupported instruction.* ++.*:12: Error: .*operand size mismatch.* ++.*:13: Error: .*operand size mismatch.* ++.*:15: Error: .*operand size mismatch.* ++.*:16: Error: .*operand size mismatch.* + .*:19: Error: .*unsupported masking.* + .*:20: Error: .*unsupported masking.* +-.*:22: Error: .*unsupported instruction.* +-.*:23: Error: .*unsupported instruction.* +-.*:26: Error: .*unsupported instruction.* +-.*:27: Error: .*unsupported instruction.* ++.*:22: Error: .*operand size mismatch.* ++.*:23: Error: .*operand size mismatch.* ++.*:26: Error: .*operand size mismatch.* ++.*:27: Error: .*operand size mismatch.* + #... + [ ]*[0-9]+[ ]+\# Test \.arch \.noavx512vl + [ ]*[0-9]+[ ]+\.text +diff -rupN binutils.orig/gas/testsuite/gas/i386/nop-1-suffix.d binutils-2.41/gas/testsuite/gas/i386/nop-1-suffix.d +--- binutils.orig/gas/testsuite/gas/i386/nop-1-suffix.d 2024-01-18 12:12:23.781946057 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nop-1-suffix.d 2024-01-18 13:32:46.353889331 +0000 +@@ -14,46 +14,42 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + + 0+2 : +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+a : + +[a-f0-9]+: 8d 74 26 00 leal 0x0\(%esi,%eiz,1\),%esi + +[a-f0-9]+: 8d 74 26 00 leal 0x0\(%esi,%eiz,1\),%esi + + 0+12 : +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b6 00 00 00 00 leal 0x0\(%esi\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 8d 74 26 00 leal 0x0\(%esi,%eiz,1\),%esi + + 0+26 : + +[a-f0-9]+: eb 1c jmp 44 +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 8d 74 26 00 leal 0x0\(%esi,%eiz,1\),%esi + + 0+44 : + +[a-f0-9]+: eb 7f jmp c5 ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi + +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop + + 0+c5 : + +[a-f0-9]+: 31 c0 xorl %eax,%eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/nop-1.d binutils-2.41/gas/testsuite/gas/i386/nop-1.d +--- binutils.orig/gas/testsuite/gas/i386/nop-1.d 2024-01-18 12:12:23.781946057 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nop-1.d 2024-01-18 13:42:33.351234210 +0000 +@@ -13,46 +13,42 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + + 0+2 : +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+a : + +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi + +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi + + 0+12 : +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi + + 0+26 : + +[a-f0-9]+: eb 1c jmp 44 +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi + + 0+44 : + +[a-f0-9]+: eb 7f jmp c5 ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop + + 0+c5 : + +[a-f0-9]+: 31 c0 xor %eax,%eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/nop-1.l binutils-2.41/gas/testsuite/gas/i386/nop-1.l +--- binutils.orig/gas/testsuite/gas/i386/nop-1.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/nop-1.l 2024-01-18 13:42:33.351234210 +0000 +@@ -0,0 +1,39 @@ ++[ ]*[0-9]+[ ]+\.text ++[ ]*[0-9]+[ ]+single: ++[ ]*[0-9]+[ ]+\.nops 0 ++[ ]*[0-9]+[ ]+.... 90[ ]+nop ++[ ]*[0-9]+[ ]* ++[ ]*[0-9]+[ ]+pseudo_1: ++[ ]*[0-9]+[ ]+.... 90[ ]+\.nops 1 ++[ ]*[0-9]+[ ]* ++[ ]*[0-9]+[ ]+pseudo_8: ++[ ]*[0-9]+[ ]+.... 2E8DB426[ ]+\.nops 8 ++[ ]*[0-9]+[ ]+00000000 * ++[ ]*[0-9]+[ ]* ++[ ]*[0-9]+[ ]+pseudo_8_4: ++[ ]*[0-9]+[ ]+.... 8D742600[ ]+\.nops 8, 4 ++[ ]*[0-9]+[ ]+8D742600 * ++[ ]*[0-9]+[ ]* ++[ ]*[0-9]+[ ]+pseudo_20: ++[ ]*[0-9]+[ ]+.... 2E8DB426[ ]+\.nops 20 ++[ ]*[0-9]+[ ]+00000000 * ++[ ]*[0-9]+[ ]+2E8DB426 * ++[ ]*[0-9]+[ ]+00000000 * ++[ ]*[0-9]+[ ]+8D742600 * ++[ ]*[0-9]+[ ]* ++[ ]*[0-9]+[ ]+pseudo_30: ++[ ]*[0-9]+[ ]+.... EB1C2E8D[ ]+\.nops 30 ++[ ]*[0-9]+[ ]+B4260000 * ++[ ]*[0-9]+[ ]+00002E8D * ++[ ]*[0-9]+[ ]+B4260000 * ++[ ]*[0-9]+[ ]+00002E8D * ++[ ]*[0-9]+[ ]* ++[ ]*[0-9]+[ ]+pseudo_129: ++[ ]*[0-9]+[ ]+.... EB7F2E8D[ ]+\.nops 129 ++[ ]*[0-9]+[ ]+B4260000 * ++[ ]*[0-9]+[ ]+00002E8D * ++[ ]*[0-9]+[ ]+B4260000 * ++[ ]*[0-9]+[ ]+00002E8D * ++[ ]*[0-9]+[ ]* ++[ ]*[0-9]+[ ]+end: ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/nop-2.d binutils-2.41/gas/testsuite/gas/i386/nop-2.d +--- binutils.orig/gas/testsuite/gas/i386/nop-2.d 2024-01-18 12:12:23.781946057 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nop-2.d 2024-01-18 13:32:46.354889332 +0000 +@@ -13,8 +13,8 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + + 0+2 : +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si + + 0+a : + +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +@@ -22,56 +22,48 @@ Disassembly of section .text: + + 0+12 : + +[a-f0-9]+: eb 12 jmp 26 +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 66 90 xchg %eax,%eax ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si + + 0+26 : + +[a-f0-9]+: eb 1c jmp 44 +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si + + 0+44 : + +[a-f0-9]+: eb 7f jmp c5 +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d 74 00 lea 0x0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++ +[a-f0-9]+: 89 f6 mov %si,%si + + 0+c5 : + +[a-f0-9]+: 66 31 c0 xor %eax,%eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/nop-4.d binutils-2.41/gas/testsuite/gas/i386/nop-4.d +--- binutils.orig/gas/testsuite/gas/i386/nop-4.d 2024-01-18 12:12:23.781946057 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nop-4.d 2024-01-18 13:32:46.354889332 +0000 +@@ -9,8 +9,8 @@ Disassembly of section .text: + 0+ <_start>: + +[a-f0-9]+: 31 c0 xor %eax,%eax + +[a-f0-9]+: 85 c0 test %eax,%eax +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 66 90 xchg %ax,%ax ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 90 nop + +[a-f0-9]+: 31 c0 xor %eax,%eax + +[a-f0-9]+: 31 c0 xor %eax,%eax + +diff -rupN binutils.orig/gas/testsuite/gas/i386/nop-5.d binutils-2.41/gas/testsuite/gas/i386/nop-5.d +--- binutils.orig/gas/testsuite/gas/i386/nop-5.d 2024-01-18 12:12:23.781946057 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nop-5.d 2024-01-18 13:32:46.354889332 +0000 +@@ -9,9 +9,9 @@ Disassembly of section .text: + 0+ <_start>: + +[a-f0-9]+: 31 c0 xor %eax,%eax + +[a-f0-9]+: 85 c0 test %eax,%eax +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi ++ +[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 90 nop + +[a-f0-9]+: 31 c0 xor %eax,%eax + +[a-f0-9]+: 31 c0 xor %eax,%eax + +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-1-i386-i686.d binutils-2.41/gas/testsuite/gas/i386/nops-1-i386-i686.d +--- binutils.orig/gas/testsuite/gas/i386/nops-1-i386-i686.d 2024-01-18 12:12:23.781946057 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-1-i386-i686.d 2024-01-18 13:32:46.354889332 +0000 +@@ -2,166 +2,4 @@ + #source: nops-1.s + #objdump: -drw + #name: i386 nops -march=i386 -mtune=i686 1 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+10 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+30 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+50 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+70 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+90 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+b0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+d0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: nops-1.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-1-i386.d binutils-2.41/gas/testsuite/gas/i386/nops-1-i386.d +--- binutils.orig/gas/testsuite/gas/i386/nops-1-i386.d 2024-01-18 12:12:23.781946057 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-1-i386.d 2024-01-18 13:32:46.354889332 +0000 +@@ -2,166 +2,4 @@ + #source: nops-1.s + #objdump: -drw + #name: i386 -mtune=i386 nops 1 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop +- +-0+10 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+20 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+30 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop +- +-0+40 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+50 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+60 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+70 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop +- +-0+80 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+90 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+a0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop +- +-0+b0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+c0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+d0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: nops-1.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-1-i686.d binutils-2.41/gas/testsuite/gas/i386/nops-1-i686.d +--- binutils.orig/gas/testsuite/gas/i386/nops-1-i686.d 2024-01-18 12:12:23.781946057 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-1-i686.d 2024-01-18 13:32:46.354889332 +0000 +@@ -2,167 +2,4 @@ + #source: nops-1.s + #objdump: -drw + #name: i386 -mtune=i686 nops 1 +- +-.*: +file format .* +- +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+10 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+30 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+50 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+70 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+90 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+b0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+d0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: nops-1.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-1-k8.d binutils-2.41/gas/testsuite/gas/i386/nops-1-k8.d +--- binutils.orig/gas/testsuite/gas/i386/nops-1-k8.d 2024-01-18 12:12:23.781946057 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-1-k8.d 2024-01-18 13:32:46.354889332 +0000 +@@ -2,159 +2,4 @@ + #source: nops-1.s + #objdump: -drw + #name: i386 -mtune=k8 nops 1 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\) +- +-0+10 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%eax\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+30 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +- +-0+50 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:0x0\(%eax,%eax,1\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%eax,%eax,1\) +- +-0+70 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%eax,%eax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%eax\) +- +-0+90 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%eax,%eax,1\) +- +-0+b0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%eax\) +- +-0+d0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: nops-1-core2.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-1.d binutils-2.41/gas/testsuite/gas/i386/nops-1.d +--- binutils.orig/gas/testsuite/gas/i386/nops-1.d 2024-01-18 12:12:23.781946057 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-1.d 2024-01-18 13:32:46.354889332 +0000 +@@ -9,31 +9,29 @@ Disassembly of section .text: + + 0+ : + +[a-f0-9]+: 90 nop ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop + + 0+10 : + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 8d b6 00 00 00 00 lea (0x)?0\(%esi\),%esi + + 0+20 : + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+30 : + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 8d 74 26 00 lea (0x)?0\(%esi,%eiz,1\),%esi + + 0+40 : + +[a-f0-9]+: 90 nop +@@ -41,8 +39,8 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 8d 76 00 lea (0x)?0\(%esi\),%esi + + 0+50 : + +[a-f0-9]+: 90 nop +@@ -51,8 +49,8 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 66 90 xchg %ax,%ax + + 0+60 : + +[a-f0-9]+: 90 nop +@@ -62,8 +60,8 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 66 90 xchg %ax,%ax ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 90 nop + + 0+70 : + +[a-f0-9]+: 90 nop +@@ -74,8 +72,7 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+80 : + +[a-f0-9]+: 90 nop +@@ -114,8 +111,7 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop ++ +[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+b0 : + +[a-f0-9]+: 90 nop +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-10.d binutils-2.41/gas/testsuite/gas/i386/nops-10.d +--- binutils.orig/gas/testsuite/gas/i386/nops-10.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-10.d 2024-01-18 13:32:46.354889332 +0000 +@@ -0,0 +1,13 @@ ++#objdump: -drw ++#name: nops 10 ++ ++.*: +file format .* ++ ++ ++Disassembly of section .text: ++ ++0+ : ++[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-10.s binutils-2.41/gas/testsuite/gas/i386/nops-10.s +--- binutils.orig/gas/testsuite/gas/i386/nops-10.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-10.s 2024-01-18 13:32:46.354889332 +0000 +@@ -0,0 +1,6 @@ ++ .text ++default: ++ movsbl %al,%esi ++ .p2align 4 ++ ++ .code16 +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-2-core2.d binutils-2.41/gas/testsuite/gas/i386/nops-2-core2.d +--- binutils.orig/gas/testsuite/gas/i386/nops-2-core2.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-2-core2.d 2024-01-18 13:32:46.354889332 +0000 +@@ -2,171 +2,4 @@ + #source: nops-2.s + #objdump: -drw + #name: i386 -march=i386 -mtune=core2 nops 2 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +- +[a-f0-9]+: 0f be f0 movsbl %al,%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+10 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop +- +-0+20 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+30 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+40 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop +- +-0+50 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+60 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+70 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+80 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop +- +-0+90 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+a0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+b0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop +- +-0+c0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+d0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+e0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: nops-2.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-2-i386.d binutils-2.41/gas/testsuite/gas/i386/nops-2-i386.d +--- binutils.orig/gas/testsuite/gas/i386/nops-2-i386.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-2-i386.d 2024-01-18 13:32:46.354889332 +0000 +@@ -2,171 +2,4 @@ + #source: nops-2.s + #objdump: -drw + #name: i386 nops -mtune=i386 2 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +- +[a-f0-9]+: 0f be f0 movsbl %al,%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+10 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop +- +-0+20 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+30 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+40 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop +- +-0+50 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+60 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+70 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+80 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop +- +-0+90 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+a0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+b0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop +- +-0+c0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+d0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+e0 : +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: nops-2.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-2.d binutils-2.41/gas/testsuite/gas/i386/nops-2.d +--- binutils.orig/gas/testsuite/gas/i386/nops-2.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-2.d 2024-01-18 13:32:46.354889332 +0000 +@@ -9,36 +9,34 @@ Disassembly of section .text: + + 0+ : + +[a-f0-9]+: 0f be f0 movsbl %al,%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+10 : + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 8d b4 26 00 00 00 00 lea (0x)?0\(%esi,%eiz,1\),%esi + + 0+20 : + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 8d b6 00 00 00 00 lea (0x)?0\(%esi\),%esi + + 0+30 : + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+40 : + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 8d 74 26 00 lea (0x)?0\(%esi,%eiz,1\),%esi + + 0+50 : + +[a-f0-9]+: 90 nop +@@ -46,8 +44,8 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 8d 76 00 lea (0x)?0\(%esi\),%esi + + 0+60 : + +[a-f0-9]+: 90 nop +@@ -56,8 +54,8 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 66 90 xchg %ax,%ax + + 0+70 : + +[a-f0-9]+: 90 nop +@@ -67,8 +65,8 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 66 90 xchg %ax,%ax ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 90 nop + + 0+80 : + +[a-f0-9]+: 90 nop +@@ -79,8 +77,7 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+90 : + +[a-f0-9]+: 90 nop +@@ -119,8 +116,7 @@ Disassembly of section .text: + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop ++ +[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+c0 : + +[a-f0-9]+: 90 nop +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-3-i386.d binutils-2.41/gas/testsuite/gas/i386/nops-3-i386.d +--- binutils.orig/gas/testsuite/gas/i386/nops-3-i386.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-3-i386.d 2024-01-18 13:32:46.354889332 +0000 +@@ -2,20 +2,4 @@ + #source: nops-3.s + #objdump: -drw + #name: i386 nops -mtune=i386 3 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 1d jmp 20 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 89 c3 mov %eax,%ebx +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-#pass ++#dump: nops-3.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-3-i686.d binutils-2.41/gas/testsuite/gas/i386/nops-3-i686.d +--- binutils.orig/gas/testsuite/gas/i386/nops-3-i686.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-3-i686.d 2024-01-18 13:32:46.354889332 +0000 +@@ -2,20 +2,4 @@ + #source: nops-3.s + #objdump: -drw + #name: i386 -mtune=i686 nops 3 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 1d jmp 20 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 89 c3 mov %eax,%ebx +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-#pass ++#dump: nops-3.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-3.d binutils-2.41/gas/testsuite/gas/i386/nops-3.d +--- binutils.orig/gas/testsuite/gas/i386/nops-3.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-3.d 2024-01-18 13:32:46.354889332 +0000 +@@ -10,12 +10,11 @@ Disassembly of section .text: + 0+ : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 1d jmp 20 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + [ ]*[a-f0-9]+: 89 c3 mov %eax,%ebx +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea (0x)?0\(%esi\),%esi + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-4-i386.d binutils-2.41/gas/testsuite/gas/i386/nops-4-i386.d +--- binutils.orig/gas/testsuite/gas/i386/nops-4-i386.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-4-i386.d 2024-01-18 13:32:46.354889332 +0000 +@@ -2,247 +2,4 @@ + #source: nops-4.s + #objdump: -drw + #name: i386 nops -mtune=i386 4 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 1d jmp 20 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 1c jmp 40 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 1b jmp 60 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 1a jmp 80 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 19 jmp a0 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 18 jmp c0 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 17 jmp e0 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 16 jmp 100 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+100 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 15 jmp 120 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+120 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 14 jmp 140 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+140 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 13 jmp 160 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+160 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+180 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+1a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+1c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+1e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: nops-4.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-4-i686.d binutils-2.41/gas/testsuite/gas/i386/nops-4-i686.d +--- binutils.orig/gas/testsuite/gas/i386/nops-4-i686.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-4-i686.d 2024-01-18 13:32:46.354889332 +0000 +@@ -2,247 +2,4 @@ + #source: nops-4.s + #objdump: -drw + #name: i386 -mtune=i686 nops 4 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 1d jmp 20 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 1c jmp 40 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 1b jmp 60 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 1a jmp 80 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 19 jmp a0 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 18 jmp c0 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 17 jmp e0 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 16 jmp 100 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+100 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 15 jmp 120 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+120 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 14 jmp 140 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+140 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 13 jmp 160 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+160 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+180 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop +- +-0+1a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +-0+1c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi +- +-0+1e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: nops-4.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-4.d binutils-2.41/gas/testsuite/gas/i386/nops-4.d +--- binutils.orig/gas/testsuite/gas/i386/nops-4.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-4.d 2024-01-18 13:32:46.354889332 +0000 +@@ -9,30 +9,29 @@ Disassembly of section .text: + 0+ : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 1d jmp 20 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+20 : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 1c jmp 40 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 8d 74 26 00 lea (0x)?0\(%esi,%eiz,1\),%esi + + 0+40 : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 1b jmp 60 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 8d 76 00 lea (0x)?0\(%esi\),%esi + + 0+60 : + [ ]*[a-f0-9]+: 90 nop +@@ -40,11 +39,10 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 1a jmp 80 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax + + 0+80 : + [ ]*[a-f0-9]+: 90 nop +@@ -53,10 +51,10 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 19 jmp a0 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 90 nop + + 0+a0 : + [ ]*[a-f0-9]+: 90 nop +@@ -66,10 +64,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 18 jmp c0 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+c0 : + [ ]*[a-f0-9]+: 90 nop +@@ -80,10 +77,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 17 jmp e0 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea (0x)?0\(%esi,%eiz,1\),%esi + + 0+e0 : + [ ]*[a-f0-9]+: 90 nop +@@ -95,10 +91,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 16 jmp 100 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea (0x)?0\(%esi\),%esi + + 0+100 : + [ ]*[a-f0-9]+: 90 nop +@@ -110,10 +105,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 15 jmp 120 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea (0x)?0\(%esi,%eiz,1\),%esi + + 0+120 : + [ ]*[a-f0-9]+: 90 nop +@@ -126,10 +120,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 14 jmp 140 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea (0x)?0\(%esi\),%esi + + 0+140 : + [ ]*[a-f0-9]+: 90 nop +@@ -143,11 +136,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 13 jmp 160 +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+160 : + [ ]*[a-f0-9]+: 90 nop +@@ -162,9 +153,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 8d 74 26 00 lea (0x)?0\(%esi,%eiz,1\),%esi + + 0+180 : + [ ]*[a-f0-9]+: 90 nop +@@ -180,10 +171,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 8d 76 00 lea (0x)?0\(%esi\),%esi + + 0+1a0 : + [ ]*[a-f0-9]+: 90 nop +@@ -200,9 +190,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax + + 0+1c0 : + [ ]*[a-f0-9]+: 90 nop +@@ -220,9 +210,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 90 nop + + 0+1e0 : + [ ]*[a-f0-9]+: 90 nop +@@ -241,7 +231,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-5-i686.d binutils-2.41/gas/testsuite/gas/i386/nops-5-i686.d +--- binutils.orig/gas/testsuite/gas/i386/nops-5-i686.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-5-i686.d 2024-01-18 13:32:46.354889332 +0000 +@@ -2,78 +2,4 @@ + #source: nops-5.s + #objdump: -drw + #name: i386 -march=i686 nops 5 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+10 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+20 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+30 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+40 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+50 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+60 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+70 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+80 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+90 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+a0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+b0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +- +-0+c0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+d0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: nops-5.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-5.d binutils-2.41/gas/testsuite/gas/i386/nops-5.d +--- binutils.orig/gas/testsuite/gas/i386/nops-5.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-5.d 2024-01-18 13:32:46.354889332 +0000 +@@ -7,23 +7,23 @@ Disassembly of section .text: + + 0+ : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+10 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+20 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+30 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+40 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +@@ -47,8 +47,8 @@ Disassembly of section .text: + + 0+80 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+90 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +@@ -62,8 +62,8 @@ Disassembly of section .text: + + 0+b0 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+c0 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-5.s binutils-2.41/gas/testsuite/gas/i386/nops-5.s +--- binutils.orig/gas/testsuite/gas/i386/nops-5.s 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-5.s 2024-01-18 13:32:46.354889332 +0000 +@@ -1,4 +1,5 @@ + .text ++ .code32 + .arch i386 + i386: + movsbl %al,%esi +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-6.d binutils-2.41/gas/testsuite/gas/i386/nops-6.d +--- binutils.orig/gas/testsuite/gas/i386/nops-6.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-6.d 2024-01-18 13:32:46.354889332 +0000 +@@ -7,8 +7,8 @@ Disassembly of section .text: + + 0+ : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + + 0+10 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-7.d binutils-2.41/gas/testsuite/gas/i386/nops-7.d +--- binutils.orig/gas/testsuite/gas/i386/nops-7.d 2024-01-18 12:12:23.782946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-7.d 2024-01-18 13:32:46.354889332 +0000 +@@ -8,163 +8,146 @@ Disassembly of section .text: + 0+ <_start>: + +[a-f0-9]+: 31 c0 xor %eax,%eax + +[a-f0-9]+: e9 f9 01 00 00 jmp 200 +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + +[a-f0-9]+: 90 nop + + 0+200 : + +[a-f0-9]+: 31 db xor %ebx,%ebx + +[a-f0-9]+: e9 f9 00 00 00 jmp 300 +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 90 nop + + 0+300 : + +[a-f0-9]+: 31 db xor %ebx,%ebx + +[a-f0-9]+: eb 7c jmp 380 +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 90 nop + + 0+380 : + +[a-f0-9]+: 31 c9 xor %ecx,%ecx + +[a-f0-9]+: eb 3c jmp 3c0 +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi + +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi + + 0+3c0 : + +[a-f0-9]+: 31 d2 xor %edx,%edx + +[a-f0-9]+: eb 1c jmp 3e0 +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi + + 0+3e0 : + +[a-f0-9]+: 31 ff xor %edi,%edi +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-9.d binutils-2.41/gas/testsuite/gas/i386/nops-9.d +--- binutils.orig/gas/testsuite/gas/i386/nops-9.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-9.d 2024-01-18 13:32:46.355889333 +0000 +@@ -0,0 +1,27 @@ ++#objdump: -drw ++#name: i386 nops 9 ++ ++.*: +file format .* ++ ++Disassembly of section .text: ++ ++0+ : ++[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ ++0+10 : ++[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++ ++0+20 : ++[ ]*[a-f0-9]+: f3 0f b8 f0 popcnt %eax,%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi ++[ ]*[a-f0-9]+: 8d 74 26 00 lea (0x)?0\(%esi,%eiz,1\),%esi ++ ++0+30 : ++[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi ++[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\) ++[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops-9.s binutils-2.41/gas/testsuite/gas/i386/nops-9.s +--- binutils.orig/gas/testsuite/gas/i386/nops-9.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/nops-9.s 2024-01-18 13:32:46.355889333 +0000 +@@ -0,0 +1,19 @@ ++ .text ++default: ++ movsbl %al,%esi ++ .p2align 4 ++ ++ .arch .nopopcnt ++nopopcnt: ++ movsbl %al,%esi ++ .p2align 4 ++ ++ .arch .popcnt ++popcnt: ++ popcnt %eax,%esi ++ .p2align 4 ++ ++ .arch .nop ++nop: ++ movsbl %al,%esi ++ .p2align 4 +diff -rupN binutils.orig/gas/testsuite/gas/i386/nops16-1.d binutils-2.41/gas/testsuite/gas/i386/nops16-1.d +--- binutils.orig/gas/testsuite/gas/i386/nops16-1.d 2024-01-18 12:12:23.783946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/nops16-1.d 2024-01-18 13:32:46.355889333 +0000 +@@ -9,39 +9,35 @@ Disassembly of section .text: + 0+ : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 1d jmp 20 ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si + [ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 90 nop + + 0+20 : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 1c jmp 40 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si + + 0+40 : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 1b jmp 60 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d 74 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 89 f6 mov %si,%si + + 0+60 : + [ ]*[a-f0-9]+: 90 nop +@@ -49,13 +45,12 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 1a jmp 80 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 90 nop + + 0+80 : + [ ]*[a-f0-9]+: 90 nop +@@ -64,13 +59,11 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 19 jmp a0 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si + + 0+a0 : + [ ]*[a-f0-9]+: 90 nop +@@ -80,12 +73,11 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 18 jmp c0 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si + + 0+c0 : + [ ]*[a-f0-9]+: 90 nop +@@ -96,12 +88,11 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 17 jmp e0 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d 74 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si + + 0+e0 : + [ ]*[a-f0-9]+: 90 nop +@@ -113,12 +104,11 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 16 jmp 100 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 89 f6 mov %si,%si + + 0+100 : + [ ]*[a-f0-9]+: 90 nop +@@ -131,11 +121,10 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 15 jmp 120 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si + [ ]*[a-f0-9]+: 90 nop + + 0+120 : +@@ -150,11 +139,10 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 14 jmp 140 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si + + 0+140 : + [ ]*[a-f0-9]+: 90 nop +@@ -169,11 +157,10 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 13 jmp 160 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d 74 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si + + 0+160 : + [ ]*[a-f0-9]+: 90 nop +@@ -189,11 +176,10 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 12 jmp 180 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si + + 0+180 : + [ ]*[a-f0-9]+: 90 nop +@@ -210,11 +196,10 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 11 jmp 1a0 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 89 f6 mov %si,%si + + 0+1a0 : + [ ]*[a-f0-9]+: 90 nop +@@ -232,10 +217,10 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 10 jmp 1c0 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 90 nop + + 0+1c0 : + [ ]*[a-f0-9]+: 90 nop +@@ -254,10 +239,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 0f jmp 1e0 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d 74 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si + + 0+1e0 : + [ ]*[a-f0-9]+: 90 nop +@@ -277,45 +261,40 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 0e jmp 200 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si + + 0+200 : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: eb 0d jmp 210 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si + + 0+210 : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 0c jmp 220 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si + + 0+220 : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 0b jmp 230 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d 74 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si + + 0+230 : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: eb 0a jmp 240 +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 89 f6 mov %si,%si + + 0+240 : + [ ]*[a-f0-9]+: 90 nop +@@ -323,9 +302,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d 74 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 90 nop + + 0+250 : + [ ]*[a-f0-9]+: 90 nop +@@ -334,9 +313,8 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si + + 0+260 : + [ ]*[a-f0-9]+: 90 nop +@@ -346,9 +324,8 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si + + 0+270 : + [ ]*[a-f0-9]+: 90 nop +@@ -359,8 +336,8 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si + + 0+280 : + [ ]*[a-f0-9]+: 90 nop +@@ -372,8 +349,8 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 8d 74 00 lea 0x0\(%si\),%si ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 89 f6 mov %si,%si + + 0+290 : + [ ]*[a-f0-9]+: 90 nop +@@ -386,8 +363,8 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si ++[ ]*[a-f0-9]+: 90 nop + + 0+2a0 : + [ ]*[a-f0-9]+: 90 nop +@@ -401,8 +378,7 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si + + 0+2b0 : + [ ]*[a-f0-9]+: 90 nop +@@ -450,5 +426,5 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax ++[ ]*[a-f0-9]+: 89 f6 mov %si,%si + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/noreg16-data32.d binutils-2.41/gas/testsuite/gas/i386/noreg16-data32.d +--- binutils.orig/gas/testsuite/gas/i386/noreg16-data32.d 2024-01-18 12:12:23.783946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/noreg16-data32.d 2024-01-18 13:32:46.355889333 +0000 +@@ -96,43 +96,43 @@ Disassembly of section .text: + *[a-f0-9]+: f3 0f ae 27 ptwrite \(%bx\) + *[a-f0-9]+: 66 ff 37 pushl \(%bx\) + *[a-f0-9]+: 66 06 pushl %es +- *[a-f0-9]+: 66 d1 17 rcll \(%bx\) ++ *[a-f0-9]+: 66 d1 17 rcll \$1,\(%bx\) + *[a-f0-9]+: 66 c1 17 02 rcll \$0x2,\(%bx\) + *[a-f0-9]+: 66 d3 17 rcll %cl,\(%bx\) +- *[a-f0-9]+: 66 d1 17 rcll \(%bx\) +- *[a-f0-9]+: 66 d1 1f rcrl \(%bx\) ++ *[a-f0-9]+: 66 d1 17 rcll \$1,\(%bx\) ++ *[a-f0-9]+: 66 d1 1f rcrl \$1,\(%bx\) + *[a-f0-9]+: 66 c1 1f 02 rcrl \$0x2,\(%bx\) + *[a-f0-9]+: 66 d3 1f rcrl %cl,\(%bx\) +- *[a-f0-9]+: 66 d1 1f rcrl \(%bx\) +- *[a-f0-9]+: 66 d1 07 roll \(%bx\) ++ *[a-f0-9]+: 66 d1 1f rcrl \$1,\(%bx\) ++ *[a-f0-9]+: 66 d1 07 roll \$1,\(%bx\) + *[a-f0-9]+: 66 c1 07 02 roll \$0x2,\(%bx\) + *[a-f0-9]+: 66 d3 07 roll %cl,\(%bx\) +- *[a-f0-9]+: 66 d1 07 roll \(%bx\) +- *[a-f0-9]+: 66 d1 0f rorl \(%bx\) ++ *[a-f0-9]+: 66 d1 07 roll \$1,\(%bx\) ++ *[a-f0-9]+: 66 d1 0f rorl \$1,\(%bx\) + *[a-f0-9]+: 66 c1 0f 02 rorl \$0x2,\(%bx\) + *[a-f0-9]+: 66 d3 0f rorl %cl,\(%bx\) +- *[a-f0-9]+: 66 d1 0f rorl \(%bx\) ++ *[a-f0-9]+: 66 d1 0f rorl \$1,\(%bx\) + *[a-f0-9]+: 66 83 1f 01 sbbl \$0x1,\(%bx\) + *[a-f0-9]+: 66 81 1f 89 00 00 00 sbbl \$0x89,\(%bx\) + *[a-f0-9]+: 66 81 1f 34 12 00 00 sbbl \$0x1234,\(%bx\) + *[a-f0-9]+: 66 af scas %es:\(%di\),%eax + *[a-f0-9]+: 66 af scas %es:\(%di\),%eax +- *[a-f0-9]+: 66 d1 27 shll \(%bx\) ++ *[a-f0-9]+: 66 d1 27 shll \$1,\(%bx\) + *[a-f0-9]+: 66 c1 27 02 shll \$0x2,\(%bx\) + *[a-f0-9]+: 66 d3 27 shll %cl,\(%bx\) +- *[a-f0-9]+: 66 d1 27 shll \(%bx\) +- *[a-f0-9]+: 66 d1 3f sarl \(%bx\) ++ *[a-f0-9]+: 66 d1 27 shll \$1,\(%bx\) ++ *[a-f0-9]+: 66 d1 3f sarl \$1,\(%bx\) + *[a-f0-9]+: 66 c1 3f 02 sarl \$0x2,\(%bx\) + *[a-f0-9]+: 66 d3 3f sarl %cl,\(%bx\) +- *[a-f0-9]+: 66 d1 3f sarl \(%bx\) +- *[a-f0-9]+: 66 d1 27 shll \(%bx\) ++ *[a-f0-9]+: 66 d1 3f sarl \$1,\(%bx\) ++ *[a-f0-9]+: 66 d1 27 shll \$1,\(%bx\) + *[a-f0-9]+: 66 c1 27 02 shll \$0x2,\(%bx\) + *[a-f0-9]+: 66 d3 27 shll %cl,\(%bx\) +- *[a-f0-9]+: 66 d1 27 shll \(%bx\) +- *[a-f0-9]+: 66 d1 2f shrl \(%bx\) ++ *[a-f0-9]+: 66 d1 27 shll \$1,\(%bx\) ++ *[a-f0-9]+: 66 d1 2f shrl \$1,\(%bx\) + *[a-f0-9]+: 66 c1 2f 02 shrl \$0x2,\(%bx\) + *[a-f0-9]+: 66 d3 2f shrl %cl,\(%bx\) +- *[a-f0-9]+: 66 d1 2f shrl \(%bx\) ++ *[a-f0-9]+: 66 d1 2f shrl \$1,\(%bx\) + *[a-f0-9]+: 66 ab stos %eax,%es:\(%di\) + *[a-f0-9]+: 66 ab stos %eax,%es:\(%di\) + *[a-f0-9]+: 66 83 2f 01 subl \$0x1,\(%bx\) +diff -rupN binutils.orig/gas/testsuite/gas/i386/noreg16.d binutils-2.41/gas/testsuite/gas/i386/noreg16.d +--- binutils.orig/gas/testsuite/gas/i386/noreg16.d 2024-01-18 12:12:23.783946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/noreg16.d 2024-01-18 13:32:46.355889333 +0000 +@@ -95,43 +95,43 @@ Disassembly of section .text: + *[a-f0-9]+: f3 0f ae 27 ptwrite \(%bx\) + *[a-f0-9]+: ff 37 push \(%bx\) + *[a-f0-9]+: 06 push %es +- *[a-f0-9]+: d1 17 rclw \(%bx\) ++ *[a-f0-9]+: d1 17 rclw \$1,\(%bx\) + *[a-f0-9]+: c1 17 02 rclw \$0x2,\(%bx\) + *[a-f0-9]+: d3 17 rclw %cl,\(%bx\) +- *[a-f0-9]+: d1 17 rclw \(%bx\) +- *[a-f0-9]+: d1 1f rcrw \(%bx\) ++ *[a-f0-9]+: d1 17 rclw \$1,\(%bx\) ++ *[a-f0-9]+: d1 1f rcrw \$1,\(%bx\) + *[a-f0-9]+: c1 1f 02 rcrw \$0x2,\(%bx\) + *[a-f0-9]+: d3 1f rcrw %cl,\(%bx\) +- *[a-f0-9]+: d1 1f rcrw \(%bx\) +- *[a-f0-9]+: d1 07 rolw \(%bx\) ++ *[a-f0-9]+: d1 1f rcrw \$1,\(%bx\) ++ *[a-f0-9]+: d1 07 rolw \$1,\(%bx\) + *[a-f0-9]+: c1 07 02 rolw \$0x2,\(%bx\) + *[a-f0-9]+: d3 07 rolw %cl,\(%bx\) +- *[a-f0-9]+: d1 07 rolw \(%bx\) +- *[a-f0-9]+: d1 0f rorw \(%bx\) ++ *[a-f0-9]+: d1 07 rolw \$1,\(%bx\) ++ *[a-f0-9]+: d1 0f rorw \$1,\(%bx\) + *[a-f0-9]+: c1 0f 02 rorw \$0x2,\(%bx\) + *[a-f0-9]+: d3 0f rorw %cl,\(%bx\) +- *[a-f0-9]+: d1 0f rorw \(%bx\) ++ *[a-f0-9]+: d1 0f rorw \$1,\(%bx\) + *[a-f0-9]+: 83 1f 01 sbbw \$0x1,\(%bx\) + *[a-f0-9]+: 81 1f 89 00 sbbw \$0x89,\(%bx\) + *[a-f0-9]+: 81 1f 34 12 sbbw \$0x1234,\(%bx\) + *[a-f0-9]+: af scas %es:\(%di\),%ax + *[a-f0-9]+: af scas %es:\(%di\),%ax +- *[a-f0-9]+: d1 27 shlw \(%bx\) ++ *[a-f0-9]+: d1 27 shlw \$1,\(%bx\) + *[a-f0-9]+: c1 27 02 shlw \$0x2,\(%bx\) + *[a-f0-9]+: d3 27 shlw %cl,\(%bx\) +- *[a-f0-9]+: d1 27 shlw \(%bx\) +- *[a-f0-9]+: d1 3f sarw \(%bx\) ++ *[a-f0-9]+: d1 27 shlw \$1,\(%bx\) ++ *[a-f0-9]+: d1 3f sarw \$1,\(%bx\) + *[a-f0-9]+: c1 3f 02 sarw \$0x2,\(%bx\) + *[a-f0-9]+: d3 3f sarw %cl,\(%bx\) +- *[a-f0-9]+: d1 3f sarw \(%bx\) +- *[a-f0-9]+: d1 27 shlw \(%bx\) ++ *[a-f0-9]+: d1 3f sarw \$1,\(%bx\) ++ *[a-f0-9]+: d1 27 shlw \$1,\(%bx\) + *[a-f0-9]+: c1 27 02 shlw \$0x2,\(%bx\) + *[a-f0-9]+: d3 27 shlw %cl,\(%bx\) +- *[a-f0-9]+: d1 27 shlw \(%bx\) +- *[a-f0-9]+: d1 2f shrw \(%bx\) ++ *[a-f0-9]+: d1 27 shlw \$1,\(%bx\) ++ *[a-f0-9]+: d1 2f shrw \$1,\(%bx\) + *[a-f0-9]+: c1 2f 02 shrw \$0x2,\(%bx\) + *[a-f0-9]+: d3 2f shrw %cl,\(%bx\) +- *[a-f0-9]+: d1 2f shrw \(%bx\) ++ *[a-f0-9]+: d1 2f shrw \$1,\(%bx\) + *[a-f0-9]+: ab stos %ax,%es:\(%di\) + *[a-f0-9]+: ab stos %ax,%es:\(%di\) + *[a-f0-9]+: 83 2f 01 subw \$0x1,\(%bx\) +diff -rupN binutils.orig/gas/testsuite/gas/i386/noreg32-data16.d binutils-2.41/gas/testsuite/gas/i386/noreg32-data16.d +--- binutils.orig/gas/testsuite/gas/i386/noreg32-data16.d 2024-01-18 12:12:23.783946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/noreg32-data16.d 2024-01-18 13:32:46.355889333 +0000 +@@ -103,44 +103,44 @@ Disassembly of section .text: + *[a-f0-9]+: f3 0f ae 20 ptwrite \(%eax\) + *[a-f0-9]+: 66 ff 30 pushw \(%eax\) + *[a-f0-9]+: 66 06 pushw %es +- *[a-f0-9]+: 66 d1 10 rclw \(%eax\) ++ *[a-f0-9]+: 66 d1 10 rclw \$1,\(%eax\) + *[a-f0-9]+: 66 c1 10 02 rclw \$0x2,\(%eax\) + *[a-f0-9]+: 66 d3 10 rclw %cl,\(%eax\) +- *[a-f0-9]+: 66 d1 10 rclw \(%eax\) +- *[a-f0-9]+: 66 d1 18 rcrw \(%eax\) ++ *[a-f0-9]+: 66 d1 10 rclw \$1,\(%eax\) ++ *[a-f0-9]+: 66 d1 18 rcrw \$1,\(%eax\) + *[a-f0-9]+: 66 c1 18 02 rcrw \$0x2,\(%eax\) + *[a-f0-9]+: 66 d3 18 rcrw %cl,\(%eax\) +- *[a-f0-9]+: 66 d1 18 rcrw \(%eax\) +- *[a-f0-9]+: 66 d1 00 rolw \(%eax\) ++ *[a-f0-9]+: 66 d1 18 rcrw \$1,\(%eax\) ++ *[a-f0-9]+: 66 d1 00 rolw \$1,\(%eax\) + *[a-f0-9]+: 66 c1 00 02 rolw \$0x2,\(%eax\) + *[a-f0-9]+: 66 d3 00 rolw %cl,\(%eax\) +- *[a-f0-9]+: 66 d1 00 rolw \(%eax\) +- *[a-f0-9]+: 66 d1 08 rorw \(%eax\) ++ *[a-f0-9]+: 66 d1 00 rolw \$1,\(%eax\) ++ *[a-f0-9]+: 66 d1 08 rorw \$1,\(%eax\) + *[a-f0-9]+: 66 c1 08 02 rorw \$0x2,\(%eax\) + *[a-f0-9]+: 66 d3 08 rorw %cl,\(%eax\) +- *[a-f0-9]+: 66 d1 08 rorw \(%eax\) ++ *[a-f0-9]+: 66 d1 08 rorw \$1,\(%eax\) + *[a-f0-9]+: 66 83 18 01 sbbw \$0x1,\(%eax\) + *[a-f0-9]+: 66 81 18 89 00 sbbw \$0x89,\(%eax\) + *[a-f0-9]+: 66 81 18 34 12 sbbw \$0x1234,\(%eax\) + *[a-f0-9]+: 66 81 18 78 56 sbbw \$0x5678,\(%eax\) + *[a-f0-9]+: 66 af scas %es:\(%edi\),%ax + *[a-f0-9]+: 66 af scas %es:\(%edi\),%ax +- *[a-f0-9]+: 66 d1 20 shlw \(%eax\) ++ *[a-f0-9]+: 66 d1 20 shlw \$1,\(%eax\) + *[a-f0-9]+: 66 c1 20 02 shlw \$0x2,\(%eax\) + *[a-f0-9]+: 66 d3 20 shlw %cl,\(%eax\) +- *[a-f0-9]+: 66 d1 20 shlw \(%eax\) +- *[a-f0-9]+: 66 d1 38 sarw \(%eax\) ++ *[a-f0-9]+: 66 d1 20 shlw \$1,\(%eax\) ++ *[a-f0-9]+: 66 d1 38 sarw \$1,\(%eax\) + *[a-f0-9]+: 66 c1 38 02 sarw \$0x2,\(%eax\) + *[a-f0-9]+: 66 d3 38 sarw %cl,\(%eax\) +- *[a-f0-9]+: 66 d1 38 sarw \(%eax\) +- *[a-f0-9]+: 66 d1 20 shlw \(%eax\) ++ *[a-f0-9]+: 66 d1 38 sarw \$1,\(%eax\) ++ *[a-f0-9]+: 66 d1 20 shlw \$1,\(%eax\) + *[a-f0-9]+: 66 c1 20 02 shlw \$0x2,\(%eax\) + *[a-f0-9]+: 66 d3 20 shlw %cl,\(%eax\) +- *[a-f0-9]+: 66 d1 20 shlw \(%eax\) +- *[a-f0-9]+: 66 d1 28 shrw \(%eax\) ++ *[a-f0-9]+: 66 d1 20 shlw \$1,\(%eax\) ++ *[a-f0-9]+: 66 d1 28 shrw \$1,\(%eax\) + *[a-f0-9]+: 66 c1 28 02 shrw \$0x2,\(%eax\) + *[a-f0-9]+: 66 d3 28 shrw %cl,\(%eax\) +- *[a-f0-9]+: 66 d1 28 shrw \(%eax\) ++ *[a-f0-9]+: 66 d1 28 shrw \$1,\(%eax\) + *[a-f0-9]+: 66 ab stos %ax,%es:\(%edi\) + *[a-f0-9]+: 66 ab stos %ax,%es:\(%edi\) + *[a-f0-9]+: 66 83 28 01 subw \$0x1,\(%eax\) +diff -rupN binutils.orig/gas/testsuite/gas/i386/noreg32.d binutils-2.41/gas/testsuite/gas/i386/noreg32.d +--- binutils.orig/gas/testsuite/gas/i386/noreg32.d 2024-01-18 12:12:23.783946058 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/noreg32.d 2024-01-18 13:32:46.355889333 +0000 +@@ -101,44 +101,44 @@ Disassembly of section .text: + *[a-f0-9]+: f3 0f ae 20 ptwrite \(%eax\) + *[a-f0-9]+: ff 30 push \(%eax\) + *[a-f0-9]+: 06 push %es +- *[a-f0-9]+: d1 10 rcll \(%eax\) ++ *[a-f0-9]+: d1 10 rcll \$1,\(%eax\) + *[a-f0-9]+: c1 10 02 rcll \$0x2,\(%eax\) + *[a-f0-9]+: d3 10 rcll %cl,\(%eax\) +- *[a-f0-9]+: d1 10 rcll \(%eax\) +- *[a-f0-9]+: d1 18 rcrl \(%eax\) ++ *[a-f0-9]+: d1 10 rcll \$1,\(%eax\) ++ *[a-f0-9]+: d1 18 rcrl \$1,\(%eax\) + *[a-f0-9]+: c1 18 02 rcrl \$0x2,\(%eax\) + *[a-f0-9]+: d3 18 rcrl %cl,\(%eax\) +- *[a-f0-9]+: d1 18 rcrl \(%eax\) +- *[a-f0-9]+: d1 00 roll \(%eax\) ++ *[a-f0-9]+: d1 18 rcrl \$1,\(%eax\) ++ *[a-f0-9]+: d1 00 roll \$1,\(%eax\) + *[a-f0-9]+: c1 00 02 roll \$0x2,\(%eax\) + *[a-f0-9]+: d3 00 roll %cl,\(%eax\) +- *[a-f0-9]+: d1 00 roll \(%eax\) +- *[a-f0-9]+: d1 08 rorl \(%eax\) ++ *[a-f0-9]+: d1 00 roll \$1,\(%eax\) ++ *[a-f0-9]+: d1 08 rorl \$1,\(%eax\) + *[a-f0-9]+: c1 08 02 rorl \$0x2,\(%eax\) + *[a-f0-9]+: d3 08 rorl %cl,\(%eax\) +- *[a-f0-9]+: d1 08 rorl \(%eax\) ++ *[a-f0-9]+: d1 08 rorl \$1,\(%eax\) + *[a-f0-9]+: 83 18 01 sbbl \$0x1,\(%eax\) + *[a-f0-9]+: 81 18 89 00 00 00 sbbl \$0x89,\(%eax\) + *[a-f0-9]+: 81 18 34 12 00 00 sbbl \$0x1234,\(%eax\) + *[a-f0-9]+: 81 18 78 56 34 12 sbbl \$0x12345678,\(%eax\) + *[a-f0-9]+: af scas %es:\(%edi\),%eax + *[a-f0-9]+: af scas %es:\(%edi\),%eax +- *[a-f0-9]+: d1 20 shll \(%eax\) ++ *[a-f0-9]+: d1 20 shll \$1,\(%eax\) + *[a-f0-9]+: c1 20 02 shll \$0x2,\(%eax\) + *[a-f0-9]+: d3 20 shll %cl,\(%eax\) +- *[a-f0-9]+: d1 20 shll \(%eax\) +- *[a-f0-9]+: d1 38 sarl \(%eax\) ++ *[a-f0-9]+: d1 20 shll \$1,\(%eax\) ++ *[a-f0-9]+: d1 38 sarl \$1,\(%eax\) + *[a-f0-9]+: c1 38 02 sarl \$0x2,\(%eax\) + *[a-f0-9]+: d3 38 sarl %cl,\(%eax\) +- *[a-f0-9]+: d1 38 sarl \(%eax\) +- *[a-f0-9]+: d1 20 shll \(%eax\) ++ *[a-f0-9]+: d1 38 sarl \$1,\(%eax\) ++ *[a-f0-9]+: d1 20 shll \$1,\(%eax\) + *[a-f0-9]+: c1 20 02 shll \$0x2,\(%eax\) + *[a-f0-9]+: d3 20 shll %cl,\(%eax\) +- *[a-f0-9]+: d1 20 shll \(%eax\) +- *[a-f0-9]+: d1 28 shrl \(%eax\) ++ *[a-f0-9]+: d1 20 shll \$1,\(%eax\) ++ *[a-f0-9]+: d1 28 shrl \$1,\(%eax\) + *[a-f0-9]+: c1 28 02 shrl \$0x2,\(%eax\) + *[a-f0-9]+: d3 28 shrl %cl,\(%eax\) +- *[a-f0-9]+: d1 28 shrl \(%eax\) ++ *[a-f0-9]+: d1 28 shrl \$1,\(%eax\) + *[a-f0-9]+: ab stos %eax,%es:\(%edi\) + *[a-f0-9]+: ab stos %eax,%es:\(%edi\) + *[a-f0-9]+: 83 28 01 subl \$0x1,\(%eax\) +diff -rupN binutils.orig/gas/testsuite/gas/i386/noreg64-data16.d binutils-2.41/gas/testsuite/gas/i386/noreg64-data16.d +--- binutils.orig/gas/testsuite/gas/i386/noreg64-data16.d 2024-01-18 12:12:23.784946059 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/noreg64-data16.d 2024-01-18 13:32:46.355889333 +0000 +@@ -106,44 +106,44 @@ Disassembly of section .text: + *[a-f0-9]+: 66 0f a1 popw %fs + *[a-f0-9]+: 66 ff 30 pushw \(%rax\) + *[a-f0-9]+: 66 0f a0 pushw %fs +- *[a-f0-9]+: 66 d1 10 rclw \(%rax\) ++ *[a-f0-9]+: 66 d1 10 rclw \$1,\(%rax\) + *[a-f0-9]+: 66 c1 10 02 rclw \$0x2,\(%rax\) + *[a-f0-9]+: 66 d3 10 rclw %cl,\(%rax\) +- *[a-f0-9]+: 66 d1 10 rclw \(%rax\) +- *[a-f0-9]+: 66 d1 18 rcrw \(%rax\) ++ *[a-f0-9]+: 66 d1 10 rclw \$1,\(%rax\) ++ *[a-f0-9]+: 66 d1 18 rcrw \$1,\(%rax\) + *[a-f0-9]+: 66 c1 18 02 rcrw \$0x2,\(%rax\) + *[a-f0-9]+: 66 d3 18 rcrw %cl,\(%rax\) +- *[a-f0-9]+: 66 d1 18 rcrw \(%rax\) +- *[a-f0-9]+: 66 d1 00 rolw \(%rax\) ++ *[a-f0-9]+: 66 d1 18 rcrw \$1,\(%rax\) ++ *[a-f0-9]+: 66 d1 00 rolw \$1,\(%rax\) + *[a-f0-9]+: 66 c1 00 02 rolw \$0x2,\(%rax\) + *[a-f0-9]+: 66 d3 00 rolw %cl,\(%rax\) +- *[a-f0-9]+: 66 d1 00 rolw \(%rax\) +- *[a-f0-9]+: 66 d1 08 rorw \(%rax\) ++ *[a-f0-9]+: 66 d1 00 rolw \$1,\(%rax\) ++ *[a-f0-9]+: 66 d1 08 rorw \$1,\(%rax\) + *[a-f0-9]+: 66 c1 08 02 rorw \$0x2,\(%rax\) + *[a-f0-9]+: 66 d3 08 rorw %cl,\(%rax\) +- *[a-f0-9]+: 66 d1 08 rorw \(%rax\) ++ *[a-f0-9]+: 66 d1 08 rorw \$1,\(%rax\) + *[a-f0-9]+: 66 83 18 01 sbbw \$0x1,\(%rax\) + *[a-f0-9]+: 66 81 18 89 00 sbbw \$0x89,\(%rax\) + *[a-f0-9]+: 66 81 18 34 12 sbbw \$0x1234,\(%rax\) + *[a-f0-9]+: 66 81 18 78 56 sbbw \$0x5678,\(%rax\) + *[a-f0-9]+: 66 af scas %es:\(%rdi\),%ax + *[a-f0-9]+: 66 af scas %es:\(%rdi\),%ax +- *[a-f0-9]+: 66 d1 20 shlw \(%rax\) ++ *[a-f0-9]+: 66 d1 20 shlw \$1,\(%rax\) + *[a-f0-9]+: 66 c1 20 02 shlw \$0x2,\(%rax\) + *[a-f0-9]+: 66 d3 20 shlw %cl,\(%rax\) +- *[a-f0-9]+: 66 d1 20 shlw \(%rax\) +- *[a-f0-9]+: 66 d1 38 sarw \(%rax\) ++ *[a-f0-9]+: 66 d1 20 shlw \$1,\(%rax\) ++ *[a-f0-9]+: 66 d1 38 sarw \$1,\(%rax\) + *[a-f0-9]+: 66 c1 38 02 sarw \$0x2,\(%rax\) + *[a-f0-9]+: 66 d3 38 sarw %cl,\(%rax\) +- *[a-f0-9]+: 66 d1 38 sarw \(%rax\) +- *[a-f0-9]+: 66 d1 20 shlw \(%rax\) ++ *[a-f0-9]+: 66 d1 38 sarw \$1,\(%rax\) ++ *[a-f0-9]+: 66 d1 20 shlw \$1,\(%rax\) + *[a-f0-9]+: 66 c1 20 02 shlw \$0x2,\(%rax\) + *[a-f0-9]+: 66 d3 20 shlw %cl,\(%rax\) +- *[a-f0-9]+: 66 d1 20 shlw \(%rax\) +- *[a-f0-9]+: 66 d1 28 shrw \(%rax\) ++ *[a-f0-9]+: 66 d1 20 shlw \$1,\(%rax\) ++ *[a-f0-9]+: 66 d1 28 shrw \$1,\(%rax\) + *[a-f0-9]+: 66 c1 28 02 shrw \$0x2,\(%rax\) + *[a-f0-9]+: 66 d3 28 shrw %cl,\(%rax\) +- *[a-f0-9]+: 66 d1 28 shrw \(%rax\) ++ *[a-f0-9]+: 66 d1 28 shrw \$1,\(%rax\) + *[a-f0-9]+: 66 ab stos %ax,%es:\(%rdi\) + *[a-f0-9]+: 66 ab stos %ax,%es:\(%rdi\) + *[a-f0-9]+: 66 83 28 01 subw \$0x1,\(%rax\) +diff -rupN binutils.orig/gas/testsuite/gas/i386/noreg64-rex64.d binutils-2.41/gas/testsuite/gas/i386/noreg64-rex64.d +--- binutils.orig/gas/testsuite/gas/i386/noreg64-rex64.d 2024-01-18 12:12:23.784946059 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/noreg64-rex64.d 2024-01-18 13:32:46.355889333 +0000 +@@ -105,44 +105,44 @@ Disassembly of section .text: + *[a-f0-9]+: f3 48 0f ae 20 ptwriteq \(%rax\) + *[a-f0-9]+: 48 ff 30 rex\.W push \(%rax\) + *[a-f0-9]+: 48 0f a0 rex\.W push %fs +- *[a-f0-9]+: 48 d1 10 rclq \(%rax\) ++ *[a-f0-9]+: 48 d1 10 rclq \$1,\(%rax\) + *[a-f0-9]+: 48 c1 10 02 rclq \$0x2,\(%rax\) + *[a-f0-9]+: 48 d3 10 rclq %cl,\(%rax\) +- *[a-f0-9]+: 48 d1 10 rclq \(%rax\) +- *[a-f0-9]+: 48 d1 18 rcrq \(%rax\) ++ *[a-f0-9]+: 48 d1 10 rclq \$1,\(%rax\) ++ *[a-f0-9]+: 48 d1 18 rcrq \$1,\(%rax\) + *[a-f0-9]+: 48 c1 18 02 rcrq \$0x2,\(%rax\) + *[a-f0-9]+: 48 d3 18 rcrq %cl,\(%rax\) +- *[a-f0-9]+: 48 d1 18 rcrq \(%rax\) +- *[a-f0-9]+: 48 d1 00 rolq \(%rax\) ++ *[a-f0-9]+: 48 d1 18 rcrq \$1,\(%rax\) ++ *[a-f0-9]+: 48 d1 00 rolq \$1,\(%rax\) + *[a-f0-9]+: 48 c1 00 02 rolq \$0x2,\(%rax\) + *[a-f0-9]+: 48 d3 00 rolq %cl,\(%rax\) +- *[a-f0-9]+: 48 d1 00 rolq \(%rax\) +- *[a-f0-9]+: 48 d1 08 rorq \(%rax\) ++ *[a-f0-9]+: 48 d1 00 rolq \$1,\(%rax\) ++ *[a-f0-9]+: 48 d1 08 rorq \$1,\(%rax\) + *[a-f0-9]+: 48 c1 08 02 rorq \$0x2,\(%rax\) + *[a-f0-9]+: 48 d3 08 rorq %cl,\(%rax\) +- *[a-f0-9]+: 48 d1 08 rorq \(%rax\) ++ *[a-f0-9]+: 48 d1 08 rorq \$1,\(%rax\) + *[a-f0-9]+: 48 83 18 01 sbbq \$0x1,\(%rax\) + *[a-f0-9]+: 48 81 18 89 00 00 00 sbbq \$0x89,\(%rax\) + *[a-f0-9]+: 48 81 18 34 12 00 00 sbbq \$0x1234,\(%rax\) + *[a-f0-9]+: 48 81 18 78 56 34 12 sbbq \$0x12345678,\(%rax\) + *[a-f0-9]+: 48 af scas %es:\(%rdi\),%rax + *[a-f0-9]+: 48 af scas %es:\(%rdi\),%rax +- *[a-f0-9]+: 48 d1 20 shlq \(%rax\) ++ *[a-f0-9]+: 48 d1 20 shlq \$1,\(%rax\) + *[a-f0-9]+: 48 c1 20 02 shlq \$0x2,\(%rax\) + *[a-f0-9]+: 48 d3 20 shlq %cl,\(%rax\) +- *[a-f0-9]+: 48 d1 20 shlq \(%rax\) +- *[a-f0-9]+: 48 d1 38 sarq \(%rax\) ++ *[a-f0-9]+: 48 d1 20 shlq \$1,\(%rax\) ++ *[a-f0-9]+: 48 d1 38 sarq \$1,\(%rax\) + *[a-f0-9]+: 48 c1 38 02 sarq \$0x2,\(%rax\) + *[a-f0-9]+: 48 d3 38 sarq %cl,\(%rax\) +- *[a-f0-9]+: 48 d1 38 sarq \(%rax\) +- *[a-f0-9]+: 48 d1 20 shlq \(%rax\) ++ *[a-f0-9]+: 48 d1 38 sarq \$1,\(%rax\) ++ *[a-f0-9]+: 48 d1 20 shlq \$1,\(%rax\) + *[a-f0-9]+: 48 c1 20 02 shlq \$0x2,\(%rax\) + *[a-f0-9]+: 48 d3 20 shlq %cl,\(%rax\) +- *[a-f0-9]+: 48 d1 20 shlq \(%rax\) +- *[a-f0-9]+: 48 d1 28 shrq \(%rax\) ++ *[a-f0-9]+: 48 d1 20 shlq \$1,\(%rax\) ++ *[a-f0-9]+: 48 d1 28 shrq \$1,\(%rax\) + *[a-f0-9]+: 48 c1 28 02 shrq \$0x2,\(%rax\) + *[a-f0-9]+: 48 d3 28 shrq %cl,\(%rax\) +- *[a-f0-9]+: 48 d1 28 shrq \(%rax\) ++ *[a-f0-9]+: 48 d1 28 shrq \$1,\(%rax\) + *[a-f0-9]+: 48 ab stos %rax,%es:\(%rdi\) + *[a-f0-9]+: 48 ab stos %rax,%es:\(%rdi\) + *[a-f0-9]+: 48 83 28 01 subq \$0x1,\(%rax\) +diff -rupN binutils.orig/gas/testsuite/gas/i386/noreg64.d binutils-2.41/gas/testsuite/gas/i386/noreg64.d +--- binutils.orig/gas/testsuite/gas/i386/noreg64.d 2024-01-18 12:12:23.784946059 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/noreg64.d 2024-01-18 13:32:46.355889333 +0000 +@@ -107,44 +107,44 @@ Disassembly of section .text: + *[a-f0-9]+: f3 0f ae 20 ptwritel \(%rax\) + *[a-f0-9]+: ff 30 push \(%rax\) + *[a-f0-9]+: 0f a0 push %fs +- *[a-f0-9]+: d1 10 rcll \(%rax\) ++ *[a-f0-9]+: d1 10 rcll \$1,\(%rax\) + *[a-f0-9]+: c1 10 02 rcll \$0x2,\(%rax\) + *[a-f0-9]+: d3 10 rcll %cl,\(%rax\) +- *[a-f0-9]+: d1 10 rcll \(%rax\) +- *[a-f0-9]+: d1 18 rcrl \(%rax\) ++ *[a-f0-9]+: d1 10 rcll \$1,\(%rax\) ++ *[a-f0-9]+: d1 18 rcrl \$1,\(%rax\) + *[a-f0-9]+: c1 18 02 rcrl \$0x2,\(%rax\) + *[a-f0-9]+: d3 18 rcrl %cl,\(%rax\) +- *[a-f0-9]+: d1 18 rcrl \(%rax\) +- *[a-f0-9]+: d1 00 roll \(%rax\) ++ *[a-f0-9]+: d1 18 rcrl \$1,\(%rax\) ++ *[a-f0-9]+: d1 00 roll \$1,\(%rax\) + *[a-f0-9]+: c1 00 02 roll \$0x2,\(%rax\) + *[a-f0-9]+: d3 00 roll %cl,\(%rax\) +- *[a-f0-9]+: d1 00 roll \(%rax\) +- *[a-f0-9]+: d1 08 rorl \(%rax\) ++ *[a-f0-9]+: d1 00 roll \$1,\(%rax\) ++ *[a-f0-9]+: d1 08 rorl \$1,\(%rax\) + *[a-f0-9]+: c1 08 02 rorl \$0x2,\(%rax\) + *[a-f0-9]+: d3 08 rorl %cl,\(%rax\) +- *[a-f0-9]+: d1 08 rorl \(%rax\) ++ *[a-f0-9]+: d1 08 rorl \$1,\(%rax\) + *[a-f0-9]+: 83 18 01 sbbl \$0x1,\(%rax\) + *[a-f0-9]+: 81 18 89 00 00 00 sbbl \$0x89,\(%rax\) + *[a-f0-9]+: 81 18 34 12 00 00 sbbl \$0x1234,\(%rax\) + *[a-f0-9]+: 81 18 78 56 34 12 sbbl \$0x12345678,\(%rax\) + *[a-f0-9]+: af scas %es:\(%rdi\),%eax + *[a-f0-9]+: af scas %es:\(%rdi\),%eax +- *[a-f0-9]+: d1 20 shll \(%rax\) ++ *[a-f0-9]+: d1 20 shll \$1,\(%rax\) + *[a-f0-9]+: c1 20 02 shll \$0x2,\(%rax\) + *[a-f0-9]+: d3 20 shll %cl,\(%rax\) +- *[a-f0-9]+: d1 20 shll \(%rax\) +- *[a-f0-9]+: d1 38 sarl \(%rax\) ++ *[a-f0-9]+: d1 20 shll \$1,\(%rax\) ++ *[a-f0-9]+: d1 38 sarl \$1,\(%rax\) + *[a-f0-9]+: c1 38 02 sarl \$0x2,\(%rax\) + *[a-f0-9]+: d3 38 sarl %cl,\(%rax\) +- *[a-f0-9]+: d1 38 sarl \(%rax\) +- *[a-f0-9]+: d1 20 shll \(%rax\) ++ *[a-f0-9]+: d1 38 sarl \$1,\(%rax\) ++ *[a-f0-9]+: d1 20 shll \$1,\(%rax\) + *[a-f0-9]+: c1 20 02 shll \$0x2,\(%rax\) + *[a-f0-9]+: d3 20 shll %cl,\(%rax\) +- *[a-f0-9]+: d1 20 shll \(%rax\) +- *[a-f0-9]+: d1 28 shrl \(%rax\) ++ *[a-f0-9]+: d1 20 shll \$1,\(%rax\) ++ *[a-f0-9]+: d1 28 shrl \$1,\(%rax\) + *[a-f0-9]+: c1 28 02 shrl \$0x2,\(%rax\) + *[a-f0-9]+: d3 28 shrl %cl,\(%rax\) +- *[a-f0-9]+: d1 28 shrl \(%rax\) ++ *[a-f0-9]+: d1 28 shrl \$1,\(%rax\) + *[a-f0-9]+: ab stos %eax,%es:\(%rdi\) + *[a-f0-9]+: ab stos %eax,%es:\(%rdi\) + *[a-f0-9]+: 83 28 01 subl \$0x1,\(%rax\) +diff -rupN binutils.orig/gas/testsuite/gas/i386/notrack.s binutils-2.41/gas/testsuite/gas/i386/notrack.s +--- binutils.orig/gas/testsuite/gas/i386/notrack.s 2024-01-18 12:12:23.784946059 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/notrack.s 2024-01-18 13:32:46.355889333 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit NOTRACK prefix + +- .allow_index_reg + .text + _start: + notrack call *%eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/notrackbad.l binutils-2.41/gas/testsuite/gas/i386/notrackbad.l +--- binutils.orig/gas/testsuite/gas/i386/notrackbad.l 2024-01-18 12:12:23.784946059 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/notrackbad.l 2024-01-18 13:32:46.355889333 +0000 +@@ -1,31 +1,30 @@ + .*: Assembler messages: ++.*:5: Error: expecting indirect branch instruction after `notrack' ++.*:5: Warning: skipping prefixes on `call' + .*:6: Error: expecting indirect branch instruction after `notrack' +-.*:6: Warning: skipping prefixes on `call' +-.*:7: Error: expecting indirect branch instruction after `notrack' ++.*:8: Error: same type of prefix used twice + .*:9: Error: same type of prefix used twice +-.*:10: Error: same type of prefix used twice ++.*:12: Error: same type of prefix used twice + .*:13: Error: same type of prefix used twice +-.*:14: Error: same type of prefix used twice + GAS LISTING .* + + + [ ]*1[ ]+\# Check 32bit unsupported NOTRACK prefix + [ ]*2[ ]+ +-[ ]*3[ ]+\.allow_index_reg +-[ ]*4[ ]+\.text +-[ ]*5[ ]+_start: +-[ ]*6[ ]+\?\?\?\? [0-9A-F]* notrack call foo ++[ ]*3[ ]+\.text ++[ ]*4[ ]+_start: ++[ ]*5[ ]+\?\?\?\? [0-9A-F]* notrack call foo + \*\*\*\* Error: expecting indirect branch instruction after `notrack' + \*\*\*\* Warning: skipping prefixes on `call' +-[ ]*6[ ]+[0-9A-F]* +-[ ]*7[ ]+\?\?\?\? [0-9A-F]* notrack jmp foo ++[ ]*5[ ]+[0-9A-F]* ++[ ]*6[ ]+\?\?\?\? [0-9A-F]* notrack jmp foo + \*\*\*\* Error: expecting indirect branch instruction after `notrack' +-[ ]*7[ ]+[0-9A-F]* +-[ ]*8[ ]+ +-[ ]*9[ ]+fs notrack call \*%eax +-[ ]*10[ ]+notrack fs call \*%eax +-[ ]*11[ ]+ +-[ ]*12[ ]+\.intel_syntax noprefix +-[ ]*13[ ]+fs notrack call eax +-[ ]*14[ ]+notrack fs call eax ++[ ]*6[ ]+[0-9A-F]* ++[ ]*7[ ]+ ++[ ]*8[ ]+fs notrack call \*%eax ++[ ]*9[ ]+notrack fs call \*%eax ++[ ]*10[ ]+ ++[ ]*11[ ]+\.intel_syntax noprefix ++[ ]*12[ ]+fs notrack call eax ++[ ]*13[ ]+notrack fs call eax + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/notrackbad.s binutils-2.41/gas/testsuite/gas/i386/notrackbad.s +--- binutils.orig/gas/testsuite/gas/i386/notrackbad.s 2024-01-18 12:12:23.784946059 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/notrackbad.s 2024-01-18 13:32:46.355889333 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit unsupported NOTRACK prefix + +- .allow_index_reg + .text + _start: + notrack call foo +diff -rupN binutils.orig/gas/testsuite/gas/i386/opcode-intel.d binutils-2.41/gas/testsuite/gas/i386/opcode-intel.d +--- binutils.orig/gas/testsuite/gas/i386/opcode-intel.d 2024-01-18 12:12:23.785946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/opcode-intel.d 2024-01-18 13:32:46.356889333 +0000 +@@ -102,7 +102,7 @@ Disassembly of section .text: + *[0-9a-f]+: 60[ ]+pusha + *[0-9a-f]+: 61[ ]+popa + *[0-9a-f]+: 62 90 90 90 90 90[ ]+bound[ ]+edx,(QWORD PTR )?\[eax-0x6f6f6f70\] +- *[0-9a-f]+: 63 90 90 90 90 90[ ]+arpl[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx ++ *[0-9a-f]+: 63 90 90 90 90 90[ ]+arpl[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],edx + *[0-9a-f]+: 68 90 90 90 90[ ]+push[ ]+0x90909090 + *[0-9a-f]+: 69 90 90 90 90 90 90 90 90 90[ ]+imul[ ]+edx,(DWORD PTR )?\[eax-0x6f6f6f70\],0x90909090 + *[0-9a-f]+: 6a 90[ ]+push[ ]+0xffffff90 +diff -rupN binutils.orig/gas/testsuite/gas/i386/opcode-suffix.d binutils-2.41/gas/testsuite/gas/i386/opcode-suffix.d +--- binutils.orig/gas/testsuite/gas/i386/opcode-suffix.d 2024-01-18 12:12:23.785946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/opcode-suffix.d 2024-01-18 13:32:46.356889333 +0000 +@@ -102,7 +102,7 @@ Disassembly of section .text: + *[0-9a-f]+: 60[ ]+pushal + *[0-9a-f]+: 61[ ]+popal + *[0-9a-f]+: 62 90 90 90 90 90[ ]+boundl %edx,-0x6f6f6f70\(%eax\) +- *[0-9a-f]+: 63 90 90 90 90 90[ ]+arpl[ ]+%dx,-0x6f6f6f70\(%eax\) ++ *[0-9a-f]+: 63 90 90 90 90 90[ ]+arpll[ ]+%edx,-0x6f6f6f70\(%eax\) + *[0-9a-f]+: 68 90 90 90 90[ ]+pushl[ ]+\$0x90909090 + *[0-9a-f]+: 69 90 90 90 90 90 90 90 90 90[ ]+imull[ ]+\$0x90909090,-0x6f6f6f70\(%eax\),%edx + *[0-9a-f]+: 6a 90[ ]+pushl[ ]+\$0xffffff90 +@@ -206,8 +206,8 @@ Disassembly of section .text: + *[0-9a-f]+: cd 90[ ]+int[ ]+\$0x90 + *[0-9a-f]+: ce[ ]+into + *[0-9a-f]+: cf[ ]+iretl +- *[0-9a-f]+: d0 90 90 90 90 90[ ]+rclb[ ]+-0x6f6f6f70\(%eax\) +- *[0-9a-f]+: d1 90 90 90 90 90[ ]+rcll[ ]+-0x6f6f6f70\(%eax\) ++ *[0-9a-f]+: d0 90 90 90 90 90[ ]+rclb[ ]+\$1,-0x6f6f6f70\(%eax\) ++ *[0-9a-f]+: d1 90 90 90 90 90[ ]+rcll[ ]+\$1,-0x6f6f6f70\(%eax\) + *[0-9a-f]+: d2 90 90 90 90 90[ ]+rclb[ ]+%cl,-0x6f6f6f70\(%eax\) + *[0-9a-f]+: d3 90 90 90 90 90[ ]+rcll[ ]+%cl,-0x6f6f6f70\(%eax\) + *[0-9a-f]+: d4 90[ ]+aam[ ]+\$0x90 +@@ -248,7 +248,7 @@ Disassembly of section .text: + *[0-9a-f]+: fc[ ]+cld + *[0-9a-f]+: fd[ ]+std + *[0-9a-f]+: ff 90 90 90 90 90[ ]+calll[ ]+\*-0x6f6f6f70\(%eax\) +- *[0-9a-f]+: 0f 00 90 90 90 90 90[ ]+lldt[ ]+-0x6f6f6f70\(%eax\) ++ *[0-9a-f]+: 0f 00 90 90 90 90 90[ ]+lldtw[ ]+-0x6f6f6f70\(%eax\) + *[0-9a-f]+: 0f 01 90 90 90 90 90[ ]+lgdtl[ ]+-0x6f6f6f70\(%eax\) + *[0-9a-f]+: 0f 02 90 90 90 90 90[ ]+larl[ ]+-0x6f6f6f70\(%eax\),%edx + *[0-9a-f]+: 0f 03 90 90 90 90 90[ ]+lsll[ ]+-0x6f6f6f70\(%eax\),%edx +@@ -523,7 +523,7 @@ Disassembly of section .text: + *[0-9a-f]+: 66 ca 90 90[ ]+lretw[ ]+\$0x9090 + *[0-9a-f]+: 66 cb[ ]+lretw + *[0-9a-f]+: 66 cf[ ]+iretw +- *[0-9a-f]+: 66 d1 90 90 90 90 90[ ]+rclw[ ]+-0x6f6f6f70\(%eax\) ++ *[0-9a-f]+: 66 d1 90 90 90 90 90[ ]+rclw[ ]+\$1,-0x6f6f6f70\(%eax\) + *[0-9a-f]+: 66 d3 90 90 90 90 90[ ]+rclw[ ]+%cl,-0x6f6f6f70\(%eax\) + *[0-9a-f]+: 66 e5 90[ ]+inw[ ]+\$0x90,%ax + *[0-9a-f]+: 66 e7 90[ ]+outw[ ]+%ax,\$0x90 +diff -rupN binutils.orig/gas/testsuite/gas/i386/opcode.d binutils-2.41/gas/testsuite/gas/i386/opcode.d +--- binutils.orig/gas/testsuite/gas/i386/opcode.d 2024-01-18 12:12:23.785946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/opcode.d 2024-01-18 13:32:46.356889333 +0000 +@@ -101,7 +101,7 @@ Disassembly of section .text: + 123: 60 [ ]*pusha + 124: 61 [ ]*popa + 125: 62 90 90 90 90 90 [ ]*bound %edx,-0x6f6f6f70\(%eax\) +- 12b: 63 90 90 90 90 90 [ ]*arpl %dx,-0x6f6f6f70\(%eax\) ++ 12b: 63 90 90 90 90 90 [ ]*arpl %edx,-0x6f6f6f70\(%eax\) + 131: 68 90 90 90 90 [ ]*push \$0x90909090 + 136: 69 90 90 90 90 90 90 90 90 90 [ ]*imul \$0x90909090,-0x6f6f6f70\(%eax\),%edx + 140: 6a 90 [ ]*push \$0xffffff90 +@@ -205,8 +205,8 @@ Disassembly of section .text: + 279: cd 90 [ ]*int \$0x90 + 27b: ce [ ]*into + 27c: cf [ ]*iret +- 27d: d0 90 90 90 90 90 [ ]*rclb -0x6f6f6f70\(%eax\) +- 283: d1 90 90 90 90 90 [ ]*rcll -0x6f6f6f70\(%eax\) ++ 27d: d0 90 90 90 90 90 [ ]*rclb \$1,-0x6f6f6f70\(%eax\) ++ 283: d1 90 90 90 90 90 [ ]*rcll \$1,-0x6f6f6f70\(%eax\) + 289: d2 90 90 90 90 90 [ ]*rclb %cl,-0x6f6f6f70\(%eax\) + 28f: d3 90 90 90 90 90 [ ]*rcll %cl,-0x6f6f6f70\(%eax\) + 295: d4 90 [ ]*aam \$0x90 +@@ -522,7 +522,7 @@ Disassembly of section .text: + 869: 66 ca 90 90 [ ]*lretw \$0x9090 + 86d: 66 cb [ ]*lretw + 86f: 66 cf [ ]*iretw +- 871: 66 d1 90 90 90 90 90 [ ]*rclw -0x6f6f6f70\(%eax\) ++ 871: 66 d1 90 90 90 90 90 [ ]*rclw \$1,-0x6f6f6f70\(%eax\) + 878: 66 d3 90 90 90 90 90 [ ]*rclw %cl,-0x6f6f6f70\(%eax\) + 87f: 66 e5 90 [ ]*in \$0x90,%ax + 882: 66 e7 90 [ ]*out %ax,\$0x90 +@@ -610,8 +610,8 @@ Disassembly of section .text: + +[a-f0-9]+: f7 c9 04 00 00 00 test \$(0x)?0*4,%ecx + +[a-f0-9]+: c0 f0 02 shl \$0x2,%al + +[a-f0-9]+: c1 f0 01 shl \$0x1,%eax +- +[a-f0-9]+: d0 f0 shl %al +- +[a-f0-9]+: d1 f0 shl %eax ++ +[a-f0-9]+: d0 f0 shl \$1,%al ++ +[a-f0-9]+: d1 f0 shl \$1,%eax + +[a-f0-9]+: d2 f0 shl %cl,%al + +[a-f0-9]+: d3 f0 shl %cl,%eax + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-1.d binutils-2.41/gas/testsuite/gas/i386/optimize-1.d +--- binutils.orig/gas/testsuite/gas/i386/optimize-1.d 2024-01-18 12:12:23.785946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-1.d 2024-01-18 13:32:46.356889333 +0000 +@@ -147,6 +147,21 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq 0x80\(%eax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxord 0x80\(%eax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxorq 0x80\(%eax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 0f ba e0 0f bt \$0xf,%eax + +[a-f0-9]+: 66 0f ba e0 10 bt \$0x10,%ax + +[a-f0-9]+: 0f ba f8 0f btc \$0xf,%eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-1.s binutils-2.41/gas/testsuite/gas/i386/optimize-1.s +--- binutils.orig/gas/testsuite/gas/i386/optimize-1.s 2024-01-18 12:12:23.785946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-1.s 2024-01-18 13:32:46.356889333 +0000 +@@ -1,6 +1,5 @@ + # Check instructions with optimized encoding + +- .allow_index_reg + .text + _start: + vandnpd %zmm1, %zmm1, %zmm5{%k7} +@@ -171,6 +170,25 @@ _start: + vpxord 128(%eax), %ymm2, %ymm3 + vpxorq 128(%eax), %ymm2, %ymm3 + ++ pcmpgtb %mm2, %mm2 ++ pcmpgtb %xmm2, %xmm2 ++ vpcmpgtb %xmm2, %xmm2, %xmm0 ++ vpcmpgtb %ymm2, %ymm2, %ymm0 ++ ++ pcmpgtw %mm2, %mm2 ++ pcmpgtw %xmm2, %xmm2 ++ vpcmpgtw %xmm2, %xmm2, %xmm0 ++ vpcmpgtw %ymm2, %ymm2, %ymm0 ++ ++ pcmpgtd %mm2, %mm2 ++ pcmpgtd %xmm2, %xmm2 ++ vpcmpgtd %xmm2, %xmm2, %xmm0 ++ vpcmpgtd %ymm2, %ymm2, %ymm0 ++ ++ pcmpgtq %xmm2, %xmm2 ++ vpcmpgtq %xmm2, %xmm2, %xmm0 ++ vpcmpgtq %ymm2, %ymm2, %ymm0 ++ + bt $15, %ax + bt $16, %ax + btc $15, %ax +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-1a.d binutils-2.41/gas/testsuite/gas/i386/optimize-1a.d +--- binutils.orig/gas/testsuite/gas/i386/optimize-1a.d 2024-01-18 12:12:23.785946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-1a.d 2024-01-18 13:32:46.356889333 +0000 +@@ -148,6 +148,21 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq 0x80\(%eax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxord 0x80\(%eax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxorq 0x80\(%eax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 0f ba e0 0f bt \$0xf,%eax + +[a-f0-9]+: 66 0f ba e0 10 bt \$0x10,%ax + +[a-f0-9]+: 0f ba f8 0f btc \$0xf,%eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-2.d binutils-2.41/gas/testsuite/gas/i386/optimize-2.d +--- binutils.orig/gas/testsuite/gas/i386/optimize-2.d 2024-01-18 12:12:23.785946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-2.d 2024-01-18 13:32:46.356889333 +0000 +@@ -161,4 +161,8 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq \(%eax\)\{1to2\},%xmm2,%xmm3 + +[a-f0-9]+: 62 .* vpxord \(%eax\)\{1to4\},%xmm2,%xmm3 + +[a-f0-9]+: 62 .* vpxorq \(%eax\)\{1to4\},%ymm2,%ymm3 ++ +[a-f0-9]+: 66 .* pcmpeqd %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpcmpeqd %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpcmpeqd %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: c5 .* vpunpcklqdq %xmm2,%xmm2,%xmm0 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-2.s binutils-2.41/gas/testsuite/gas/i386/optimize-2.s +--- binutils.orig/gas/testsuite/gas/i386/optimize-2.s 2024-01-18 12:12:23.785946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-2.s 2024-01-18 13:32:46.356889333 +0000 +@@ -1,6 +1,5 @@ + # Check instructions with optimized encoding + +- .allow_index_reg + .text + _start: + testl $0x7f, %eax +@@ -180,3 +179,9 @@ _start: + vporq (%eax){1to2}, %xmm2, %xmm3 + vpxord (%eax){1to4}, %xmm2, %xmm3 + vpxorq (%eax){1to4}, %ymm2, %ymm3 ++ ++ pcmpeqq %xmm2, %xmm2 ++ vpcmpeqq %xmm2, %xmm2, %xmm0 ++ vpcmpeqq %ymm2, %ymm2, %ymm0 ++ ++ vpbroadcastq %xmm2, %xmm0 +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-2b.d binutils-2.41/gas/testsuite/gas/i386/optimize-2b.d +--- binutils.orig/gas/testsuite/gas/i386/optimize-2b.d 2024-01-18 12:12:23.785946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-2b.d 2024-01-18 13:32:46.356889333 +0000 +@@ -162,4 +162,8 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq \(%eax\)\{1to2\},%xmm2,%xmm3 + +[a-f0-9]+: 62 .* vpxord \(%eax\)\{1to4\},%xmm2,%xmm3 + +[a-f0-9]+: 62 .* vpxorq \(%eax\)\{1to4\},%ymm2,%ymm3 ++ +[a-f0-9]+: 66 .* pcmpeqq %xmm2,%xmm2 ++ +[a-f0-9]+: c4 .* vpcmpeqq %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c4 .* vpcmpeqq %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: c4 .* vpbroadcastq %xmm2,%xmm0 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-3.s binutils-2.41/gas/testsuite/gas/i386/optimize-3.s +--- binutils.orig/gas/testsuite/gas/i386/optimize-3.s 2024-01-18 12:12:23.785946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-3.s 2024-01-18 13:32:46.356889333 +0000 +@@ -1,6 +1,5 @@ + # Check instructions with optimized encoding + +- .allow_index_reg + .text + _start: + {nooptimize} testl $0x7f, %eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-4.d binutils-2.41/gas/testsuite/gas/i386/optimize-4.d +--- binutils.orig/gas/testsuite/gas/i386/optimize-4.d 2024-01-18 12:12:23.786946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-4.d 2024-01-18 13:32:46.356889333 +0000 +@@ -147,6 +147,21 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq 0x80\(%eax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxord 0x80\(%eax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxorq 0x80\(%eax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 0f ba e0 0f bt \$0xf,%eax + +[a-f0-9]+: 66 0f ba e0 10 bt \$0x10,%ax + +[a-f0-9]+: 0f ba f8 0f btc \$0xf,%eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-5.d binutils-2.41/gas/testsuite/gas/i386/optimize-5.d +--- binutils.orig/gas/testsuite/gas/i386/optimize-5.d 2024-01-18 12:12:23.786946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-5.d 2024-01-18 13:32:46.356889333 +0000 +@@ -147,6 +147,21 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq 0x80\(%eax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxord 0x80\(%eax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxorq 0x80\(%eax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 0f ba e0 0f bt \$0xf,%eax + +[a-f0-9]+: 66 0f ba e0 10 bt \$0x10,%ax + +[a-f0-9]+: 0f ba f8 0f btc \$0xf,%eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-6.s binutils-2.41/gas/testsuite/gas/i386/optimize-6.s +--- binutils.orig/gas/testsuite/gas/i386/optimize-6.s 2024-01-18 12:12:23.786946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-6.s 2024-01-18 13:32:46.356889333 +0000 +@@ -1,6 +1,5 @@ + # Check instructions with optimized encoding + +- .allow_index_reg + .text + _start: + vandnpd %zmm1, %zmm1, %zmm5{%k7} +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-6a.l binutils-2.41/gas/testsuite/gas/i386/optimize-6a.l +--- binutils.orig/gas/testsuite/gas/i386/optimize-6a.l 2024-01-18 12:12:23.786946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-6a.l 2024-01-18 13:32:46.356889333 +0000 +@@ -1,32 +1,32 @@ + .*: Assembler messages: ++.*:5: Error: .* + .*:6: Error: .* +-.*:7: Error: .* ++.*:8: Error: .* + .*:9: Error: .* +-.*:10: Error: .* ++.*:11: Error: .* + .*:12: Error: .* +-.*:13: Error: .* ++.*:14: Error: .* + .*:15: Error: .* +-.*:16: Error: .* ++.*:17: Error: .* + .*:18: Error: .* +-.*:19: Error: .* ++.*:20: Error: .* + .*:21: Error: .* +-.*:22: Error: .* ++.*:23: Error: .* + .*:24: Error: .* +-.*:25: Error: .* ++.*:26: Error: .* + .*:27: Error: .* +-.*:28: Error: .* ++.*:29: Error: .* + .*:30: Error: .* +-.*:31: Error: .* ++.*:32: Error: .* + .*:33: Error: .* +-.*:34: Error: .* ++.*:35: Error: .* + .*:36: Error: .* +-.*:37: Error: .* ++.*:38: Error: .* + .*:39: Error: .* +-.*:40: Error: .* ++.*:41: Error: .* + .*:42: Error: .* +-.*:43: Error: .* ++.*:44: Error: .* + .*:45: Error: .* +-.*:46: Error: .* + GAS LISTING .* + + +@@ -35,48 +35,47 @@ GAS LISTING .* + [ ]*3[ ]+\.include "optimize-6\.s" + [ ]*1[ ]+\# Check instructions with optimized encoding + [ ]*2[ ]+ +-[ ]*3[ ]+\.allow_index_reg +-[ ]*4[ ]+\.text +-[ ]*5[ ]+_start: +-[ ]*6[ ]+vandnpd %zmm1, %zmm1, %zmm5\{%k7\} +-[ ]*7[ ]+vandnpd %zmm1, %zmm1, %zmm5 +-[ ]*8[ ]+ +-[ ]*9[ ]+vandnps %zmm1, %zmm1, %zmm5\{%k7\} +-[ ]*10[ ]+vandnps %zmm1, %zmm1, %zmm5 +-[ ]*11[ ]+ +-[ ]*12[ ]+vpandnd %zmm1, %zmm1, %zmm5\{%k7\} +-[ ]*13[ ]+vpandnd %zmm1, %zmm1, %zmm5 +-[ ]*14[ ]+ +-[ ]*15[ ]+vpandnq %zmm1, %zmm1, %zmm5\{%k7\} +-[ ]*16[ ]+vpandnq %zmm1, %zmm1, %zmm5 +-[ ]*17[ ]+ +-[ ]*18[ ]+vxorpd %zmm1, %zmm1, %zmm5\{%k7\} +-[ ]*19[ ]+vxorpd %zmm1, %zmm1, %zmm5 +-[ ]*20[ ]+ +-[ ]*21[ ]+vxorps %zmm1, %zmm1, %zmm5\{%k7\} +-[ ]*22[ ]+vxorps %zmm1, %zmm1, %zmm5 +-[ ]*23[ ]+ +-[ ]*24[ ]+vpxord %zmm1, %zmm1, %zmm5\{%k7\} +-[ ]*25[ ]+vpxord %zmm1, %zmm1, %zmm5 +-[ ]*26[ ]+ +-[ ]*27[ ]+vpxorq %zmm1, %zmm1, %zmm5\{%k7\} +-[ ]*28[ ]+vpxorq %zmm1, %zmm1, %zmm5 +-[ ]*29[ ]+ +-[ ]*30[ ]+vpsubb %zmm1, %zmm1, %zmm5\{%k7\} +-[ ]*31[ ]+vpsubb %zmm1, %zmm1, %zmm5 +-[ ]*32[ ]+ +-[ ]*33[ ]+vpsubw %zmm1, %zmm1, %zmm5\{%k7\} +-[ ]*34[ ]+vpsubw %zmm1, %zmm1, %zmm5 +-[ ]*35[ ]+ +-[ ]*36[ ]+vpsubd %zmm1, %zmm1, %zmm5\{%k7\} +-[ ]*37[ ]+vpsubd %zmm1, %zmm1, %zmm5 +-[ ]*38[ ]+ +-[ ]*39[ ]+vpsubq %zmm1, %zmm1, %zmm5\{%k7\} +-[ ]*40[ ]+vpsubq %zmm1, %zmm1, %zmm5 +-[ ]*41[ ]+ +-[ ]*42[ ]+kxord %k1, %k1, %k5 +-[ ]*43[ ]+kxorq %k1, %k1, %k5 +-[ ]*44[ ]+ +-[ ]*45[ ]+kandnd %k1, %k1, %k5 +-[ ]*46[ ]+kandnq %k1, %k1, %k5 ++[ ]*3[ ]+\.text ++[ ]*4[ ]+_start: ++[ ]*5[ ]+vandnpd %zmm1, %zmm1, %zmm5\{%k7\} ++[ ]*6[ ]+vandnpd %zmm1, %zmm1, %zmm5 ++[ ]*7[ ]+ ++[ ]*8[ ]+vandnps %zmm1, %zmm1, %zmm5\{%k7\} ++[ ]*9[ ]+vandnps %zmm1, %zmm1, %zmm5 ++[ ]*10[ ]+ ++[ ]*11[ ]+vpandnd %zmm1, %zmm1, %zmm5\{%k7\} ++[ ]*12[ ]+vpandnd %zmm1, %zmm1, %zmm5 ++[ ]*13[ ]+ ++[ ]*14[ ]+vpandnq %zmm1, %zmm1, %zmm5\{%k7\} ++[ ]*15[ ]+vpandnq %zmm1, %zmm1, %zmm5 ++[ ]*16[ ]+ ++[ ]*17[ ]+vxorpd %zmm1, %zmm1, %zmm5\{%k7\} ++[ ]*18[ ]+vxorpd %zmm1, %zmm1, %zmm5 ++[ ]*19[ ]+ ++[ ]*20[ ]+vxorps %zmm1, %zmm1, %zmm5\{%k7\} ++[ ]*21[ ]+vxorps %zmm1, %zmm1, %zmm5 ++[ ]*22[ ]+ ++[ ]*23[ ]+vpxord %zmm1, %zmm1, %zmm5\{%k7\} ++[ ]*24[ ]+vpxord %zmm1, %zmm1, %zmm5 ++[ ]*25[ ]+ ++[ ]*26[ ]+vpxorq %zmm1, %zmm1, %zmm5\{%k7\} ++[ ]*27[ ]+vpxorq %zmm1, %zmm1, %zmm5 ++[ ]*28[ ]+ ++[ ]*29[ ]+vpsubb %zmm1, %zmm1, %zmm5\{%k7\} ++[ ]*30[ ]+vpsubb %zmm1, %zmm1, %zmm5 ++[ ]*31[ ]+ ++[ ]*32[ ]+vpsubw %zmm1, %zmm1, %zmm5\{%k7\} ++[ ]*33[ ]+vpsubw %zmm1, %zmm1, %zmm5 ++[ ]*34[ ]+ ++[ ]*35[ ]+vpsubd %zmm1, %zmm1, %zmm5\{%k7\} ++[ ]*36[ ]+vpsubd %zmm1, %zmm1, %zmm5 ++[ ]*37[ ]+ ++[ ]*38[ ]+vpsubq %zmm1, %zmm1, %zmm5\{%k7\} ++[ ]*39[ ]+vpsubq %zmm1, %zmm1, %zmm5 ++[ ]*40[ ]+ ++[ ]*41[ ]+kxord %k1, %k1, %k5 ++[ ]*42[ ]+kxorq %k1, %k1, %k5 ++[ ]*43[ ]+ ++[ ]*44[ ]+kandnd %k1, %k1, %k5 ++[ ]*45[ ]+kandnq %k1, %k1, %k5 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-7.l binutils-2.41/gas/testsuite/gas/i386/optimize-7.l +--- binutils.orig/gas/testsuite/gas/i386/optimize-7.l 2024-01-18 12:12:23.786946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-7.l 2024-01-18 13:32:46.356889333 +0000 +@@ -1,12 +1,11 @@ + .*: Assembler messages: +-.*:6: Error: .* ++.*:5: Error: .* + GAS LISTING .* + + + [ ]*1[ ]+\# Check instructions with optimized encoding + [ ]*2[ ]+ +-[ ]*3[ ]+\.allow_index_reg +-[ ]*4[ ]+\.text +-[ ]*5[ ]+_start: +-[ ]*6[ ]+vmovdqa32 %ymm1, %ymm2 ++[ ]*3[ ]+\.text ++[ ]*4[ ]+_start: ++[ ]*5[ ]+vmovdqa32 %ymm1, %ymm2 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/optimize-7.s binutils-2.41/gas/testsuite/gas/i386/optimize-7.s +--- binutils.orig/gas/testsuite/gas/i386/optimize-7.s 2024-01-18 12:12:23.786946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/optimize-7.s 2024-01-18 13:32:46.356889333 +0000 +@@ -1,6 +1,5 @@ + # Check instructions with optimized encoding + +- .allow_index_reg + .text + _start: + vmovdqa32 %ymm1, %ymm2 +diff -rupN binutils.orig/gas/testsuite/gas/i386/opts.s binutils-2.41/gas/testsuite/gas/i386/opts.s +--- binutils.orig/gas/testsuite/gas/i386/opts.s 2024-01-18 12:12:23.786946060 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/opts.s 2024-01-18 13:32:46.357889334 +0000 +@@ -1,6 +1,5 @@ + # Check instructions with encoding options + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/pbndkb-inval.l binutils-2.41/gas/testsuite/gas/i386/pbndkb-inval.l +--- binutils.orig/gas/testsuite/gas/i386/pbndkb-inval.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/pbndkb-inval.l 2024-01-18 13:32:46.357889334 +0000 +@@ -0,0 +1,2 @@ ++.* Assembler messages: ++.*:5: Error: `pbndkb' is only supported in 64-bit mode +diff -rupN binutils.orig/gas/testsuite/gas/i386/pbndkb-inval.s binutils-2.41/gas/testsuite/gas/i386/pbndkb-inval.s +--- binutils.orig/gas/testsuite/gas/i386/pbndkb-inval.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/pbndkb-inval.s 2024-01-18 13:32:46.357889334 +0000 +@@ -0,0 +1,5 @@ ++# Check Illegal PBNDKB instructions ++ ++ .text ++_start: ++ pbndkb #PBNDKB +diff -rupN binutils.orig/gas/testsuite/gas/i386/pr27198.d binutils-2.41/gas/testsuite/gas/i386/pr27198.d +--- binutils.orig/gas/testsuite/gas/i386/pr27198.d 2024-01-18 12:12:23.787946061 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/pr27198.d 2024-01-18 13:32:46.357889334 +0000 +@@ -1,2 +1 @@ +-#as: + #error_output: pr27198.err +diff -rupN binutils.orig/gas/testsuite/gas/i386/pr30248.d binutils-2.41/gas/testsuite/gas/i386/pr30248.d +--- binutils.orig/gas/testsuite/gas/i386/pr30248.d 2024-01-18 12:12:23.787946061 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/pr30248.d 2024-01-18 13:32:46.357889334 +0000 +@@ -1,2 +1 @@ +-#as: + #error_output: pr30248.err +diff -rupN binutils.orig/gas/testsuite/gas/i386/prefetchwt1-intel.d binutils-2.41/gas/testsuite/gas/i386/prefetchwt1-intel.d +--- binutils.orig/gas/testsuite/gas/i386/prefetchwt1-intel.d 2024-01-18 12:12:23.787946061 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/prefetchwt1-intel.d 2024-01-18 13:32:46.357889334 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: i386 PREFETCHWT1 insns (Intel disassembly) + #source: prefetchwt1.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/prefetchwt1.d binutils-2.41/gas/testsuite/gas/i386/prefetchwt1.d +--- binutils.orig/gas/testsuite/gas/i386/prefetchwt1.d 2024-01-18 12:12:23.787946061 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/prefetchwt1.d 2024-01-18 13:32:46.357889334 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 PREFETCHWT1 insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/prefetchwt1.s binutils-2.41/gas/testsuite/gas/i386/prefetchwt1.s +--- binutils.orig/gas/testsuite/gas/i386/prefetchwt1.s 2024-01-18 12:12:23.787946061 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/prefetchwt1.s 2024-01-18 13:32:46.357889334 +0000 +@@ -1,6 +1,5 @@ +-# Check 32bit AVX512PF instructions ++# Check 32bit PREFETCHWT1 instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/prefix32.l binutils-2.41/gas/testsuite/gas/i386/prefix32.l +--- binutils.orig/gas/testsuite/gas/i386/prefix32.l 2024-01-18 12:12:23.787946061 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/prefix32.l 2024-01-18 13:32:46.357889334 +0000 +@@ -10,6 +10,13 @@ + .*:20: Error: data size .* `vaddps' + .*:21: Error: data size .* `vaddpd' + .*:25: Error: same type of prefix .* ++.*:31: Error: `xacquire' is not supported on `i386' ++.*:32: Error: `notrack' is not supported on `i386' ++.*:33: Error: `bnd' is not supported on `i386' ++.*:38: Error: `gs' is not supported on `i286' ++.*:39: Error: `data32' is not supported on `i286' ++.*:40: Error: `addr32' is not supported on `i286' ++.*:41: Error: .*disp32.* is not supported on `i286' + GAS LISTING .* + #... + [ ]*1[ ]+\.text +@@ -40,4 +47,18 @@ GAS LISTING .* + [ ]*26[ ]+\?\?\?\? 3E8B4500[ ]+ds mov %ss:\(%ebp\), %eax + [ ]*27[ ]+\?\?\?\? 3E8B4500[ ]+ds mov %ds:\(%ebp\), %eax + [ ]*28[ ]* ++[ ]*[0-9]+[ ]+\.L386: ++[ ]*[0-9]+[ ]+\.arch i386 ++[ ]*[0-9]+[ ]+xacquire lock add \[esi\], eax ++[ ]*[0-9]+[ ]+notrack call eax ++[ ]*[0-9]+[ ]+bnd call eax ++[ ]*[0-9]+[ ]* ++[ ]*[0-9]+[ ]+\.L286: ++[ ]*[0-9]+[ ]+\.code16 ++[ ]*[0-9]+[ ]+\.arch i286 ++[ ]*[0-9]+[ ]+gs inc word ptr \[si\] ++[ ]*[0-9]+[ ]+data32 nop ++[ ]*[0-9]+[ ]+addr32 nop ++[ ]*[0-9]+[ ]+\{disp32\} nop ++[ ]*[0-9]+[ ]* + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/prefix32.s binutils-2.41/gas/testsuite/gas/i386/prefix32.s +--- binutils.orig/gas/testsuite/gas/i386/prefix32.s 2024-01-18 12:12:23.787946061 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/prefix32.s 2024-01-18 13:32:46.357889334 +0000 +@@ -26,4 +26,18 @@ prefix: + ds mov %ss:(%ebp), %eax + ds mov %ds:(%ebp), %eax + ++.L386: ++ .arch i386 ++ xacquire lock add [esi], eax ++ notrack call eax ++ bnd call eax ++ ++.L286: ++ .code16 ++ .arch i286 ++ gs inc word ptr [si] ++ data32 nop ++ addr32 nop ++ {disp32} nop ++ + .p2align 4,0 +diff -rupN binutils.orig/gas/testsuite/gas/i386/prefix64.l binutils-2.41/gas/testsuite/gas/i386/prefix64.l +--- binutils.orig/gas/testsuite/gas/i386/prefix64.l 2024-01-18 12:12:23.787946061 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/prefix64.l 2024-01-18 13:32:46.357889334 +0000 +@@ -3,12 +3,13 @@ + .*:7: Error: invalid .* `addss' after `repne' + .*:8: Error: invalid .* `vaddss' after `repe' + .*:9: Error: invalid .* `vaddss' after `repne' +-.*:14: Error: same type of prefix .* +-.*:15: Error: same type of prefix .* +-.*:18: Error: data size .* `addps' +-.*:19: Error: data size .* `addpd' +-.*:20: Error: data size .* `vaddps' +-.*:21: Error: data size .* `vaddpd' ++.*:11: Error: .*disp16.* is not supported .* ++.*:16: Error: same type of prefix .* ++.*:17: Error: same type of prefix .* ++.*:20: Error: data size .* `addps' ++.*:21: Error: data size .* `addpd' ++.*:22: Error: data size .* `vaddps' ++.*:23: Error: data size .* `vaddpd' + GAS LISTING .* + #... + [ ]*1[ ]+\.text +@@ -21,16 +22,18 @@ GAS LISTING .* + [ ]*8[ ]+repe vaddss %xmm0, %xmm0, %xmm0 + [ ]*9[ ]+repne vaddss %xmm0, %xmm0, %xmm0 + [ ]*10[ ]* +-[ ]*11[ ]+\.Lrep_ret: +-[ ]*12[ ]+\?\?\?\? F2C3[ ]+bnd ret +-[ ]*13[ ]+\?\?\?\? F3C3[ ]+rep ret +-[ ]*14[ ]+bnd rep ret +-[ ]*15[ ]+rep bnd ret +-[ ]*16[ ]* +-[ ]*17[ ]+\.Ldata16: +-[ ]*18[ ]+data16 addps %xmm0, %xmm0 +-[ ]*19[ ]+data16 addpd %xmm0, %xmm0 +-[ ]*20[ ]+data16 vaddps %xmm0, %xmm0, %xmm0 +-[ ]*21[ ]+data16 vaddpd %xmm0, %xmm0, %xmm0 +-[ ]*22[ ]* ++[ ]*[0-9]+[ ]+\{disp16\} nop ++[ ]*[0-9]+[ ]* ++[ ]*[0-9]+[ ]+\.Lrep_ret: ++[ ]*[0-9]+[ ]+\?\?\?\? F2C3[ ]+bnd ret ++[ ]*[0-9]+[ ]+\?\?\?\? F3C3[ ]+rep ret ++[ ]*[0-9]+[ ]+bnd rep ret ++[ ]*[0-9]+[ ]+rep bnd ret ++[ ]*[0-9]+[ ]* ++[ ]*[0-9]+[ ]+\.Ldata16: ++[ ]*[0-9]+[ ]+data16 addps %xmm0, %xmm0 ++[ ]*[0-9]+[ ]+data16 addpd %xmm0, %xmm0 ++[ ]*[0-9]+[ ]+data16 vaddps %xmm0, %xmm0, %xmm0 ++[ ]*[0-9]+[ ]+data16 vaddpd %xmm0, %xmm0, %xmm0 ++[ ]*[0-9]+[ ]* + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/prefix64.s binutils-2.41/gas/testsuite/gas/i386/prefix64.s +--- binutils.orig/gas/testsuite/gas/i386/prefix64.s 2024-01-18 12:12:23.787946061 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/prefix64.s 2024-01-18 13:32:46.357889334 +0000 +@@ -8,6 +8,8 @@ prefix: + repe vaddss %xmm0, %xmm0, %xmm0 + repne vaddss %xmm0, %xmm0, %xmm0 + ++ {disp16} nop ++ + .Lrep_ret: + bnd ret + rep ret +diff -rupN binutils.orig/gas/testsuite/gas/i386/ptwrite-intel.d binutils-2.41/gas/testsuite/gas/i386/ptwrite-intel.d +--- binutils.orig/gas/testsuite/gas/i386/ptwrite-intel.d 2024-01-18 12:12:23.788946062 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ptwrite-intel.d 2024-01-18 13:32:46.358889335 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 PTWRITE insns (Intel disassembly) + #source: ptwrite.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/ptwrite.d binutils-2.41/gas/testsuite/gas/i386/ptwrite.d +--- binutils.orig/gas/testsuite/gas/i386/ptwrite.d 2024-01-18 12:12:23.789946062 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ptwrite.d 2024-01-18 13:32:46.358889335 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 PTWRITE insns + #source: ptwrite.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/raoint-intel.d binutils-2.41/gas/testsuite/gas/i386/raoint-intel.d +--- binutils.orig/gas/testsuite/gas/i386/raoint-intel.d 2024-01-18 12:12:23.789946062 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/raoint-intel.d 2024-01-18 13:32:46.358889335 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 RAO_INT insns (Intel disassembly) + #source: raoint.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/raoint.d binutils-2.41/gas/testsuite/gas/i386/raoint.d +--- binutils.orig/gas/testsuite/gas/i386/raoint.d 2024-01-18 12:12:23.789946062 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/raoint.d 2024-01-18 13:32:46.358889335 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 RAO_INT insns + #source: raoint.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/raoint.s binutils-2.41/gas/testsuite/gas/i386/raoint.s +--- binutils.orig/gas/testsuite/gas/i386/raoint.s 2024-01-18 12:12:23.789946062 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/raoint.s 2024-01-18 13:32:46.358889335 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit RAO-INT instructions + +- .allow_index_reg + .text + _start: + aadd %edx, (%eax) #RAO-INT +diff -rupN binutils.orig/gas/testsuite/gas/i386/rex-bad.l binutils-2.41/gas/testsuite/gas/i386/rex-bad.l +--- binutils.orig/gas/testsuite/gas/i386/rex-bad.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/rex-bad.l 2024-01-18 13:32:46.359889335 +0000 +@@ -0,0 +1,10 @@ ++.*: Assembler messages: ++.*:4: Error: same .* ++.*:5: Error: same .* ++.*:6: Error: same .* ++.*:7: Error: same .* ++.*:9: Error: .* REX/REX2 .* ++.*:10: Error: .* REX/REX2 .* ++.*:12: Error: .* REX/REX2 .* ++.*:13: Error: .* REX/REX2 .* ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/rex-bad.s binutils-2.41/gas/testsuite/gas/i386/rex-bad.s +--- binutils.orig/gas/testsuite/gas/i386/rex-bad.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/rex-bad.s 2024-01-18 13:32:46.359889335 +0000 +@@ -0,0 +1,13 @@ ++ .text ++ ++_start: ++ rex.w add (%rax,%rax), %rax ++ rex.r add (%rax,%rax), %r8 ++ rex.b add (%r8,%rax), %eax ++ rex.x add (%rax,%r8), %eax ++ ++ rex mov %al, %ch ++ rex mov %ah, %cl ++ ++ .insn rex 0x88, %al, %ch ++ .insn rex 0x88, %ah, %cl +diff -rupN binutils.orig/gas/testsuite/gas/i386/serialize.d binutils-2.41/gas/testsuite/gas/i386/serialize.d +--- binutils.orig/gas/testsuite/gas/i386/serialize.d 2024-01-18 12:12:23.790946063 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/serialize.d 2024-01-18 13:32:46.359889335 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: SERIALIZE insns + #source: serialize.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/sha.s binutils-2.41/gas/testsuite/gas/i386/sha.s +--- binutils.orig/gas/testsuite/gas/i386/sha.s 2024-01-18 12:12:23.791946064 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/sha.s 2024-01-18 13:32:46.359889335 +0000 +@@ -1,6 +1,5 @@ + # Check SHA instructions + +- .allow_index_reg + .text + _start: + sha1rnds4 $9, %xmm2, %xmm1 +diff -rupN binutils.orig/gas/testsuite/gas/i386/sha512-intel.d binutils-2.41/gas/testsuite/gas/i386/sha512-intel.d +--- binutils.orig/gas/testsuite/gas/i386/sha512-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/sha512-intel.d 2024-01-18 13:32:46.359889335 +0000 +@@ -0,0 +1,16 @@ ++#objdump: -dw -Mintel ++#name: i386 SHA512 insns (Intel disassembly) ++#source: sha512.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 e2 7f cc f5\s+vsha512msg1 ymm6,xmm5 ++\s*[a-f0-9]+:\s*c4 e2 7f cd f5\s+vsha512msg2 ymm6,ymm5 ++\s*[a-f0-9]+:\s*c4 e2 57 cb f4\s+vsha512rnds2 ymm6,ymm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 7f cc f5\s+vsha512msg1 ymm6,xmm5 ++\s*[a-f0-9]+:\s*c4 e2 7f cd f5\s+vsha512msg2 ymm6,ymm5 ++\s*[a-f0-9]+:\s*c4 e2 57 cb f4\s+vsha512rnds2 ymm6,ymm5,xmm4 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/sha512-inval.l binutils-2.41/gas/testsuite/gas/i386/sha512-inval.l +--- binutils.orig/gas/testsuite/gas/i386/sha512-inval.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/sha512-inval.l 2024-01-18 13:32:46.359889335 +0000 +@@ -0,0 +1,4 @@ ++.* Assembler messages: ++.*:5: Error: operand .* mismatch for `vsha512msg1' ++.*:6: Error: operand .* mismatch for `vsha512msg2' ++.*:7: Error: operand .* mismatch for `vsha512rnds2' +diff -rupN binutils.orig/gas/testsuite/gas/i386/sha512-inval.s binutils-2.41/gas/testsuite/gas/i386/sha512-inval.s +--- binutils.orig/gas/testsuite/gas/i386/sha512-inval.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/sha512-inval.s 2024-01-18 13:32:46.359889335 +0000 +@@ -0,0 +1,7 @@ ++# Check Illegal SHA512 instructions ++ ++ .text ++_start: ++ vsha512msg1 (%ecx), %ymm6 ++ vsha512msg2 (%ecx), %ymm6 ++ vsha512rnds2 (%ecx), %ymm5, %ymm6 +diff -rupN binutils.orig/gas/testsuite/gas/i386/sha512.d binutils-2.41/gas/testsuite/gas/i386/sha512.d +--- binutils.orig/gas/testsuite/gas/i386/sha512.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/sha512.d 2024-01-18 13:32:46.359889335 +0000 +@@ -0,0 +1,16 @@ ++#objdump: -dw ++#name: i386 SHA512 insns ++#source: sha512.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 e2 7f cc f5\s+vsha512msg1 %xmm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 7f cd f5\s+vsha512msg2 %ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 57 cb f4\s+vsha512rnds2 %xmm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 7f cc f5\s+vsha512msg1 %xmm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 7f cd f5\s+vsha512msg2 %ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 57 cb f4\s+vsha512rnds2 %xmm4,%ymm5,%ymm6 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/sha512.s binutils-2.41/gas/testsuite/gas/i386/sha512.s +--- binutils.orig/gas/testsuite/gas/i386/sha512.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/sha512.s 2024-01-18 13:32:46.359889335 +0000 +@@ -0,0 +1,12 @@ ++# Check 32bit SHA512 instructions ++ ++ .text ++_start: ++ vsha512msg1 %xmm5, %ymm6 #SHA512 ++ vsha512msg2 %ymm5, %ymm6 #SHA512 ++ vsha512rnds2 %xmm4, %ymm5, %ymm6 #SHA512 ++ ++ .intel_syntax noprefix ++ vsha512msg1 ymm6, xmm5 #SHA512 ++ vsha512msg2 ymm6, ymm5 #SHA512 ++ vsha512rnds2 ymm6, ymm5, xmm4 #SHA512 +diff -rupN binutils.orig/gas/testsuite/gas/i386/sm3-intel.d binutils-2.41/gas/testsuite/gas/i386/sm3-intel.d +--- binutils.orig/gas/testsuite/gas/i386/sm3-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/sm3-intel.d 2024-01-18 13:32:46.360889336 +0000 +@@ -0,0 +1,28 @@ ++#objdump: -dw -Mintel ++#name: i386 SM3 insns (Intel disassembly) ++#source: sm3.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 e2 50 da f4\s+vsm3msg1 xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 50 da b4 f4 00 00 00 10\s+vsm3msg1 xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 50 da 31\s+vsm3msg1 xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 51 da f4\s+vsm3msg2 xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 51 da b4 f4 00 00 00 10\s+vsm3msg2 xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 51 da 31\s+vsm3msg2 xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e3 51 de f4 7b\s+vsm3rnds2 xmm6,xmm5,xmm4,0x7b ++\s*[a-f0-9]+:\s*c4 e3 51 de b4 f4 00 00 00 10 7b\s+vsm3rnds2 xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b ++\s*[a-f0-9]+:\s*c4 e3 51 de 31 7b\s+vsm3rnds2 xmm6,xmm5,XMMWORD PTR \[ecx\],0x7b ++\s*[a-f0-9]+:\s*c4 e2 50 da f4\s+vsm3msg1 xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 50 da b4 f4 00 00 00 10\s+vsm3msg1 xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 50 da 31\s+vsm3msg1 xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 51 da f4\s+vsm3msg2 xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 51 da b4 f4 00 00 00 10\s+vsm3msg2 xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 51 da 31\s+vsm3msg2 xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e3 51 de f4 7b\s+vsm3rnds2 xmm6,xmm5,xmm4,0x7b ++\s*[a-f0-9]+:\s*c4 e3 51 de b4 f4 00 00 00 10 7b\s+vsm3rnds2 xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b ++\s*[a-f0-9]+:\s*c4 e3 51 de 31 7b\s+vsm3rnds2 xmm6,xmm5,XMMWORD PTR \[ecx\],0x7b ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/sm3.d binutils-2.41/gas/testsuite/gas/i386/sm3.d +--- binutils.orig/gas/testsuite/gas/i386/sm3.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/sm3.d 2024-01-18 13:32:46.360889336 +0000 +@@ -0,0 +1,28 @@ ++#objdump: -dw ++#name: i386 SM3 insns ++#source: sm3.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 e2 50 da f4\s+vsm3msg1 %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 da b4 f4 00 00 00 10\s+vsm3msg1 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 da 31\s+vsm3msg1 \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 da f4\s+vsm3msg2 %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 da b4 f4 00 00 00 10\s+vsm3msg2 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 da 31\s+vsm3msg2 \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e3 51 de f4 7b\s+vsm3rnds2 \$0x7b,%xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e3 51 de b4 f4 00 00 00 10 7b\s+vsm3rnds2 \$0x7b,0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e3 51 de 31 7b\s+vsm3rnds2 \$0x7b,\(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 da f4\s+vsm3msg1 %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 da b4 f4 00 00 00 10\s+vsm3msg1 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 da 31\s+vsm3msg1 \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 da f4\s+vsm3msg2 %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 da b4 f4 00 00 00 10\s+vsm3msg2 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 da 31\s+vsm3msg2 \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e3 51 de f4 7b\s+vsm3rnds2 \$0x7b,%xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e3 51 de b4 f4 00 00 00 10 7b\s+vsm3rnds2 \$0x7b,0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e3 51 de 31 7b\s+vsm3rnds2 \$0x7b,\(%ecx\),%xmm5,%xmm6 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/sm3.s binutils-2.41/gas/testsuite/gas/i386/sm3.s +--- binutils.orig/gas/testsuite/gas/i386/sm3.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/sm3.s 2024-01-18 13:32:46.360889336 +0000 +@@ -0,0 +1,24 @@ ++# Check 32bit SM3 instructions ++ ++ .text ++_start: ++ vsm3msg1 %xmm4, %xmm5, %xmm6 #SM3 ++ vsm3msg1 0x10000000(%esp, %esi, 8), %xmm5, %xmm6 #SM3 ++ vsm3msg1 (%ecx), %xmm5, %xmm6 #SM3 ++ vsm3msg2 %xmm4, %xmm5, %xmm6 #SM3 ++ vsm3msg2 0x10000000(%esp, %esi, 8), %xmm5, %xmm6 #SM3 ++ vsm3msg2 (%ecx), %xmm5, %xmm6 #SM3 ++ vsm3rnds2 $123, %xmm4, %xmm5, %xmm6 #SM3 ++ vsm3rnds2 $123, 0x10000000(%esp, %esi, 8), %xmm5, %xmm6 #SM3 ++ vsm3rnds2 $123, (%ecx), %xmm5, %xmm6 #SM3 ++ ++ .intel_syntax noprefix ++ vsm3msg1 xmm6, xmm5, xmm4 #SM3 ++ vsm3msg1 xmm6, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] #SM3 ++ vsm3msg1 xmm6, xmm5, XMMWORD PTR [ecx] #SM3 ++ vsm3msg2 xmm6, xmm5, xmm4 #SM3 ++ vsm3msg2 xmm6, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] #SM3 ++ vsm3msg2 xmm6, xmm5, XMMWORD PTR [ecx] #SM3 ++ vsm3rnds2 xmm6, xmm5, xmm4, 123 #SM3 ++ vsm3rnds2 xmm6, xmm5, XMMWORD PTR [esp+esi*8+0x10000000], 123 #SM3 ++ vsm3rnds2 xmm6, xmm5, XMMWORD PTR [ecx], 123 #SM3 +diff -rupN binutils.orig/gas/testsuite/gas/i386/sm4-intel.d binutils-2.41/gas/testsuite/gas/i386/sm4-intel.d +--- binutils.orig/gas/testsuite/gas/i386/sm4-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/sm4-intel.d 2024-01-18 13:32:46.360889336 +0000 +@@ -0,0 +1,33 @@ ++#objdump: -dw -Mintel ++#name: i386 SM4 insns (Intel disassembly) ++#source: sm4.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 e2 56 da f4\s+vsm4key4 ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 52 da f4\s+vsm4key4 xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 56 da b4 f4 00 00 00 10\s+vsm4key4 ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 56 da 31\s+vsm4key4 ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 52 da b4 f4 00 00 00 10\s+vsm4key4 xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 52 da 31\s+vsm4key4 xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 57 da f4\s+vsm4rnds4 ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 53 da f4\s+vsm4rnds4 xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 57 da b4 f4 00 00 00 10\s+vsm4rnds4 ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 57 da 31\s+vsm4rnds4 ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 53 da b4 f4 00 00 00 10\s+vsm4rnds4 xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 53 da 31\s+vsm4rnds4 xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 56 da f4\s+vsm4key4 ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 52 da f4\s+vsm4key4 xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 56 da b4 f4 00 00 00 10\s+vsm4key4 ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 56 da 31\s+vsm4key4 ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 52 da b4 f4 00 00 00 10\s+vsm4key4 xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 52 da 31\s+vsm4key4 xmm6,xmm5,XMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 57 da f4\s+vsm4rnds4 ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 53 da f4\s+vsm4rnds4 xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 e2 57 da b4 f4 00 00 00 10\s+vsm4rnds4 ymm6,ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 57 da 31\s+vsm4rnds4 ymm6,ymm5,YMMWORD PTR \[ecx\] ++\s*[a-f0-9]+:\s*c4 e2 53 da b4 f4 00 00 00 10\s+vsm4rnds4 xmm6,xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 e2 53 da 31\s+vsm4rnds4 xmm6,xmm5,XMMWORD PTR \[ecx\] +diff -rupN binutils.orig/gas/testsuite/gas/i386/sm4.d binutils-2.41/gas/testsuite/gas/i386/sm4.d +--- binutils.orig/gas/testsuite/gas/i386/sm4.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/sm4.d 2024-01-18 13:32:46.360889336 +0000 +@@ -0,0 +1,33 @@ ++#objdump: -dw ++#name: i386 SM4 insns ++#source: sm4.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 e2 56 da f4\s+vsm4key4 %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 da f4\s+vsm4key4 %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 da b4 f4 00 00 00 10\s+vsm4key4 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 da 31\s+vsm4key4 \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 da b4 f4 00 00 00 10\s+vsm4key4 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 da 31\s+vsm4key4 \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 57 da f4\s+vsm4rnds4 %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 53 da f4\s+vsm4rnds4 %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 57 da b4 f4 00 00 00 10\s+vsm4rnds4 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 57 da 31\s+vsm4rnds4 \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 53 da b4 f4 00 00 00 10\s+vsm4rnds4 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 53 da 31\s+vsm4rnds4 \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 da f4\s+vsm4key4 %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 da f4\s+vsm4key4 %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 da b4 f4 00 00 00 10\s+vsm4key4 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 da 31\s+vsm4key4 \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 da b4 f4 00 00 00 10\s+vsm4key4 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 da 31\s+vsm4key4 \(%ecx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 57 da f4\s+vsm4rnds4 %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 53 da f4\s+vsm4rnds4 %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 57 da b4 f4 00 00 00 10\s+vsm4rnds4 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 57 da 31\s+vsm4rnds4 \(%ecx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 53 da b4 f4 00 00 00 10\s+vsm4rnds4 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 53 da 31\s+vsm4rnds4 \(%ecx\),%xmm5,%xmm6 +diff -rupN binutils.orig/gas/testsuite/gas/i386/sm4.s binutils-2.41/gas/testsuite/gas/i386/sm4.s +--- binutils.orig/gas/testsuite/gas/i386/sm4.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/sm4.s 2024-01-18 13:32:46.360889336 +0000 +@@ -0,0 +1,30 @@ ++# Check 32bit SM4 instructions ++ ++ .text ++_start: ++ vsm4key4 %ymm4, %ymm5, %ymm6 ++ vsm4key4 %xmm4, %xmm5, %xmm6 ++ vsm4key4 0x10000000(%esp, %esi, 8), %ymm5, %ymm6 ++ vsm4key4 (%ecx), %ymm5, %ymm6 ++ vsm4key4 0x10000000(%esp, %esi, 8), %xmm5, %xmm6 ++ vsm4key4 (%ecx), %xmm5, %xmm6 ++ vsm4rnds4 %ymm4, %ymm5, %ymm6 ++ vsm4rnds4 %xmm4, %xmm5, %xmm6 ++ vsm4rnds4 0x10000000(%esp, %esi, 8), %ymm5, %ymm6 ++ vsm4rnds4 (%ecx), %ymm5, %ymm6 ++ vsm4rnds4 0x10000000(%esp, %esi, 8), %xmm5, %xmm6 ++ vsm4rnds4 (%ecx), %xmm5, %xmm6 ++ ++ .intel_syntax noprefix ++ vsm4key4 ymm6, ymm5, ymm4 ++ vsm4key4 xmm6, xmm5, xmm4 ++ vsm4key4 ymm6, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] ++ vsm4key4 ymm6, ymm5, YMMWORD PTR [ecx] ++ vsm4key4 xmm6, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] ++ vsm4key4 xmm6, xmm5, XMMWORD PTR [ecx] ++ vsm4rnds4 ymm6, ymm5, ymm4 ++ vsm4rnds4 xmm6, xmm5, xmm4 ++ vsm4rnds4 ymm6, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] ++ vsm4rnds4 ymm6, ymm5, YMMWORD PTR [ecx] ++ vsm4rnds4 xmm6, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] ++ vsm4rnds4 xmm6, xmm5, XMMWORD PTR [ecx] +diff -rupN binutils.orig/gas/testsuite/gas/i386/sse2avx.s binutils-2.41/gas/testsuite/gas/i386/sse2avx.s +--- binutils.orig/gas/testsuite/gas/i386/sse2avx.s 2024-01-18 12:12:23.793946065 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/sse2avx.s 2024-01-18 13:32:46.361889337 +0000 +@@ -1,6 +1,5 @@ + # Check SSE to AVX instructions + +- .allow_index_reg + .text + _start: + # Tests for op mem64 +diff -rupN binutils.orig/gas/testsuite/gas/i386/suffix.d binutils-2.41/gas/testsuite/gas/i386/suffix.d +--- binutils.orig/gas/testsuite/gas/i386/suffix.d 2024-01-18 12:12:23.794946066 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/suffix.d 2024-01-18 13:32:46.361889337 +0000 +@@ -22,4 +22,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: cf iretl + [ ]*[a-f0-9]+: 0f 07 sysretl + [ ]*[a-f0-9]+: 0f 07 sysretl ++[ ]*[a-f0-9]+: 66 0f 38 f6 d1 adcxl %ecx,%edx ++[ ]*[a-f0-9]+: f3 0f 38 f6 d1 adoxl %ecx,%edx + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/suffix.s binutils-2.41/gas/testsuite/gas/i386/suffix.s +--- binutils.orig/gas/testsuite/gas/i386/suffix.s 2024-01-18 12:12:23.794946066 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/suffix.s 2024-01-18 13:32:46.361889337 +0000 +@@ -22,3 +22,7 @@ foo: + iret + sysretd + sysret ++ ++ .att_syntax prefix ++ adcxl %ecx, %edx ++ adoxl %ecx, %edx +diff -rupN binutils.orig/gas/testsuite/gas/i386/tbm-intel.d binutils-2.41/gas/testsuite/gas/i386/tbm-intel.d +--- binutils.orig/gas/testsuite/gas/i386/tbm-intel.d 2024-01-18 12:12:23.794946066 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/tbm-intel.d 2024-01-18 13:32:46.361889337 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: i386 TBM insns (Intel disassembly) + #source: tbm.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/tbm.s binutils-2.41/gas/testsuite/gas/i386/tbm.s +--- binutils.orig/gas/testsuite/gas/i386/tbm.s 2024-01-18 12:12:23.795946066 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/tbm.s 2024-01-18 13:32:46.361889337 +0000 +@@ -1,4 +1,3 @@ +- .allow_index_reg + .text + + _start: +diff -rupN binutils.orig/gas/testsuite/gas/i386/tdx.d binutils-2.41/gas/testsuite/gas/i386/tdx.d +--- binutils.orig/gas/testsuite/gas/i386/tdx.d 2024-01-18 12:12:23.795946066 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/tdx.d 2024-01-18 13:32:46.361889337 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: TDX insns + #source: tdx.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/tsxldtrk.d binutils-2.41/gas/testsuite/gas/i386/tsxldtrk.d +--- binutils.orig/gas/testsuite/gas/i386/tsxldtrk.d 2024-01-18 12:12:23.795946066 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/tsxldtrk.d 2024-01-18 13:32:46.362889337 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: TSXLDTRK insns + #source: tsxldtrk.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/user_msr-inval.l binutils-2.41/gas/testsuite/gas/i386/user_msr-inval.l +--- binutils.orig/gas/testsuite/gas/i386/user_msr-inval.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/user_msr-inval.l 2024-01-18 13:32:46.362889337 +0000 +@@ -0,0 +1,3 @@ ++.* Assembler messages: ++.*:5: Error: `urdmsr' is only supported in 64-bit mode ++.*:6: Error: `uwrmsr' is only supported in 64-bit mode +diff -rupN binutils.orig/gas/testsuite/gas/i386/user_msr-inval.s binutils-2.41/gas/testsuite/gas/i386/user_msr-inval.s +--- binutils.orig/gas/testsuite/gas/i386/user_msr-inval.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/user_msr-inval.s 2024-01-18 13:32:46.362889337 +0000 +@@ -0,0 +1,6 @@ ++# Check Illegal 32bit USER_MSR instructions ++ ++ .text ++_start: ++ urdmsr %r12, %r14 ++ uwrmsr %r12, %r14 +diff -rupN binutils.orig/gas/testsuite/gas/i386/vaes.s binutils-2.41/gas/testsuite/gas/i386/vaes.s +--- binutils.orig/gas/testsuite/gas/i386/vaes.s 2024-01-18 12:12:23.795946066 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/vaes.s 2024-01-18 13:32:46.362889337 +0000 +@@ -1,6 +1,5 @@ + # Check VAES instructions + +- .allow_index_reg + .text + _start: + # Tests for op ymm/mem256, ymm, ymm +diff -rupN binutils.orig/gas/testsuite/gas/i386/vex-lig-2.s binutils-2.41/gas/testsuite/gas/i386/vex-lig-2.s +--- binutils.orig/gas/testsuite/gas/i386/vex-lig-2.s 2024-01-18 12:12:23.795946066 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/vex-lig-2.s 2024-01-18 13:32:46.362889337 +0000 +@@ -1,6 +1,5 @@ + # Check VEX non-LIG instructions with with -mavxscalar=256 + +- .allow_index_reg + .text + _start: + vmovd %eax, %xmm0 +diff -rupN binutils.orig/gas/testsuite/gas/i386/vp2intersect-intel.d binutils-2.41/gas/testsuite/gas/i386/vp2intersect-intel.d +--- binutils.orig/gas/testsuite/gas/i386/vp2intersect-intel.d 2024-01-18 12:12:23.796946067 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/vp2intersect-intel.d 2024-01-18 13:32:46.362889337 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 VP2INTERSECT insns (Intel disassembly) + #source: vp2intersect.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/vp2intersect-inval-bcast.l binutils-2.41/gas/testsuite/gas/i386/vp2intersect-inval-bcast.l +--- binutils.orig/gas/testsuite/gas/i386/vp2intersect-inval-bcast.l 2024-01-18 12:12:23.796946067 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/vp2intersect-inval-bcast.l 2024-01-18 13:32:46.362889337 +0000 +@@ -1,13 +1,13 @@ + .*: Assembler messages: ++.*:5: Error: unsupported broadcast for `vp2intersectd' + .*:6: Error: unsupported broadcast for `vp2intersectd' + .*:7: Error: unsupported broadcast for `vp2intersectd' +-.*:8: Error: unsupported broadcast for `vp2intersectd' ++.*:8: Error: unsupported broadcast for `vp2intersectq' + .*:9: Error: unsupported broadcast for `vp2intersectq' + .*:10: Error: unsupported broadcast for `vp2intersectq' +-.*:11: Error: unsupported broadcast for `vp2intersectq' ++.*:13: Error: unsupported broadcast for `vp2intersectd' + .*:14: Error: unsupported broadcast for `vp2intersectd' + .*:15: Error: unsupported broadcast for `vp2intersectd' +-.*:16: Error: unsupported broadcast for `vp2intersectd' ++.*:16: Error: unsupported broadcast for `vp2intersectq' + .*:17: Error: unsupported broadcast for `vp2intersectq' + .*:18: Error: unsupported broadcast for `vp2intersectq' +-.*:19: Error: unsupported broadcast for `vp2intersectq' +diff -rupN binutils.orig/gas/testsuite/gas/i386/vp2intersect-inval-bcast.s binutils-2.41/gas/testsuite/gas/i386/vp2intersect-inval-bcast.s +--- binutils.orig/gas/testsuite/gas/i386/vp2intersect-inval-bcast.s 2024-01-18 12:12:23.796946067 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/vp2intersect-inval-bcast.s 2024-01-18 13:32:46.362889337 +0000 +@@ -1,6 +1,5 @@ + # Check error for invalid {1toXX} and {2toXX} broadcasts. + +- .allow_index_reg + .text + _start: + vp2intersectd 8(%eax){1to8}, %xmm2, %k3 +diff -rupN binutils.orig/gas/testsuite/gas/i386/vp2intersect.d binutils-2.41/gas/testsuite/gas/i386/vp2intersect.d +--- binutils.orig/gas/testsuite/gas/i386/vp2intersect.d 2024-01-18 12:12:23.796946067 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/vp2intersect.d 2024-01-18 13:32:46.362889337 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 VP2INTERSECT insns + #source: vp2intersect.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/vpclmulqdq-intel.d binutils-2.41/gas/testsuite/gas/i386/vpclmulqdq-intel.d +--- binutils.orig/gas/testsuite/gas/i386/vpclmulqdq-intel.d 2024-01-18 12:12:23.796946067 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/vpclmulqdq-intel.d 2024-01-18 13:32:46.362889337 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 VPCLMULQDQ insns (Intel disassembly) + #source: vpclmulqdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/vpclmulqdq.d binutils-2.41/gas/testsuite/gas/i386/vpclmulqdq.d +--- binutils.orig/gas/testsuite/gas/i386/vpclmulqdq.d 2024-01-18 12:12:23.796946067 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/vpclmulqdq.d 2024-01-18 13:32:46.362889337 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 VPCLMULQDQ insns + #source: vpclmulqdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/vpclmulqdq.s binutils-2.41/gas/testsuite/gas/i386/vpclmulqdq.s +--- binutils.orig/gas/testsuite/gas/i386/vpclmulqdq.s 2024-01-18 12:12:23.796946067 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/vpclmulqdq.s 2024-01-18 13:32:46.362889337 +0000 +@@ -1,6 +1,5 @@ + # Check VPCLMULQDQ instructions + +- .allow_index_reg + .text + _start: + vpclmulqdq $0xab, %ymm4, %ymm5, %ymm6 +diff -rupN binutils.orig/gas/testsuite/gas/i386/waitpkg-intel.d binutils-2.41/gas/testsuite/gas/i386/waitpkg-intel.d +--- binutils.orig/gas/testsuite/gas/i386/waitpkg-intel.d 2024-01-18 12:12:23.796946067 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/waitpkg-intel.d 2024-01-18 13:32:46.362889337 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 WAITPKG insns (Intel disassembly) + #source: waitpkg.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/waitpkg.d binutils-2.41/gas/testsuite/gas/i386/waitpkg.d +--- binutils.orig/gas/testsuite/gas/i386/waitpkg.d 2024-01-18 12:12:23.796946067 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/waitpkg.d 2024-01-18 13:32:46.362889337 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 WAITPKG insns + #source: waitpkg.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/wrmsrns-intel.d binutils-2.41/gas/testsuite/gas/i386/wrmsrns-intel.d +--- binutils.orig/gas/testsuite/gas/i386/wrmsrns-intel.d 2024-01-18 12:12:23.796946067 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/wrmsrns-intel.d 2024-01-18 13:32:46.362889337 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 WRMSRNS insns (Intel disassembly) + #source: wrmsrns.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/wrmsrns.d binutils-2.41/gas/testsuite/gas/i386/wrmsrns.d +--- binutils.orig/gas/testsuite/gas/i386/wrmsrns.d 2024-01-18 12:12:23.796946067 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/wrmsrns.d 2024-01-18 13:32:46.362889337 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 WRMSRNS insns + #source: wrmsrns.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-adx.s binutils-2.41/gas/testsuite/gas/i386/x86-64-adx.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-adx.s 2024-01-18 12:12:23.796946067 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-adx.s 2024-01-18 13:32:46.362889337 +0000 +@@ -1,5 +1,4 @@ + # Check 64 bit ADX instructions. +- .allow_index_reg + .text + _start: + adcx 400(%ecx), %eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-amx-bad.d binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-bad.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-amx-bad.d 2024-01-18 12:12:23.797946068 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-bad.d 2024-01-18 13:32:46.363889338 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -drw + #name: x86_64 Illegal AMX insns + #source: x86-64-amx-bad.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-amx-complex-bad.d binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-complex-bad.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-amx-complex-bad.d 2024-01-18 12:12:23.797946068 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-complex-bad.d 2024-01-18 13:32:46.363889338 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -drw + #name: x86_64 Illegal AMX-COMPLEX insns + #source: x86-64-amx-complex-bad.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-amx-complex-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-complex-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-amx-complex-intel.d 2024-01-18 12:12:23.797946068 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-complex-intel.d 2024-01-18 13:32:46.363889338 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AMX-COMPLEX insns (Intel disassembly) + #source: x86-64-amx-complex.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-amx-complex.d binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-complex.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-amx-complex.d 2024-01-18 12:12:23.798946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-complex.d 2024-01-18 13:32:46.363889338 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AMX-COMPLEX insns + #source: x86-64-amx-complex.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-amx-complex.s binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-complex.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-amx-complex.s 2024-01-18 12:12:23.798946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-complex.s 2024-01-18 13:32:46.363889338 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AMX-COMPLEX instructions + +- .allow_index_reg + .text + _start: + tcmmimfp16ps %tmm4, %tmm5, %tmm6 #AMX-COMPLEX +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-amx-fp16-bad.d binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-fp16-bad.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-amx-fp16-bad.d 2024-01-18 12:12:23.798946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-fp16-bad.d 2024-01-18 13:32:46.363889338 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -drw + #name: x86_64 Illegal AMX-FP16 insns + #source: x86-64-amx-fp16-bad.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-amx-fp16-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-fp16-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-amx-fp16-intel.d 2024-01-18 12:12:23.798946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-fp16-intel.d 2024-01-18 13:32:46.363889338 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -d -Mintel + #name: x86_64 AMX-FP16 insns (Intel disassembly) + #source: x86-64-amx-fp16.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-amx-fp16.d binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-fp16.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-amx-fp16.d 2024-01-18 12:12:23.798946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-fp16.d 2024-01-18 13:32:46.363889338 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AMX-FP16 insns + #source: x86-64-amx-fp16.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-amx-fp16.s binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-fp16.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-amx-fp16.s 2024-01-18 12:12:23.798946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-fp16.s 2024-01-18 13:32:46.363889338 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AMX-FP16 instructions + +- .allow_index_reg + .text + _start: + tdpfp16ps %tmm5, %tmm4, %tmm3 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-amx-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-amx-intel.d 2024-01-18 12:12:23.798946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-amx-intel.d 2024-01-18 13:32:46.363889338 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -d -Mintel + #name: x86_64 AMX insns in Intel syntax + #source: x86-64-amx.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-amx.d binutils-2.41/gas/testsuite/gas/i386/x86-64-amx.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-amx.d 2024-01-18 12:12:23.798946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-amx.d 2024-01-18 13:32:46.363889338 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -d + #name: x86_64 AMX insns + #source: x86-64-amx.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l 2024-01-18 13:32:46.363889338 +0000 +@@ -0,0 +1,202 @@ ++.*: Assembler messages: ++.*:4: Error: bad register name `%r17d' ++.*:7: Error: extended GPR cannot be used as base/index for `xsave' ++.*:8: Error: extended GPR cannot be used as base/index for `xsave64' ++.*:9: Error: extended GPR cannot be used as base/index for `xrstor' ++.*:10: Error: extended GPR cannot be used as base/index for `xrstor64' ++.*:11: Error: extended GPR cannot be used as base/index for `xsaves' ++.*:12: Error: extended GPR cannot be used as base/index for `xsaves64' ++.*:13: Error: extended GPR cannot be used as base/index for `xrstors' ++.*:14: Error: extended GPR cannot be used as base/index for `xrstors64' ++.*:15: Error: extended GPR cannot be used as base/index for `xsaveopt' ++.*:16: Error: extended GPR cannot be used as base/index for `xsaveopt64' ++.*:17: Error: extended GPR cannot be used as base/index for `xsavec' ++.*:18: Error: extended GPR cannot be used as base/index for `xsavec64' ++.*:20: Error: extended GPR cannot be used as base/index for `blendpd' ++.*:21: Error: extended GPR cannot be used as base/index for `blendps' ++.*:22: Error: extended GPR cannot be used as base/index for `blendvpd' ++.*:23: Error: extended GPR cannot be used as base/index for `blendvpd' ++.*:24: Error: extended GPR cannot be used as base/index for `blendvps' ++.*:25: Error: extended GPR cannot be used as base/index for `blendvps' ++.*:26: Error: extended GPR cannot be used as base/index for `dppd' ++.*:27: Error: extended GPR cannot be used as base/index for `dpps' ++.*:28: Error: register type mismatch for `extractps' ++.*:29: Error: extended GPR cannot be used as base/index for `extractps' ++.*:30: Error: extended GPR cannot be used as base/index for `insertps' ++.*:31: Error: extended GPR cannot be used as base/index for `movntdqa' ++.*:32: Error: extended GPR cannot be used as base/index for `mpsadbw' ++.*:33: Error: extended GPR cannot be used as base/index for `pabsb' ++.*:34: Error: extended GPR cannot be used as base/index for `pabsd' ++.*:35: Error: extended GPR cannot be used as base/index for `pabsw' ++.*:36: Error: extended GPR cannot be used as base/index for `packusdw' ++.*:37: Error: extended GPR cannot be used as base/index for `palignr' ++.*:38: Error: extended GPR cannot be used as base/index for `pblendvb' ++.*:39: Error: extended GPR cannot be used as base/index for `pblendvb' ++.*:40: Error: extended GPR cannot be used as base/index for `pblendw' ++.*:41: Error: extended GPR cannot be used as base/index for `pcmpeqq' ++.*:42: Error: extended GPR cannot be used as base/index for `pcmpestri' ++.*:43: Error: extended GPR cannot be used as base/index for `pcmpestrm' ++.*:44: Error: extended GPR cannot be used as base/index for `pcmpgtq' ++.*:45: Error: extended GPR cannot be used as base/index for `pcmpistri' ++.*:46: Error: extended GPR cannot be used as base/index for `pcmpistrm' ++.*:47: Error: register type mismatch for `pextrb' ++.*:48: Error: extended GPR cannot be used as base/index for `pextrb' ++.*:49: Error: extended GPR cannot be used as base/index for `pextrd' ++.*:50: Error: extended GPR cannot be used as base/index for `pextrq' ++.*:51: Error: extended GPR cannot be used as base/index for `pextrw' ++.*:52: Error: extended GPR cannot be used as base/index for `phaddd' ++.*:53: Error: extended GPR cannot be used as base/index for `phaddsw' ++.*:54: Error: extended GPR cannot be used as base/index for `phaddw' ++.*:55: Error: extended GPR cannot be used as base/index for `phminposuw' ++.*:56: Error: extended GPR cannot be used as base/index for `phsubw' ++.*:57: Error: register type mismatch for `pinsrb' ++.*:58: Error: extended GPR cannot be used as base/index for `pinsrb' ++.*:59: Error: register type mismatch for `pinsrd' ++.*:60: Error: extended GPR cannot be used as base/index for `pinsrd' ++.*:61: Error: register type mismatch for `pinsrq' ++.*:62: Error: extended GPR cannot be used as base/index for `pinsrq' ++.*:63: Error: extended GPR cannot be used as base/index for `pmaddubsw' ++.*:64: Error: extended GPR cannot be used as base/index for `pmaxsb' ++.*:65: Error: extended GPR cannot be used as base/index for `pmaxsd' ++.*:66: Error: extended GPR cannot be used as base/index for `pmaxud' ++.*:67: Error: extended GPR cannot be used as base/index for `pmaxuw' ++.*:68: Error: extended GPR cannot be used as base/index for `pminsb' ++.*:69: Error: extended GPR cannot be used as base/index for `pminsd' ++.*:70: Error: extended GPR cannot be used as base/index for `pminud' ++.*:71: Error: extended GPR cannot be used as base/index for `pminuw' ++.*:72: Error: extended GPR cannot be used as base/index for `pmovsxbd' ++.*:73: Error: extended GPR cannot be used as base/index for `pmovsxbq' ++.*:74: Error: extended GPR cannot be used as base/index for `pmovsxbw' ++.*:75: Error: extended GPR cannot be used as base/index for `pmovsxbw' ++.*:76: Error: extended GPR cannot be used as base/index for `pmovsxdq' ++.*:77: Error: extended GPR cannot be used as base/index for `pmovsxwd' ++.*:78: Error: extended GPR cannot be used as base/index for `pmovsxwq' ++.*:79: Error: extended GPR cannot be used as base/index for `pmovzxbd' ++.*:80: Error: extended GPR cannot be used as base/index for `pmovzxbq' ++.*:81: Error: extended GPR cannot be used as base/index for `pmovzxdq' ++.*:82: Error: extended GPR cannot be used as base/index for `pmovzxwd' ++.*:83: Error: extended GPR cannot be used as base/index for `pmovzxwq' ++.*:84: Error: extended GPR cannot be used as base/index for `pmuldq' ++.*:85: Error: extended GPR cannot be used as base/index for `pmulhrsw' ++.*:86: Error: extended GPR cannot be used as base/index for `pmulld' ++.*:87: Error: extended GPR cannot be used as base/index for `pshufb' ++.*:88: Error: extended GPR cannot be used as base/index for `psignb' ++.*:89: Error: extended GPR cannot be used as base/index for `psignd' ++.*:90: Error: extended GPR cannot be used as base/index for `psignw' ++.*:91: Error: extended GPR cannot be used as base/index for `roundpd' ++.*:92: Error: extended GPR cannot be used as base/index for `roundps' ++.*:93: Error: extended GPR cannot be used as base/index for `roundsd' ++.*:94: Error: extended GPR cannot be used as base/index for `roundss' ++.*:96: Error: extended GPR cannot be used as base/index for `aesdec' ++.*:97: Error: extended GPR cannot be used as base/index for `aesdeclast' ++.*:98: Error: extended GPR cannot be used as base/index for `aesenc' ++.*:99: Error: extended GPR cannot be used as base/index for `aesenclast' ++.*:100: Error: extended GPR cannot be used as base/index for `aesimc' ++.*:101: Error: extended GPR cannot be used as base/index for `aeskeygenassist' ++.*:102: Error: extended GPR cannot be used as base/index for `pclmulhqhqdq' ++.*:103: Error: extended GPR cannot be used as base/index for `pclmulhqlqdq' ++.*:104: Error: extended GPR cannot be used as base/index for `pclmullqhqdq' ++.*:105: Error: extended GPR cannot be used as base/index for `pclmullqlqdq' ++.*:106: Error: extended GPR cannot be used as base/index for `pclmulqdq' ++.*:108: Error: extended GPR cannot be used as base/index for `gf2p8affineinvqb' ++.*:109: Error: extended GPR cannot be used as base/index for `gf2p8affineqb' ++.*:110: Error: extended GPR cannot be used as base/index for `gf2p8mulb' ++.*:112: Error: extended GPR cannot be used as base/index for `vaesimc' ++.*:113: Error: extended GPR cannot be used as base/index for `vaeskeygenassist' ++.*:114: Error: extended GPR cannot be used as base/index for `vblendpd' ++.*:115: Error: extended GPR cannot be used as base/index for `vblendpd' ++.*:116: Error: extended GPR cannot be used as base/index for `vblendps' ++.*:117: Error: extended GPR cannot be used as base/index for `vblendps' ++.*:118: Error: extended GPR cannot be used as base/index for `vblendvpd' ++.*:119: Error: extended GPR cannot be used as base/index for `vblendvpd' ++.*:120: Error: extended GPR cannot be used as base/index for `vblendvps' ++.*:121: Error: extended GPR cannot be used as base/index for `vblendvps' ++.*:122: Error: extended GPR cannot be used as base/index for `vdppd' ++.*:123: Error: extended GPR cannot be used as base/index for `vdpps' ++.*:124: Error: extended GPR cannot be used as base/index for `vdpps' ++.*:125: Error: extended GPR cannot be used as base/index for `vhaddpd' ++.*:126: Error: extended GPR cannot be used as base/index for `vhaddpd' ++.*:127: Error: extended GPR cannot be used as base/index for `vhsubps' ++.*:128: Error: extended GPR cannot be used as base/index for `vhsubps' ++.*:129: Error: extended GPR cannot be used as base/index for `vlddqu' ++.*:130: Error: extended GPR cannot be used as base/index for `vlddqu' ++.*:131: Error: extended GPR cannot be used as base/index for `vldmxcsr' ++.*:132: Error: extended GPR cannot be used as base/index for `vmaskmovpd' ++.*:133: Error: extended GPR cannot be used as base/index for `vmaskmovpd' ++.*:134: Error: extended GPR cannot be used as base/index for `vmaskmovpd' ++.*:135: Error: extended GPR cannot be used as base/index for `vmaskmovpd' ++.*:136: Error: extended GPR cannot be used as base/index for `vmaskmovps' ++.*:137: Error: extended GPR cannot be used as base/index for `vmaskmovps' ++.*:138: Error: extended GPR cannot be used as base/index for `vmaskmovps' ++.*:139: Error: extended GPR cannot be used as base/index for `vmaskmovps' ++.*:140: Error: register type mismatch for `vmovmskpd' ++.*:141: Error: register type mismatch for `vmovmskpd' ++.*:142: Error: register type mismatch for `vmovmskps' ++.*:143: Error: register type mismatch for `vmovmskps' ++.*:144: Error: extended GPR cannot be used as base/index for `vpblendd' ++.*:145: Error: extended GPR cannot be used as base/index for `vpblendd' ++.*:146: Error: extended GPR cannot be used as base/index for `vpblendvb' ++.*:147: Error: extended GPR cannot be used as base/index for `vpblendvb' ++.*:148: Error: extended GPR cannot be used as base/index for `vpblendw' ++.*:149: Error: extended GPR cannot be used as base/index for `vpblendw' ++.*:150: Error: extended GPR cannot be used as base/index for `vpcmpeqb' ++.*:151: Error: extended GPR cannot be used as base/index for `vpcmpeqd' ++.*:152: Error: extended GPR cannot be used as base/index for `vpcmpeqq' ++.*:153: Error: extended GPR cannot be used as base/index for `vpcmpeqw' ++.*:154: Error: extended GPR cannot be used as base/index for `vpcmpestri' ++.*:155: Error: extended GPR cannot be used as base/index for `vpcmpestrm' ++.*:156: Error: extended GPR cannot be used as base/index for `vpcmpgtb' ++.*:157: Error: extended GPR cannot be used as base/index for `vpcmpgtd' ++.*:158: Error: extended GPR cannot be used as base/index for `vpcmpgtq' ++.*:159: Error: extended GPR cannot be used as base/index for `vpcmpgtw' ++.*:160: Error: extended GPR cannot be used as base/index for `vpcmpistri' ++.*:161: Error: extended GPR cannot be used as base/index for `vpcmpistrm' ++.*:162: Error: extended GPR cannot be used as base/index for `vperm2f128' ++.*:163: Error: extended GPR cannot be used as base/index for `vperm2i128' ++.*:164: Error: extended GPR cannot be used as base/index for `vphaddd' ++.*:165: Error: extended GPR cannot be used as base/index for `vphaddd' ++.*:166: Error: extended GPR cannot be used as base/index for `vphaddsw' ++.*:167: Error: extended GPR cannot be used as base/index for `vphaddsw' ++.*:168: Error: extended GPR cannot be used as base/index for `vphaddw' ++.*:169: Error: extended GPR cannot be used as base/index for `vphaddw' ++.*:170: Error: extended GPR cannot be used as base/index for `vphminposuw' ++.*:171: Error: extended GPR cannot be used as base/index for `vphsubd' ++.*:172: Error: extended GPR cannot be used as base/index for `vphsubd' ++.*:173: Error: extended GPR cannot be used as base/index for `vphsubsw' ++.*:174: Error: extended GPR cannot be used as base/index for `vphsubsw' ++.*:175: Error: extended GPR cannot be used as base/index for `vphsubw' ++.*:176: Error: extended GPR cannot be used as base/index for `vphsubw' ++.*:177: Error: extended GPR cannot be used as base/index for `vpmaskmovd' ++.*:178: Error: extended GPR cannot be used as base/index for `vpmaskmovd' ++.*:179: Error: extended GPR cannot be used as base/index for `vpmaskmovd' ++.*:180: Error: extended GPR cannot be used as base/index for `vpmaskmovd' ++.*:181: Error: extended GPR cannot be used as base/index for `vpmaskmovq' ++.*:182: Error: extended GPR cannot be used as base/index for `vpmaskmovq' ++.*:183: Error: extended GPR cannot be used as base/index for `vpmaskmovq' ++.*:184: Error: extended GPR cannot be used as base/index for `vpmaskmovq' ++.*:185: Error: register type mismatch for `vpmovmskb' ++.*:186: Error: register type mismatch for `vpmovmskb' ++.*:187: Error: extended GPR cannot be used as base/index for `vpsignb' ++.*:188: Error: extended GPR cannot be used as base/index for `vpsignb' ++.*:189: Error: extended GPR cannot be used as base/index for `vpsignd' ++.*:190: Error: extended GPR cannot be used as base/index for `vpsignd' ++.*:191: Error: extended GPR cannot be used as base/index for `vpsignw' ++.*:192: Error: extended GPR cannot be used as base/index for `vpsignw' ++.*:193: Error: extended GPR cannot be used as base/index for `vptest' ++.*:194: Error: extended GPR cannot be used as base/index for `vptest' ++.*:195: Error: extended GPR cannot be used as base/index for `vrcpps' ++.*:196: Error: extended GPR cannot be used as base/index for `vrcpps' ++.*:197: Error: extended GPR cannot be used as base/index for `vrcpss' ++.*:198: Error: extended GPR cannot be used as base/index for `vroundpd' ++.*:199: Error: extended GPR cannot be used as base/index for `vroundps' ++.*:200: Error: extended GPR cannot be used as base/index for `vroundsd' ++.*:201: Error: extended GPR cannot be used as base/index for `vroundss' ++.*:202: Error: extended GPR cannot be used as base/index for `vrsqrtps' ++.*:203: Error: extended GPR cannot be used as base/index for `vrsqrtps' ++.*:204: Error: extended GPR cannot be used as base/index for `vrsqrtss' ++.*:205: Error: extended GPR cannot be used as base/index for `vstmxcsr' ++.*:206: Error: extended GPR cannot be used as base/index for `vtestpd' ++.*:207: Error: extended GPR cannot be used as base/index for `vtestpd' ++.*:208: Error: extended GPR cannot be used as base/index for `vtestps' ++.*:209: Error: extended GPR cannot be used as base/index for `vtestps' ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s 2024-01-18 13:32:46.363889338 +0000 +@@ -0,0 +1,209 @@ ++# Check illegal 64bit APX_F instructions ++ .text ++ .arch .noapx_f ++ test $0x7, %r17d ++ .arch .apx_f ++ test $0x7, %r17d ++ xsave (%r16, %rbx) ++ xsave64 (%r16, %r31) ++ xrstor (%r16, %rbx) ++ xrstor64 (%r16, %rbx) ++ xsaves (%rbx, %r16) ++ xsaves64 (%r16, %rbx) ++ xrstors (%rbx, %r31) ++ xrstors64 (%r16, %rbx) ++ xsaveopt (%r16, %rbx) ++ xsaveopt64 (%r16, %r31) ++ xsavec (%r16, %rbx) ++ xsavec64 (%r16, %r31) ++#SSE ++ blendpd $100,(%r18),%xmm6 ++ blendps $100,(%r18),%xmm6 ++ blendvpd %xmm0,(%r19),%xmm6 ++ blendvpd (%r19),%xmm6 ++ blendvps %xmm0,(%r19),%xmm6 ++ blendvps (%r19),%xmm6 ++ dppd $100,(%r20),%xmm6 ++ dpps $100,(%r20),%xmm6 ++ extractps $100,%xmm4,%r21 ++ extractps $100,%xmm4,(%r21) ++ insertps $100,(%r21),%xmm6 ++ movntdqa (%r21),%xmm4 ++ mpsadbw $100,(%r21),%xmm6 ++ pabsb (%r17),%xmm0 ++ pabsd (%r17),%xmm0 ++ pabsw (%r17),%xmm0 ++ packusdw (%r21),%xmm6 ++ palignr $100,(%r17),%xmm6 ++ pblendvb %xmm0,(%r22),%xmm6 ++ pblendvb (%r22),%xmm6 ++ pblendw $100,(%r22),%xmm6 ++ pcmpeqq (%r22),%xmm6 ++ pcmpestri $100,(%r25),%xmm6 ++ pcmpestrm $100,(%r25),%xmm6 ++ pcmpgtq (%r25),%xmm4 ++ pcmpistri $100,(%r25),%xmm6 ++ pcmpistrm $100,(%r25),%xmm6 ++ pextrb $100,%xmm4,%r22 ++ pextrb $100,%xmm4,(%r22) ++ pextrd $100,%xmm4,(%r22) ++ pextrq $100,%xmm4,(%r22) ++ pextrw $100,%xmm4,(%r22) ++ phaddd (%r17),%xmm0 ++ phaddsw (%r17),%xmm0 ++ phaddw (%r17),%xmm0 ++ phminposuw (%r23),%xmm4 ++ phsubw (%r17),%xmm0 ++ pinsrb $100,%r23,%xmm4 ++ pinsrb $100,(%r23),%xmm4 ++ pinsrd $100, %r23d, %xmm4 ++ pinsrd $100,(%r23),%xmm4 ++ pinsrq $100, %r24, %xmm4 ++ pinsrq $100,(%r24),%xmm4 ++ pmaddubsw (%r17),%xmm0 ++ pmaxsb (%r24),%xmm6 ++ pmaxsd (%r24),%xmm6 ++ pmaxud (%r24),%xmm6 ++ pmaxuw (%r24),%xmm6 ++ pminsb (%r24),%xmm6 ++ pminsd (%r24),%xmm6 ++ pminud (%r24),%xmm6 ++ pminuw (%r24),%xmm6 ++ pmovsxbd (%r24),%xmm4 ++ pmovsxbq (%r24),%xmm4 ++ pmovsxbw (%r24),%xmm4 ++ pmovsxbw (%r24),%xmm4 ++ pmovsxdq (%r24),%xmm4 ++ pmovsxwd (%r24),%xmm4 ++ pmovsxwq (%r24),%xmm4 ++ pmovzxbd (%r24),%xmm4 ++ pmovzxbq (%r24),%xmm4 ++ pmovzxdq (%r24),%xmm4 ++ pmovzxwd (%r24),%xmm4 ++ pmovzxwq (%r24),%xmm4 ++ pmuldq (%r24),%xmm4 ++ pmulhrsw (%r17),%xmm0 ++ pmulld (%r24),%xmm4 ++ pshufb (%r17),%xmm0 ++ psignb (%r17),%xmm0 ++ psignd (%r17),%xmm0 ++ psignw (%r17),%xmm0 ++ roundpd $100,(%r24),%xmm6 ++ roundps $100,(%r24),%xmm6 ++ roundsd $100,(%r24),%xmm6 ++ roundss $100,(%r24),%xmm6 ++#AES ++ aesdec (%r26),%xmm6 ++ aesdeclast (%r26),%xmm6 ++ aesenc (%r26),%xmm6 ++ aesenclast (%r26),%xmm6 ++ aesimc (%r26),%xmm6 ++ aeskeygenassist $100,(%r26),%xmm6 ++ pclmulhqhqdq (%r26),%xmm6 ++ pclmulhqlqdq (%r26),%xmm6 ++ pclmullqhqdq (%r26),%xmm6 ++ pclmullqlqdq (%r26),%xmm6 ++ pclmulqdq $100,(%r26),%xmm6 ++#GFNI ++ gf2p8affineinvqb $100,(%r26),%xmm6 ++ gf2p8affineqb $100,(%r26),%xmm6 ++ gf2p8mulb (%r26),%xmm6 ++#VEX without evex ++ vaesimc (%r27), %xmm3 ++ vaeskeygenassist $7,(%r27),%xmm3 ++ vblendpd $7,(%r27),%xmm6,%xmm2 ++ vblendpd $7,(%r27),%ymm6,%ymm2 ++ vblendps $7,(%r27),%xmm6,%xmm2 ++ vblendps $7,(%r27),%ymm6,%ymm2 ++ vblendvpd %xmm4,(%r27),%xmm2,%xmm7 ++ vblendvpd %ymm4,(%r27),%ymm2,%ymm7 ++ vblendvps %xmm4,(%r27),%xmm2,%xmm7 ++ vblendvps %ymm4,(%r27),%ymm2,%ymm7 ++ vdppd $7,(%r27),%xmm6,%xmm2 ++ vdpps $7,(%r27),%xmm6,%xmm2 ++ vdpps $7,(%r27),%ymm6,%ymm2 ++ vhaddpd (%r27),%xmm6,%xmm5 ++ vhaddpd (%r27),%ymm6,%ymm5 ++ vhsubps (%r27),%xmm6,%xmm5 ++ vhsubps (%r27),%ymm6,%ymm5 ++ vlddqu (%r27),%xmm4 ++ vlddqu (%r27),%ymm4 ++ vldmxcsr (%r27) ++ vmaskmovpd %xmm4,%xmm6,(%r27) ++ vmaskmovpd %ymm4,%ymm6,(%r27) ++ vmaskmovpd (%r27),%xmm4,%xmm6 ++ vmaskmovpd (%r27),%ymm4,%ymm6 ++ vmaskmovps %xmm4,%xmm6,(%r27) ++ vmaskmovps %ymm4,%ymm6,(%r27) ++ vmaskmovps (%r27),%xmm4,%xmm6 ++ vmaskmovps (%r27),%ymm4,%ymm6 ++ vmovmskpd %xmm4,%r27d ++ vmovmskpd %xmm8,%r27d ++ vmovmskps %xmm4,%r27d ++ vmovmskps %ymm8,%r27d ++ vpblendd $7,(%r27),%xmm6,%xmm2 ++ vpblendd $7,(%r27),%ymm6,%ymm2 ++ vpblendvb %xmm4,(%r27),%xmm2,%xmm7 ++ vpblendvb %ymm4,(%r27),%ymm2,%ymm7 ++ vpblendw $7,(%r27),%xmm6,%xmm2 ++ vpblendw $7,(%r27),%ymm6,%ymm2 ++ vpcmpeqb (%r26),%ymm6,%ymm2 ++ vpcmpeqd (%r26),%ymm6,%ymm2 ++ vpcmpeqq (%r16),%ymm6,%ymm2 ++ vpcmpeqw (%r16),%ymm6,%ymm2 ++ vpcmpestri $7,(%r27),%xmm6 ++ vpcmpestrm $7,(%r27),%xmm6 ++ vpcmpgtb (%r26),%ymm6,%ymm2 ++ vpcmpgtd (%r26),%ymm6,%ymm2 ++ vpcmpgtq (%r16),%ymm6,%ymm2 ++ vpcmpgtw (%r16),%ymm6,%ymm2 ++ vpcmpistri $100,(%r25),%xmm6 ++ vpcmpistrm $100,(%r25),%xmm6 ++ vperm2f128 $7,(%r27),%ymm6,%ymm2 ++ vperm2i128 $7,(%r27),%ymm6,%ymm2 ++ vphaddd (%r27),%xmm6,%xmm7 ++ vphaddd (%r27),%ymm6,%ymm7 ++ vphaddsw (%r27),%xmm6,%xmm7 ++ vphaddsw (%r27),%ymm6,%ymm7 ++ vphaddw (%r27),%xmm6,%xmm7 ++ vphaddw (%r27),%ymm6,%ymm7 ++ vphminposuw (%r27),%xmm6 ++ vphsubd (%r27),%xmm6,%xmm7 ++ vphsubd (%r27),%ymm6,%ymm7 ++ vphsubsw (%r27),%xmm6,%xmm7 ++ vphsubsw (%r27),%ymm6,%ymm7 ++ vphsubw (%r27),%xmm6,%xmm7 ++ vphsubw (%r27),%ymm6,%ymm7 ++ vpmaskmovd %xmm4,%xmm6,(%r27) ++ vpmaskmovd %ymm4,%ymm6,(%r27) ++ vpmaskmovd (%r27),%xmm4,%xmm6 ++ vpmaskmovd (%r27),%ymm4,%ymm6 ++ vpmaskmovq %xmm4,%xmm6,(%r27) ++ vpmaskmovq %ymm4,%ymm6,(%r27) ++ vpmaskmovq (%r27),%xmm4,%xmm6 ++ vpmaskmovq (%r27),%ymm4,%ymm6 ++ vpmovmskb %xmm4,%r27 ++ vpmovmskb %ymm4,%r27d ++ vpsignb (%r27),%xmm6,%xmm7 ++ vpsignb (%r27),%xmm6,%xmm7 ++ vpsignd (%r27),%xmm6,%xmm7 ++ vpsignd (%r27),%xmm6,%xmm7 ++ vpsignw (%r27),%xmm6,%xmm7 ++ vpsignw (%r27),%xmm6,%xmm7 ++ vptest (%r27),%ymm6 ++ vptest (%r27),%xmm6 ++ vrcpps (%r27),%xmm6 ++ vrcpps (%r27),%ymm6 ++ vrcpss (%r27),%xmm6,%xmm6 ++ vroundpd $1,(%r24),%xmm6 ++ vroundps $2,(%r24),%xmm6 ++ vroundsd $3,(%r24),%xmm6,%xmm3 ++ vroundss $4,(%r24),%xmm6,%xmm3 ++ vrsqrtps (%r27),%xmm6 ++ vrsqrtps (%r27),%ymm6 ++ vrsqrtss (%r27),%xmm6,%xmm6 ++ vstmxcsr (%r27) ++ vtestpd (%r27),%xmm6 ++ vtestpd (%r27),%ymm6 ++ vtestps (%r27),%xmm6 ++ vtestps (%r27),%ymm6 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l 2024-01-18 13:32:46.363889338 +0000 +@@ -0,0 +1,27 @@ ++.*: Assembler messages: ++.*:4: Error: `movbe' is not supported on `x86_64.nomovbe' ++.*:5: Error: `movbe' is not supported on `x86_64.nomovbe' ++.*:8: Error: `invept' is not supported on `x86_64.noept' ++.*:9: Error: `invept' is not supported on `x86_64.noept' ++.*:12: Error: `kmovq' is not supported on `x86_64.noavx512bw' ++.*:13: Error: `kmovq' is not supported on `x86_64.noavx512bw' ++.*:16: Error: `kmovb' is not supported on `x86_64.noavx512dq' ++.*:17: Error: `kmovb' is not supported on `x86_64.noavx512dq' ++.*:20: Error: `kmovw' is not supported on `x86_64.noavx512f' ++.*:21: Error: `kmovw' is not supported on `x86_64.noavx512f' ++.*:24: Error: `andn' is not supported on `x86_64.nobmi' ++.*:25: Error: `andn' is not supported on `x86_64.nobmi' ++.*:28: Error: `bzhi' is not supported on `x86_64.nobmi2' ++.*:29: Error: `bzhi' is not supported on `x86_64.nobmi2' ++.*:33: Error: .*`andn'.* ++.*:34: Error: .*`bzhi'.* ++.*:35: Error: .*`kmovw'.* ++.*:36: Error: .*`kmovq'.* ++.*:37: Error: .*`kmovb'.* ++.*:38: Error: .*`ldtilecfg'.* ++.*:39: Error: .*`cmpexadd'.* ++GAS LISTING .* ++#... ++[ ]*1[ ]+\# Check illegal 64bit APX EVEX promoted instructions ++[ ]*2[ ]+\.text ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s 2024-01-18 13:32:46.363889338 +0000 +@@ -0,0 +1,39 @@ ++# Check illegal 64bit APX EVEX promoted instructions ++ .text ++ .arch .nomovbe ++ movbe (%r16), %r17 ++ movbe (%rax), %rcx ++ .arch default ++ .arch .noept ++ invept (%r16), %r17 ++ invept (%rax), %rcx ++ .arch default ++ .arch .noavx512bw ++ kmovq %k1, (%r16) ++ kmovq %k1, (%r8) ++ .arch default ++ .arch .noavx512dq ++ kmovb %k1, %r16d ++ kmovb %k1, %r8d ++ .arch default ++ .arch .noavx512f ++ kmovw %k1, %r16d ++ kmovw %k1, %r8d ++ .arch default ++ .arch .nobmi ++ andn %r16,%r15,%r11 ++ andn %r15,%r15,%r11 ++ .arch default ++ .arch .nobmi2 ++ bzhi %r16,%r15,%r11 ++ bzhi %r15,%r15,%r11 ++ ++ .arch default ++ .arch .noapx_f ++ {evex} andn %r15, %r15, %r11 ++ {evex} bzhi %r15, %r15, %r11 ++ {evex} kmovw %k1, %r8d ++ {evex} kmovq %k1, %r8 ++ {evex} kmovb %k1, %r8d ++ {evex} ldtilecfg (%r8) ++ {evex} cmpexadd %rax, %rcx, (%r8) +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.d 2024-01-18 13:32:46.363889338 +0000 +@@ -0,0 +1,21 @@ ++#as: ++#objdump: -dw ++#name: x86-64 APX old evex insn use gpr32 with extend-evex prefix ++#source: x86-64-apx-evex-egpr.s ++ ++.*: +file format .* ++ ++ ++Disassembly of section .text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*62 fb 79 48 19 04 08 01[ ]+vextractf32x4 \$0x1,%zmm0,\(%r16,%r17,1\) ++\s*[a-f0-9]+:\s*62 fa 79 48 5a 04 1a[ ]+vbroadcasti32x4 \(%r18,%r19,1\),%zmm0 ++\s*[a-f0-9]+:\s*62 eb 7d 08 17 c4 01[ ]+vextractps \$0x1,%xmm16,%r20d ++\s*[a-f0-9]+:\s*62 69 97 00 2a f5[ ]+vcvtsi2sd %r21,%xmm29,%xmm30 ++\s*[a-f0-9]+:\s*67 62 fe 55 58 96 36[ ]+vfmaddsub132ph \(%r22d\)\{1to32\},%zmm5,%zmm6 ++\s*[a-f0-9]+:\s*62 81 fe 18 78 fe[ ]+vcvttss2usi \{sae\},%xmm30,%r23 ++\s*[a-f0-9]+:\s*62 25 10 47 58 b4 c5 00 00 00 10[ ]+vaddph 0x10000000\(%rbp,%r24,8\),%zmm29,%zmm30\{%k7\} ++\s*[a-f0-9]+:\s*62 4d 7c 08 2f 71 7f[ ]+vcomish 0xfe\(%r25\),%xmm30 ++\s*[a-f0-9]+:\s*62 d9 fd 08 6e 52 01[ ]+vmovq 0x8\(%r26\),%xmm2 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s 2024-01-18 13:32:46.363889338 +0000 +@@ -0,0 +1,23 @@ ++# Check 64bit old evex instructions use gpr32 with evex prefix encoding ++ ++ .allow_index_reg ++ .text ++_start: ++## DestMem ++ vextractf32x4 $1, %zmm0, (%r16,%r17) ++## SrcMem ++ vbroadcasti32x4 (%r18,%r19), %zmm0 ++## DestReg ++ vextractps $1, %xmm16, %r20d ++## SrcReg ++ vcvtsi2sdq %r21, %xmm29, %xmm30 ++## Broadcast ++ vfmaddsub132ph (%r22d){1to32}, %zmm5, %zmm6 ++## SAE ++ vcvttss2usi {sae}, %xmm30, %r23 ++## Masking ++ vaddph 0x10000000(%rbp, %r24, 8), %zmm29, %zmm30{%k7} ++## Disp8memshift ++ vcomish 254(%r25), %xmm30 ++## For dual AVX/AVX512 templates ++ vmovq 0x8(%r26),%xmm2 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.d 2024-01-18 13:32:46.363889338 +0000 +@@ -0,0 +1,42 @@ ++#objdump: -dw ++#name: x86-64 EVEX-promoted bad ++ ++.*: +file format .* ++ ++ ++Disassembly of section .text: ++ ++0+ <_start>: ++[ ]*[a-f0-9]+:[ ]+62 fc 7e 08 60[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+c7[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+62 fc 7f 08 60[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+c7[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+62 e2 f9 41 91 84[ ]+vpgatherqq \(bad\),%zmm16\{%k1\} ++[ ]*[a-f0-9]+:[ ]+cd ff[ ]+int \$0xff ++[ ]*[a-f0-9]+:[ ]+62 fd 7d 08 60[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+c7[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+62 fc 7d[ ]+\(bad\).* ++[ ]*[a-f0-9]+:[ ]+09 60 c7[ ]+or %esp,-0x39\(%rax\) ++[ ]*[a-f0-9]+:[ ]+62 fc 7d[ ]+\(bad\).* ++[ ]*[a-f0-9]+:[ ]+28 60 c7[ ]+.* ++[ ]*[a-f0-9]+:[ ]+62 fc 7d[ ]+\(bad\).* ++[ ]*[a-f0-9]+:[ ]+8f[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+60[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+c7[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+62 f2 fc 09 f5[ ]+\(bad\).* ++[ ]*[a-f0-9]+:[ ]+0c 18[ ]+or.* ++[ ]*[a-f0-9]+:[ ]+62 f2 fc 28 f5[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+0c 18[ ]+or.* ++[ ]*[a-f0-9]+:[ ]+62 f2 fc 8f f5[ ]+\(bad\).* ++[ ]*[a-f0-9]+:[ ]+0c 18[ ]+or.* ++[ ]*[a-f0-9]+:[ ]+62 f2 fc 18 f5[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+0c 18[ ]+or.* ++[ ]*[a-f0-9]+:[ ]+62 f4 e4[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+08 ff[ ]+.* ++[ ]*[a-f0-9]+:[ ]+04 08[ ]+.* ++[ ]*[a-f0-9]+:[ ]+62 f4 3c[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+08 8f c0 ff ff ff[ ]+or.* ++[ ]*[a-f0-9]+:[ ]+62 74 7c 18 8f c0[ ]+pop2 %rax,\(bad\) ++[ ]*[a-f0-9]+:[ ]+62 d4 3c 18 8f[ ]+\(bad\) ++[ ]*[a-f0-9]+:[ ]+c0[ ]+.* ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.s 2024-01-18 13:32:46.363889338 +0000 +@@ -0,0 +1,49 @@ ++# Check Illegal prefix for 64bit EVEX-promoted instructions ++ ++ .allow_index_reg ++ .text ++_start: ++ #movbe %r23w,%ax set EVEX.pp = f3. ++ .insn EVEX.L0.f3.M12.W0 0x60, %di, %ax ++ ++ #movbe %r23w,%ax set EVEX.pp = f2. ++ .insn EVEX.L0.f2.M12.W0 0x60, %di, %ax ++ ++ #VSIB vpgatherqq (%rbp,%zmm17,8),%zmm16{%k1} set EVEX.P[10] == 0 ++ .byte 0x62, 0xe2, 0xf9, 0x41, 0x91, 0x84, 0xcd ++ .byte 0xff ++ ++ #EVEX_MAP4 movbe %r23w,%ax set EVEX.mm == 0b01. ++ .insn EVEX.L0.66.M13.W0 0x60, %di, %ax ++ ++ #EVEX_MAP4 movbe %r23w,%ax set EVEX.aaa[1:0] (P[17:16]) == 0b01 ++ .insn EVEX.L0.66.M12.W0 0x60, %di, %ax{%k1} ++ ++ #EVEX_MAP4 movbe %r18w,%ax set EVEX.L'L == 0b01. ++ .insn EVEX.L1.66.M12.W0 0x60, %di, %ax ++ ++ #EVEX_MAP4 movbe %r18w,%ax set EVEX.z == 0b1. ++ .insn EVEX.L0.66.M12.W0 0x60, %di, %ax {%k7}{z} ++ ++ #EVEX from VEX bzhi %rax,(%rax,%rbx),%rcx EVEX.aaa[1:0] (P[17:16]) ++ #== 0b01 ++ .insn EVEX.L0.NP.0f38.W1 0xf5, %rax, (%rax,%rbx), %rcx{%k1} ++ ++ #EVEX from VEX bzhi %rax,(%rax,%rbx),%ecx EVEX.P[22:21](EVEX.L’L) == 0b01 ++ .insn EVEX.L1.NP.0f38.W1 0xf5, %rax, (%rax,%rbx), %rcx ++ ++ #EVEX from VEX bzhi %rax,(%rax,%rbx),%rcx EVEX.P[23](EVEX.z) == 0b1 ++ .insn EVEX.L0.NP.0f38.W1 0xf5, %rax, (%rax,%rbx), %rcx {%k7}{z} ++ ++ #EVEX from VEX bzhi %rax,(%rax,%rbx),%rcx EVEX.P[20](EVEX.b) == 0b1 ++ .insn EVEX.L0.NP.0f38.W1 0xf5, %rax, (%rax,%rbx){1to8}, %rcx ++ ++ #{evex} inc %rax %rbx EVEX.vvvv != 1111 && EVEX.ND = 0. ++ .byte 0x62, 0xf4, 0xe4, 0x08, 0xff, 0x04, 0x08 ++ # pop2 %rax, %r8 set EVEX.ND=0. ++ .byte 0x62, 0xf4, 0x3c, 0x08, 0x8f, 0xc0 ++ .byte 0xff, 0xff, 0xff ++ # pop2 %rax, %r8 set EVEX.vvvv = 1111. ++ .insn EVEX.L0.M4.W0 0x8f, %rax, {rn-sae},%r8 ++ # pop2 %r8, %r8. ++ .byte 0x62, 0xd4, 0x3c, 0x18, 0x8f, 0xc0 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d 2024-01-18 13:32:46.363889338 +0000 +@@ -0,0 +1,318 @@ ++#as: ++#objdump: -dw -Mintel ++#name: x86_64 APX_F EVEX-Promoted insns (Intel disassembly) ++#source: x86-64-apx-evex-promoted.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 fc 8c 87 23 01 00 00[ ]+aadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 fc bc 87 23 01 00 00[ ]+aadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 fc 8c 87 23 01 00 00[ ]+aand[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c fd 08 fc bc 87 23 01 00 00[ ]+aand[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dd b4 87 23 01 00 00[ ]+aesdec128kl xmm22,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 df b4 87 23 01 00 00[ ]+aesdec256kl xmm22,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 8c 87 23 01 00 00[ ]+aesdecwide128kl[ ]+\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 9c 87 23 01 00 00[ ]+aesdecwide256kl[ ]+\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dc b4 87 23 01 00 00[ ]+aesenc128kl xmm22,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 de b4 87 23 01 00 00[ ]+aesenc256kl xmm22,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 84 87 23 01 00 00[ ]+aesencwide128kl[ ]+\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 94 87 23 01 00 00[ ]+aesencwide256kl[ ]+\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 fc 8c 87 23 01 00 00[ ]+aor[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c ff 08 fc bc 87 23 01 00 00[ ]+aor[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 fc 8c 87 23 01 00 00[ ]+axor[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 fc bc 87 23 01 00 00[ ]+axor[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 72 34 00 f7 d2[ ]+bextr[ ]+r10d,edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f7 94 87 23 01 00 00[ ]+bextr[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 52 84 00 f7 df[ ]+bextr[ ]+r11,r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f7 bc 87 23 01 00 00[ ]+bextr[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d9[ ]+blsi[ ]+edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 df[ ]+blsi[ ]+r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+r31,QWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d1[ ]+blsmsk[ ]+edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 d7[ ]+blsmsk[ ]+r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+r31,QWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 c9[ ]+blsr[ ]+edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 cf[ ]+blsr[ ]+r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+r31,QWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 72 34 00 f5 d2[ ]+bzhi[ ]+r10d,edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f5 94 87 23 01 00 00[ ]+bzhi[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 52 84 00 f5 df[ ]+bzhi[ ]+r11,r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f5 bc 87 23 01 00 00[ ]+bzhi[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e6 94 87 23 01 00 00[ ]+cmpbexadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e6 bc 87 23 01 00 00[ ]+cmpbexadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e2 94 87 23 01 00 00[ ]+cmpbxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e2 bc 87 23 01 00 00[ ]+cmpbxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ec 94 87 23 01 00 00[ ]+cmplxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ec bc 87 23 01 00 00[ ]+cmplxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e7 94 87 23 01 00 00[ ]+cmpnbexadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e7 bc 87 23 01 00 00[ ]+cmpnbexadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e3 94 87 23 01 00 00[ ]+cmpnbxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e3 bc 87 23 01 00 00[ ]+cmpnbxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ef 94 87 23 01 00 00[ ]+cmpnlexadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ef bc 87 23 01 00 00[ ]+cmpnlexadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ed 94 87 23 01 00 00[ ]+cmpnlxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ed bc 87 23 01 00 00[ ]+cmpnlxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e1 94 87 23 01 00 00[ ]+cmpnoxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e1 bc 87 23 01 00 00[ ]+cmpnoxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 eb 94 87 23 01 00 00[ ]+cmpnpxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 eb bc 87 23 01 00 00[ ]+cmpnpxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e9 94 87 23 01 00 00[ ]+cmpnsxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e9 bc 87 23 01 00 00[ ]+cmpnsxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e5 94 87 23 01 00 00[ ]+cmpnzxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e5 bc 87 23 01 00 00[ ]+cmpnzxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e0 94 87 23 01 00 00[ ]+cmpoxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e0 bc 87 23 01 00 00[ ]+cmpoxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ea 94 87 23 01 00 00[ ]+cmppxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ea bc 87 23 01 00 00[ ]+cmppxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e8 94 87 23 01 00 00[ ]+cmpsxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e8 bc 87 23 01 00 00[ ]+cmpsxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e4 94 87 23 01 00 00[ ]+cmpzxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e4 bc 87 23 01 00 00[ ]+cmpzxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 f7[ ]+crc32[ ]+r22,r31 ++[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 37[ ]+crc32[ ]+r22,QWORD PTR \[r31\] ++[ ]*[a-f0-9]+:[ ]*62 ec fc 08 f0 cb[ ]+crc32[ ]+r17,r19b ++[ ]*[a-f0-9]+:[ ]*62 ec 7c 08 f0 eb[ ]+crc32[ ]+r21d,r19b ++[ ]*[a-f0-9]+:[ ]*62 fc 7c 08 f0 1b[ ]+crc32[ ]+ebx,BYTE PTR \[r19\] ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 ff[ ]+crc32[ ]+r23d,r31d ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 3f[ ]+crc32[ ]+r23d,DWORD PTR \[r31\] ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 ef[ ]+crc32[ ]+r21d,r31w ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 2f[ ]+crc32[ ]+r21d,WORD PTR \[r31\] ++[ ]*[a-f0-9]+:[ ]*62 e4 fc 08 f1 d0[ ]+crc32[ ]+r18,rax ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 da d1[ ]+encodekey128[ ]+edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 db d1[ ]+encodekey256[ ]+edx,r25d ++[ ]*[a-f0-9]+:[ ]*67 62 4c 7f 08 f8 8c 87 23 01 00 00[ ]+enqcmd[ ]+r25d,\[r31d\+eax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 f8 bc 87 23 01 00 00[ ]+enqcmd[ ]+r31,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*67 62 4c 7e 08 f8 8c 87 23 01 00 00[ ]+enqcmds[ ]+r25d,\[r31d\+eax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 f8 bc 87 23 01 00 00[ ]+enqcmds[ ]+r31,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f0 bc 87 23 01 00 00[ ]+invept[ ]+r31,OWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f2 bc 87 23 01 00 00[ ]+invpcid[ ]+r31,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f1 bc 87 23 01 00 00[ ]+invvpid[ ]+r31,OWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 61 7d 08 93 cd[ ]+kmovb[ ]+r25d,k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 91 ac 87 23 01 00 00[ ]+kmovb[ ]+BYTE PTR \[r31\+rax\*4\+0x123\],k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 92 e9[ ]+kmovb[ ]+k5,r25d ++[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 90 ac 87 23 01 00 00[ ]+kmovb[ ]+k5,BYTE PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 61 7f 08 93 cd[ ]+kmovd[ ]+r25d,k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 91 ac 87 23 01 00 00[ ]+kmovd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7f 08 92 e9[ ]+kmovd[ ]+k5,r25d ++[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 90 ac 87 23 01 00 00[ ]+kmovd[ ]+k5,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 61 ff 08 93 fd[ ]+kmovq[ ]+r31,k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 91 ac 87 23 01 00 00[ ]+kmovq[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 ff 08 92 ef[ ]+kmovq[ ]+k5,r31 ++[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 90 ac 87 23 01 00 00[ ]+kmovq[ ]+k5,QWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 61 7c 08 93 cd[ ]+kmovw[ ]+r25d,k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 91 ac 87 23 01 00 00[ ]+kmovw[ ]+WORD PTR \[r31\+rax\*4\+0x123\],k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 92 e9[ ]+kmovw[ ]+k5,r25d ++[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 90 ac 87 23 01 00 00[ ]+kmovw[ ]+k5,WORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 7c 08 49 84 87 23 01 00 00[ ]+ldtilecfg[ ]+\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 fc 7d 08 60 c2[ ]+movbe[ ]+ax,r18w ++[ ]*[a-f0-9]+:[ ]*62 ec 7d 08 61 94 80 23 01 00 00[ ]+movbe[ ]+WORD PTR \[r16\+rax\*4\+0x123\],r18w ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 61 94 87 23 01 00 00[ ]+movbe[ ]+WORD PTR \[r31\+rax\*4\+0x123\],r18w ++[ ]*[a-f0-9]+:[ ]*62 dc 7c 08 60 d1[ ]+movbe[ ]+edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 6c 7c 08 61 8c 80 23 01 00 00[ ]+movbe[ ]+DWORD PTR \[r16\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 5c fc 08 60 ff[ ]+movbe[ ]+r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 6c fc 08 61 bc 80 23 01 00 00[ ]+movbe[ ]+QWORD PTR \[r16\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 61 bc 87 23 01 00 00[ ]+movbe[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 6c fc 08 60 bc 80 23 01 00 00[ ]+movbe[ ]+r31,QWORD PTR \[r16\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 60 94 87 23 01 00 00[ ]+movbe[ ]+r18w,WORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 60 8c 87 23 01 00 00[ ]+movbe[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*67 62 4c 7d 08 f8 8c 87 23 01 00 00[ ]+movdir64b[ ]+r25d,\[r31d\+eax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 f8 bc 87 23 01 00 00[ ]+movdir64b[ ]+r31,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 f9 8c 87 23 01 00 00[ ]+movdiri[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 f9 bc 87 23 01 00 00[ ]+movdiri[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 5a 6f 08 f5 d1[ ]+pdep[ ]+r10d,edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 87 08 f5 df[ ]+pdep[ ]+r11,r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 37 00 f5 94 87 23 01 00 00[ ]+pdep[ ]+edx,r25d,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f5 bc 87 23 01 00 00[ ]+pdep[ ]+r15,r31,QWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 5a 6e 08 f5 d1[ ]+pext[ ]+r10d,edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 86 08 f5 df[ ]+pext[ ]+r11,r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 36 00 f5 94 87 23 01 00 00[ ]+pext[ ]+edx,r25d,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 5a 86 00 f5 bc 87 23 01 00 00[ ]+pext[ ]+r15,r31,QWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d9 f7[ ]+sha1msg1 xmm22,xmm23 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d9 b4 87 23 01 00 00[ ]+sha1msg1 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 da f7[ ]+sha1msg2 xmm22,xmm23 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 da b4 87 23 01 00 00[ ]+sha1msg2 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d8 f7[ ]+sha1nexte xmm22,xmm23 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d8 b4 87 23 01 00 00[ ]+sha1nexte xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d4 f7 7b[ ]+sha1rnds4 xmm22,xmm23,0x7b ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d4 b4 87 23 01 00 00 7b[ ]+sha1rnds4 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\],0x7b ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dc f7[ ]+sha256msg1 xmm22,xmm23 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dc b4 87 23 01 00 00[ ]+sha256msg1 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dd f7[ ]+sha256msg2 xmm22,xmm23 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dd b4 87 23 01 00 00[ ]+sha256msg2 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 5c 7c 08 db a4 87 23 01 00 00[ ]+sha256rnds2 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\],xmm0 ++[ ]*[a-f0-9]+:[ ]*62 72 35 00 f7 d2[ ]+shlx[ ]+r10d,edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 f7 94 87 23 01 00 00[ ]+shlx[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 52 85 00 f7 df[ ]+shlx[ ]+r11,r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 f7 bc 87 23 01 00 00[ ]+shlx[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 72 37 00 f7 d2[ ]+shrx[ ]+r10d,edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 37 00 f7 94 87 23 01 00 00[ ]+shrx[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 52 87 00 f7 df[ ]+shrx[ ]+r11,r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f7 bc 87 23 01 00 00[ ]+shrx[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 da 7d 08 49 84 87 23 01 00 00[ ]+sttilecfg[ ]+\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd tmm6,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1 tmm6,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+\[r31\+rax\*4\+0x123\],tmm6 ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 66 8c 87 23 01 00 00[ ]+wrssd[ ]+\[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 66 bc 87 23 01 00 00[ ]+wrssq[ ]+\[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 65 8c 87 23 01 00 00[ ]+wrussd[ ]+\[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c fd 08 65 bc 87 23 01 00 00[ ]+wrussq[ ]+\[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 fc 8c 87 23 01 00 00[ ]+aadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 fc bc 87 23 01 00 00[ ]+aadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 fc 8c 87 23 01 00 00[ ]+aand[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c fd 08 fc bc 87 23 01 00 00[ ]+aand[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dd b4 87 23 01 00 00[ ]+aesdec128kl xmm22,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 df b4 87 23 01 00 00[ ]+aesdec256kl xmm22,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 8c 87 23 01 00 00[ ]+aesdecwide128kl[ ]+\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 9c 87 23 01 00 00[ ]+aesdecwide256kl[ ]+\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dc b4 87 23 01 00 00[ ]+aesenc128kl xmm22,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 de b4 87 23 01 00 00[ ]+aesenc256kl xmm22,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 84 87 23 01 00 00[ ]+aesencwide128kl[ ]+\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 94 87 23 01 00 00[ ]+aesencwide256kl[ ]+\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 fc 8c 87 23 01 00 00[ ]+aor[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c ff 08 fc bc 87 23 01 00 00[ ]+aor[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 fc 8c 87 23 01 00 00[ ]+axor[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 fc bc 87 23 01 00 00[ ]+axor[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 72 34 00 f7 d2[ ]+bextr[ ]+r10d,edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f7 94 87 23 01 00 00[ ]+bextr[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 52 84 00 f7 df[ ]+bextr[ ]+r11,r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f7 bc 87 23 01 00 00[ ]+bextr[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d9[ ]+blsi[ ]+edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 df[ ]+blsi[ ]+r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+r31,QWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d1[ ]+blsmsk[ ]+edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 d7[ ]+blsmsk[ ]+r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+r31,QWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 c9[ ]+blsr[ ]+edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 cf[ ]+blsr[ ]+r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+r31,QWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 72 34 00 f5 d2[ ]+bzhi[ ]+r10d,edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f5 94 87 23 01 00 00[ ]+bzhi[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 52 84 00 f5 df[ ]+bzhi[ ]+r11,r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f5 bc 87 23 01 00 00[ ]+bzhi[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e6 94 87 23 01 00 00[ ]+cmpbexadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e6 bc 87 23 01 00 00[ ]+cmpbexadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e2 94 87 23 01 00 00[ ]+cmpbxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e2 bc 87 23 01 00 00[ ]+cmpbxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ec 94 87 23 01 00 00[ ]+cmplxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ec bc 87 23 01 00 00[ ]+cmplxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e7 94 87 23 01 00 00[ ]+cmpnbexadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e7 bc 87 23 01 00 00[ ]+cmpnbexadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e3 94 87 23 01 00 00[ ]+cmpnbxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e3 bc 87 23 01 00 00[ ]+cmpnbxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ef 94 87 23 01 00 00[ ]+cmpnlexadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ef bc 87 23 01 00 00[ ]+cmpnlexadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ed 94 87 23 01 00 00[ ]+cmpnlxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ed bc 87 23 01 00 00[ ]+cmpnlxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e1 94 87 23 01 00 00[ ]+cmpnoxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e1 bc 87 23 01 00 00[ ]+cmpnoxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 eb 94 87 23 01 00 00[ ]+cmpnpxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 eb bc 87 23 01 00 00[ ]+cmpnpxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e9 94 87 23 01 00 00[ ]+cmpnsxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e9 bc 87 23 01 00 00[ ]+cmpnsxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e5 94 87 23 01 00 00[ ]+cmpnzxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e5 bc 87 23 01 00 00[ ]+cmpnzxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e0 94 87 23 01 00 00[ ]+cmpoxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e0 bc 87 23 01 00 00[ ]+cmpoxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ea 94 87 23 01 00 00[ ]+cmppxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ea bc 87 23 01 00 00[ ]+cmppxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e8 94 87 23 01 00 00[ ]+cmpsxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e8 bc 87 23 01 00 00[ ]+cmpsxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e4 94 87 23 01 00 00[ ]+cmpzxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e4 bc 87 23 01 00 00[ ]+cmpzxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 f7[ ]+crc32[ ]+r22,r31 ++[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 37[ ]+crc32[ ]+r22,QWORD PTR \[r31\] ++[ ]*[a-f0-9]+:[ ]*62 ec fc 08 f0 cb[ ]+crc32[ ]+r17,r19b ++[ ]*[a-f0-9]+:[ ]*62 ec 7c 08 f0 eb[ ]+crc32[ ]+r21d,r19b ++[ ]*[a-f0-9]+:[ ]*62 fc 7c 08 f0 1b[ ]+crc32[ ]+ebx,BYTE PTR \[r19\] ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 ff[ ]+crc32[ ]+r23d,r31d ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 3f[ ]+crc32[ ]+r23d,DWORD PTR \[r31\] ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 ef[ ]+crc32[ ]+r21d,r31w ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 2f[ ]+crc32[ ]+r21d,WORD PTR \[r31\] ++[ ]*[a-f0-9]+:[ ]*62 e4 fc 08 f1 d0[ ]+crc32[ ]+r18,rax ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 da d1[ ]+encodekey128[ ]+edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 db d1[ ]+encodekey256[ ]+edx,r25d ++[ ]*[a-f0-9]+:[ ]*67 62 4c 7f 08 f8 8c 87 23 01 00 00[ ]+enqcmd[ ]+r25d,\[r31d\+eax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 f8 bc 87 23 01 00 00[ ]+enqcmd[ ]+r31,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*67 62 4c 7e 08 f8 8c 87 23 01 00 00[ ]+enqcmds[ ]+r25d,\[r31d\+eax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 f8 bc 87 23 01 00 00[ ]+enqcmds[ ]+r31,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f0 bc 87 23 01 00 00[ ]+invept[ ]+r31,OWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f2 bc 87 23 01 00 00[ ]+invpcid[ ]+r31,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f1 bc 87 23 01 00 00[ ]+invvpid[ ]+r31,OWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 61 7d 08 93 cd[ ]+kmovb[ ]+r25d,k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 91 ac 87 23 01 00 00[ ]+kmovb[ ]+BYTE PTR \[r31\+rax\*4\+0x123\],k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 92 e9[ ]+kmovb[ ]+k5,r25d ++[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 90 ac 87 23 01 00 00[ ]+kmovb[ ]+k5,BYTE PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 61 7f 08 93 cd[ ]+kmovd[ ]+r25d,k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 91 ac 87 23 01 00 00[ ]+kmovd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7f 08 92 e9[ ]+kmovd[ ]+k5,r25d ++[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 90 ac 87 23 01 00 00[ ]+kmovd[ ]+k5,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 61 ff 08 93 fd[ ]+kmovq[ ]+r31,k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 91 ac 87 23 01 00 00[ ]+kmovq[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 ff 08 92 ef[ ]+kmovq[ ]+k5,r31 ++[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 90 ac 87 23 01 00 00[ ]+kmovq[ ]+k5,QWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 61 7c 08 93 cd[ ]+kmovw[ ]+r25d,k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 91 ac 87 23 01 00 00[ ]+kmovw[ ]+WORD PTR \[r31\+rax\*4\+0x123\],k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 92 e9[ ]+kmovw[ ]+k5,r25d ++[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 90 ac 87 23 01 00 00[ ]+kmovw[ ]+k5,WORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 7c 08 49 84 87 23 01 00 00[ ]+ldtilecfg[ ]+\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 fc 7d 08 60 c2[ ]+movbe[ ]+ax,r18w ++[ ]*[a-f0-9]+:[ ]*62 ec 7d 08 61 94 80 23 01 00 00[ ]+movbe[ ]+WORD PTR \[r16\+rax\*4\+0x123\],r18w ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 61 94 87 23 01 00 00[ ]+movbe[ ]+WORD PTR \[r31\+rax\*4\+0x123\],r18w ++[ ]*[a-f0-9]+:[ ]*62 dc 7c 08 60 d1[ ]+movbe[ ]+edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 6c 7c 08 61 8c 80 23 01 00 00[ ]+movbe[ ]+DWORD PTR \[r16\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 5c fc 08 60 ff[ ]+movbe[ ]+r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 6c fc 08 61 bc 80 23 01 00 00[ ]+movbe[ ]+QWORD PTR \[r16\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 61 bc 87 23 01 00 00[ ]+movbe[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 6c fc 08 60 bc 80 23 01 00 00[ ]+movbe[ ]+r31,QWORD PTR \[r16\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 60 94 87 23 01 00 00[ ]+movbe[ ]+r18w,WORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 60 8c 87 23 01 00 00[ ]+movbe[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*67 62 4c 7d 08 f8 8c 87 23 01 00 00[ ]+movdir64b[ ]+r25d,\[r31d\+eax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 f8 bc 87 23 01 00 00[ ]+movdir64b[ ]+r31,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 f9 8c 87 23 01 00 00[ ]+movdiri[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 f9 bc 87 23 01 00 00[ ]+movdiri[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 5a 6f 08 f5 d1[ ]+pdep[ ]+r10d,edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 87 08 f5 df[ ]+pdep[ ]+r11,r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 37 00 f5 94 87 23 01 00 00[ ]+pdep[ ]+edx,r25d,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f5 bc 87 23 01 00 00[ ]+pdep[ ]+r15,r31,QWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 5a 6e 08 f5 d1[ ]+pext[ ]+r10d,edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 5a 86 08 f5 df[ ]+pext[ ]+r11,r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 da 36 00 f5 94 87 23 01 00 00[ ]+pext[ ]+edx,r25d,DWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 5a 86 00 f5 bc 87 23 01 00 00[ ]+pext[ ]+r15,r31,QWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d9 f7[ ]+sha1msg1 xmm22,xmm23 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d9 b4 87 23 01 00 00[ ]+sha1msg1 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 da f7[ ]+sha1msg2 xmm22,xmm23 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 da b4 87 23 01 00 00[ ]+sha1msg2 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d8 f7[ ]+sha1nexte xmm22,xmm23 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d8 b4 87 23 01 00 00[ ]+sha1nexte xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d4 f7 7b[ ]+sha1rnds4 xmm22,xmm23,0x7b ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d4 b4 87 23 01 00 00 7b[ ]+sha1rnds4 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\],0x7b ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dc f7[ ]+sha256msg1 xmm22,xmm23 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dc b4 87 23 01 00 00[ ]+sha256msg1 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dd f7[ ]+sha256msg2 xmm22,xmm23 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dd b4 87 23 01 00 00[ ]+sha256msg2 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 5c 7c 08 db a4 87 23 01 00 00[ ]+sha256rnds2 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\],xmm0 ++[ ]*[a-f0-9]+:[ ]*62 72 35 00 f7 d2[ ]+shlx[ ]+r10d,edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 f7 94 87 23 01 00 00[ ]+shlx[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 52 85 00 f7 df[ ]+shlx[ ]+r11,r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 f7 bc 87 23 01 00 00[ ]+shlx[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 72 37 00 f7 d2[ ]+shrx[ ]+r10d,edx,r25d ++[ ]*[a-f0-9]+:[ ]*62 da 37 00 f7 94 87 23 01 00 00[ ]+shrx[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 52 87 00 f7 df[ ]+shrx[ ]+r11,r15,r31 ++[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f7 bc 87 23 01 00 00[ ]+shrx[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 da 7d 08 49 84 87 23 01 00 00[ ]+sttilecfg[ ]+\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd tmm6,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1 tmm6,\[r31\+rax\*4\+0x123\] ++[ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+\[r31\+rax\*4\+0x123\],tmm6 ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 66 8c 87 23 01 00 00[ ]+wrssd[ ]+\[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 66 bc 87 23 01 00 00[ ]+wrssq[ ]+\[r31\+rax\*4\+0x123\],r31 ++[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 65 8c 87 23 01 00 00[ ]+wrussd[ ]+\[r31\+rax\*4\+0x123\],r25d ++[ ]*[a-f0-9]+:[ ]*62 4c fd 08 65 bc 87 23 01 00 00[ ]+wrussq[ ]+\[r31\+rax\*4\+0x123\],r31 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d 2024-01-18 13:32:46.363889338 +0000 +@@ -0,0 +1,318 @@ ++#as: ++#objdump: -dw ++#name: x86_64 APX_F EVEX-Promoted insns ++#source: x86-64-apx-evex-promoted.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 fc 8c 87 23 01 00 00[ ]+aadd[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 fc bc 87 23 01 00 00[ ]+aadd[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 fc 8c 87 23 01 00 00[ ]+aand[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fd 08 fc bc 87 23 01 00 00[ ]+aand[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dd b4 87 23 01 00 00[ ]+aesdec128kl[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 df b4 87 23 01 00 00[ ]+aesdec256kl[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 8c 87 23 01 00 00[ ]+aesdecwide128kl[ ]+0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 9c 87 23 01 00 00[ ]+aesdecwide256kl[ ]+0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dc b4 87 23 01 00 00[ ]+aesenc128kl[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 de b4 87 23 01 00 00[ ]+aesenc256kl[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 84 87 23 01 00 00[ ]+aesencwide128kl[ ]+0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 94 87 23 01 00 00[ ]+aesencwide256kl[ ]+0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 fc 8c 87 23 01 00 00[ ]+aor[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c ff 08 fc bc 87 23 01 00 00[ ]+aor[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 fc 8c 87 23 01 00 00[ ]+axor[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 fc bc 87 23 01 00 00[ ]+axor[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 72 34 00 f7 d2[ ]+bextr[ ]+%r25d,%edx,%r10d ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f7 94 87 23 01 00 00[ ]+bextr[ ]+%r25d,0x123\(%r31,%rax,4\),%edx ++[ ]*[a-f0-9]+:[ ]*62 52 84 00 f7 df[ ]+bextr[ ]+%r31,%r15,%r11 ++[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f7 bc 87 23 01 00 00[ ]+bextr[ ]+%r31,0x123\(%r31,%rax,4\),%r15 ++[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d9[ ]+blsi[ ]+%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 df[ ]+blsi[ ]+%r31,%r15 ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+0x123\(%r31,%rax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d1[ ]+blsmsk[ ]+%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 d7[ ]+blsmsk[ ]+%r31,%r15 ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+0x123\(%r31,%rax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 c9[ ]+blsr[ ]+%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 cf[ ]+blsr[ ]+%r31,%r15 ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+0x123\(%r31,%rax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 72 34 00 f5 d2[ ]+bzhi[ ]+%r25d,%edx,%r10d ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f5 94 87 23 01 00 00[ ]+bzhi[ ]+%r25d,0x123\(%r31,%rax,4\),%edx ++[ ]*[a-f0-9]+:[ ]*62 52 84 00 f5 df[ ]+bzhi[ ]+%r31,%r15,%r11 ++[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f5 bc 87 23 01 00 00[ ]+bzhi[ ]+%r31,0x123\(%r31,%rax,4\),%r15 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e6 94 87 23 01 00 00[ ]+cmpbexadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e6 bc 87 23 01 00 00[ ]+cmpbexadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e2 94 87 23 01 00 00[ ]+cmpbxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e2 bc 87 23 01 00 00[ ]+cmpbxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ec 94 87 23 01 00 00[ ]+cmplxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ec bc 87 23 01 00 00[ ]+cmplxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e7 94 87 23 01 00 00[ ]+cmpnbexadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e7 bc 87 23 01 00 00[ ]+cmpnbexadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e3 94 87 23 01 00 00[ ]+cmpnbxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e3 bc 87 23 01 00 00[ ]+cmpnbxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ef 94 87 23 01 00 00[ ]+cmpnlexadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ef bc 87 23 01 00 00[ ]+cmpnlexadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ed 94 87 23 01 00 00[ ]+cmpnlxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ed bc 87 23 01 00 00[ ]+cmpnlxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e1 94 87 23 01 00 00[ ]+cmpnoxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e1 bc 87 23 01 00 00[ ]+cmpnoxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 eb 94 87 23 01 00 00[ ]+cmpnpxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 eb bc 87 23 01 00 00[ ]+cmpnpxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e9 94 87 23 01 00 00[ ]+cmpnsxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e9 bc 87 23 01 00 00[ ]+cmpnsxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e5 94 87 23 01 00 00[ ]+cmpnzxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e5 bc 87 23 01 00 00[ ]+cmpnzxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e0 94 87 23 01 00 00[ ]+cmpoxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e0 bc 87 23 01 00 00[ ]+cmpoxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ea 94 87 23 01 00 00[ ]+cmppxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ea bc 87 23 01 00 00[ ]+cmppxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e8 94 87 23 01 00 00[ ]+cmpsxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e8 bc 87 23 01 00 00[ ]+cmpsxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e4 94 87 23 01 00 00[ ]+cmpzxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e4 bc 87 23 01 00 00[ ]+cmpzxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 f7[ ]+crc32 %r31,%r22 ++[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 37[ ]+crc32q \(%r31\),%r22 ++[ ]*[a-f0-9]+:[ ]*62 ec fc 08 f0 cb[ ]+crc32 %r19b,%r17 ++[ ]*[a-f0-9]+:[ ]*62 ec 7c 08 f0 eb[ ]+crc32 %r19b,%r21d ++[ ]*[a-f0-9]+:[ ]*62 fc 7c 08 f0 1b[ ]+crc32b \(%r19\),%ebx ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 ff[ ]+crc32 %r31d,%r23d ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 3f[ ]+crc32l \(%r31\),%r23d ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 ef[ ]+crc32 %r31w,%r21d ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 2f[ ]+crc32w \(%r31\),%r21d ++[ ]*[a-f0-9]+:[ ]*62 e4 fc 08 f1 d0[ ]+crc32 %rax,%r18 ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 da d1[ ]+encodekey128[ ]+%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 db d1[ ]+encodekey256[ ]+%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*67 62 4c 7f 08 f8 8c 87 23 01 00 00[ ]+enqcmd[ ]+0x123\(%r31d,%eax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 f8 bc 87 23 01 00 00[ ]+enqcmd[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*67 62 4c 7e 08 f8 8c 87 23 01 00 00[ ]+enqcmds[ ]+0x123\(%r31d,%eax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 f8 bc 87 23 01 00 00[ ]+enqcmds[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f0 bc 87 23 01 00 00[ ]+invept[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f2 bc 87 23 01 00 00[ ]+invpcid[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f1 bc 87 23 01 00 00[ ]+invvpid[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 61 7d 08 93 cd[ ]+kmovb[ ]+%k5,%r25d ++[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 91 ac 87 23 01 00 00[ ]+kmovb[ ]+%k5,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 92 e9[ ]+kmovb[ ]+%r25d,%k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 90 ac 87 23 01 00 00[ ]+kmovb[ ]+0x123\(%r31,%rax,4\),%k5 ++[ ]*[a-f0-9]+:[ ]*62 61 7f 08 93 cd[ ]+kmovd[ ]+%k5,%r25d ++[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 91 ac 87 23 01 00 00[ ]+kmovd[ ]+%k5,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 d9 7f 08 92 e9[ ]+kmovd[ ]+%r25d,%k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 90 ac 87 23 01 00 00[ ]+kmovd[ ]+0x123\(%r31,%rax,4\),%k5 ++[ ]*[a-f0-9]+:[ ]*62 61 ff 08 93 fd[ ]+kmovq[ ]+%k5,%r31 ++[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 91 ac 87 23 01 00 00[ ]+kmovq[ ]+%k5,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 d9 ff 08 92 ef[ ]+kmovq[ ]+%r31,%k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 90 ac 87 23 01 00 00[ ]+kmovq[ ]+0x123\(%r31,%rax,4\),%k5 ++[ ]*[a-f0-9]+:[ ]*62 61 7c 08 93 cd[ ]+kmovw[ ]+%k5,%r25d ++[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 91 ac 87 23 01 00 00[ ]+kmovw[ ]+%k5,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 92 e9[ ]+kmovw[ ]+%r25d,%k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 90 ac 87 23 01 00 00[ ]+kmovw[ ]+0x123\(%r31,%rax,4\),%k5 ++[ ]*[a-f0-9]+:[ ]*62 da 7c 08 49 84 87 23 01 00 00[ ]+ldtilecfg[ ]+0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 fc 7d 08 60 c2[ ]+movbe[ ]+%r18w,%ax ++[ ]*[a-f0-9]+:[ ]*62 ec 7d 08 61 94 80 23 01 00 00[ ]+movbe[ ]+%r18w,0x123\(%r16,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 61 94 87 23 01 00 00[ ]+movbe[ ]+%r18w,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 dc 7c 08 60 d1[ ]+movbe[ ]+%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 6c 7c 08 61 8c 80 23 01 00 00[ ]+movbe[ ]+%r25d,0x123\(%r16,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5c fc 08 60 ff[ ]+movbe[ ]+%r31,%r15 ++[ ]*[a-f0-9]+:[ ]*62 6c fc 08 61 bc 80 23 01 00 00[ ]+movbe[ ]+%r31,0x123\(%r16,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 61 bc 87 23 01 00 00[ ]+movbe[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 6c fc 08 60 bc 80 23 01 00 00[ ]+movbe[ ]+0x123\(%r16,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 60 94 87 23 01 00 00[ ]+movbe[ ]+0x123\(%r31,%rax,4\),%r18w ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 60 8c 87 23 01 00 00[ ]+movbe[ ]+0x123\(%r31,%rax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*67 62 4c 7d 08 f8 8c 87 23 01 00 00[ ]+movdir64b[ ]+0x123\(%r31d,%eax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 f8 bc 87 23 01 00 00[ ]+movdir64b[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 f9 8c 87 23 01 00 00[ ]+movdiri[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 f9 bc 87 23 01 00 00[ ]+movdiri[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 6f 08 f5 d1[ ]+pdep[ ]+%r25d,%edx,%r10d ++[ ]*[a-f0-9]+:[ ]*62 5a 87 08 f5 df[ ]+pdep[ ]+%r31,%r15,%r11 ++[ ]*[a-f0-9]+:[ ]*62 da 37 00 f5 94 87 23 01 00 00[ ]+pdep[ ]+0x123\(%r31,%rax,4\),%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f5 bc 87 23 01 00 00[ ]+pdep[ ]+0x123\(%r31,%rax,4\),%r31,%r15 ++[ ]*[a-f0-9]+:[ ]*62 5a 6e 08 f5 d1[ ]+pext[ ]+%r25d,%edx,%r10d ++[ ]*[a-f0-9]+:[ ]*62 5a 86 08 f5 df[ ]+pext[ ]+%r31,%r15,%r11 ++[ ]*[a-f0-9]+:[ ]*62 da 36 00 f5 94 87 23 01 00 00[ ]+pext[ ]+0x123\(%r31,%rax,4\),%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 5a 86 00 f5 bc 87 23 01 00 00[ ]+pext[ ]+0x123\(%r31,%rax,4\),%r31,%r15 ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d9 f7[ ]+sha1msg1[ ]+%xmm23,%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d9 b4 87 23 01 00 00[ ]+sha1msg1[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 da f7[ ]+sha1msg2[ ]+%xmm23,%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 da b4 87 23 01 00 00[ ]+sha1msg2[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d8 f7[ ]+sha1nexte[ ]+%xmm23,%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d8 b4 87 23 01 00 00[ ]+sha1nexte[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d4 f7 7b[ ]+sha1rnds4[ ]+\$0x7b,%xmm23,%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d4 b4 87 23 01 00 00 7b[ ]+sha1rnds4[ ]+\$0x7b,0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dc f7[ ]+sha256msg1[ ]+%xmm23,%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dc b4 87 23 01 00 00[ ]+sha256msg1[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dd f7[ ]+sha256msg2[ ]+%xmm23,%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dd b4 87 23 01 00 00[ ]+sha256msg2[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 5c 7c 08 db a4 87 23 01 00 00[ ]+sha256rnds2[ ]+%xmm0,0x123\(%r31,%rax,4\),%xmm12 ++[ ]*[a-f0-9]+:[ ]*62 72 35 00 f7 d2[ ]+shlx[ ]+%r25d,%edx,%r10d ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 f7 94 87 23 01 00 00[ ]+shlx[ ]+%r25d,0x123\(%r31,%rax,4\),%edx ++[ ]*[a-f0-9]+:[ ]*62 52 85 00 f7 df[ ]+shlx[ ]+%r31,%r15,%r11 ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 f7 bc 87 23 01 00 00[ ]+shlx[ ]+%r31,0x123\(%r31,%rax,4\),%r15 ++[ ]*[a-f0-9]+:[ ]*62 72 37 00 f7 d2[ ]+shrx[ ]+%r25d,%edx,%r10d ++[ ]*[a-f0-9]+:[ ]*62 da 37 00 f7 94 87 23 01 00 00[ ]+shrx[ ]+%r25d,0x123\(%r31,%rax,4\),%edx ++[ ]*[a-f0-9]+:[ ]*62 52 87 00 f7 df[ ]+shrx[ ]+%r31,%r15,%r11 ++[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f7 bc 87 23 01 00 00[ ]+shrx[ ]+%r31,0x123\(%r31,%rax,4\),%r15 ++[ ]*[a-f0-9]+:[ ]*62 da 7d 08 49 84 87 23 01 00 00[ ]+sttilecfg[ ]+0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd[ ]+0x123\(%r31,%rax,4\),%tmm6 ++[ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1[ ]+0x123\(%r31,%rax,4\),%tmm6 ++[ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+%tmm6,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 66 8c 87 23 01 00 00[ ]+wrssd[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 66 bc 87 23 01 00 00[ ]+wrssq[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 65 8c 87 23 01 00 00[ ]+wrussd[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fd 08 65 bc 87 23 01 00 00[ ]+wrussq[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 fc 8c 87 23 01 00 00[ ]+aadd[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 fc bc 87 23 01 00 00[ ]+aadd[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 fc 8c 87 23 01 00 00[ ]+aand[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fd 08 fc bc 87 23 01 00 00[ ]+aand[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dd b4 87 23 01 00 00[ ]+aesdec128kl[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 df b4 87 23 01 00 00[ ]+aesdec256kl[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 8c 87 23 01 00 00[ ]+aesdecwide128kl[ ]+0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 9c 87 23 01 00 00[ ]+aesdecwide256kl[ ]+0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dc b4 87 23 01 00 00[ ]+aesenc128kl[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 de b4 87 23 01 00 00[ ]+aesenc256kl[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 84 87 23 01 00 00[ ]+aesencwide128kl[ ]+0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 94 87 23 01 00 00[ ]+aesencwide256kl[ ]+0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 fc 8c 87 23 01 00 00[ ]+aor[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c ff 08 fc bc 87 23 01 00 00[ ]+aor[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 fc 8c 87 23 01 00 00[ ]+axor[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 fc bc 87 23 01 00 00[ ]+axor[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 72 34 00 f7 d2[ ]+bextr[ ]+%r25d,%edx,%r10d ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f7 94 87 23 01 00 00[ ]+bextr[ ]+%r25d,0x123\(%r31,%rax,4\),%edx ++[ ]*[a-f0-9]+:[ ]*62 52 84 00 f7 df[ ]+bextr[ ]+%r31,%r15,%r11 ++[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f7 bc 87 23 01 00 00[ ]+bextr[ ]+%r31,0x123\(%r31,%rax,4\),%r15 ++[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d9[ ]+blsi[ ]+%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 df[ ]+blsi[ ]+%r31,%r15 ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+0x123\(%r31,%rax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d1[ ]+blsmsk[ ]+%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 d7[ ]+blsmsk[ ]+%r31,%r15 ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+0x123\(%r31,%rax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 c9[ ]+blsr[ ]+%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 cf[ ]+blsr[ ]+%r31,%r15 ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+0x123\(%r31,%rax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 72 34 00 f5 d2[ ]+bzhi[ ]+%r25d,%edx,%r10d ++[ ]*[a-f0-9]+:[ ]*62 da 34 00 f5 94 87 23 01 00 00[ ]+bzhi[ ]+%r25d,0x123\(%r31,%rax,4\),%edx ++[ ]*[a-f0-9]+:[ ]*62 52 84 00 f5 df[ ]+bzhi[ ]+%r31,%r15,%r11 ++[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f5 bc 87 23 01 00 00[ ]+bzhi[ ]+%r31,0x123\(%r31,%rax,4\),%r15 ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e6 94 87 23 01 00 00[ ]+cmpbexadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e6 bc 87 23 01 00 00[ ]+cmpbexadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e2 94 87 23 01 00 00[ ]+cmpbxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e2 bc 87 23 01 00 00[ ]+cmpbxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ec 94 87 23 01 00 00[ ]+cmplxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ec bc 87 23 01 00 00[ ]+cmplxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e7 94 87 23 01 00 00[ ]+cmpnbexadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e7 bc 87 23 01 00 00[ ]+cmpnbexadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e3 94 87 23 01 00 00[ ]+cmpnbxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e3 bc 87 23 01 00 00[ ]+cmpnbxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ef 94 87 23 01 00 00[ ]+cmpnlexadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ef bc 87 23 01 00 00[ ]+cmpnlexadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ed 94 87 23 01 00 00[ ]+cmpnlxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ed bc 87 23 01 00 00[ ]+cmpnlxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e1 94 87 23 01 00 00[ ]+cmpnoxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e1 bc 87 23 01 00 00[ ]+cmpnoxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 eb 94 87 23 01 00 00[ ]+cmpnpxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 eb bc 87 23 01 00 00[ ]+cmpnpxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e9 94 87 23 01 00 00[ ]+cmpnsxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e9 bc 87 23 01 00 00[ ]+cmpnsxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e5 94 87 23 01 00 00[ ]+cmpnzxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e5 bc 87 23 01 00 00[ ]+cmpnzxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e0 94 87 23 01 00 00[ ]+cmpoxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e0 bc 87 23 01 00 00[ ]+cmpoxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 ea 94 87 23 01 00 00[ ]+cmppxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ea bc 87 23 01 00 00[ ]+cmppxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e8 94 87 23 01 00 00[ ]+cmpsxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e8 bc 87 23 01 00 00[ ]+cmpsxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 e4 94 87 23 01 00 00[ ]+cmpzxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e4 bc 87 23 01 00 00[ ]+cmpzxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 f7[ ]+crc32 %r31,%r22 ++[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 37[ ]+crc32q \(%r31\),%r22 ++[ ]*[a-f0-9]+:[ ]*62 ec fc 08 f0 cb[ ]+crc32 %r19b,%r17 ++[ ]*[a-f0-9]+:[ ]*62 ec 7c 08 f0 eb[ ]+crc32 %r19b,%r21d ++[ ]*[a-f0-9]+:[ ]*62 fc 7c 08 f0 1b[ ]+crc32b \(%r19\),%ebx ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 ff[ ]+crc32 %r31d,%r23d ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 3f[ ]+crc32l \(%r31\),%r23d ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 ef[ ]+crc32 %r31w,%r21d ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 2f[ ]+crc32w \(%r31\),%r21d ++[ ]*[a-f0-9]+:[ ]*62 e4 fc 08 f1 d0[ ]+crc32 %rax,%r18 ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 da d1[ ]+encodekey128[ ]+%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 db d1[ ]+encodekey256[ ]+%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*67 62 4c 7f 08 f8 8c 87 23 01 00 00[ ]+enqcmd[ ]+0x123\(%r31d,%eax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 f8 bc 87 23 01 00 00[ ]+enqcmd[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*67 62 4c 7e 08 f8 8c 87 23 01 00 00[ ]+enqcmds[ ]+0x123\(%r31d,%eax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 f8 bc 87 23 01 00 00[ ]+enqcmds[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f0 bc 87 23 01 00 00[ ]+invept[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f2 bc 87 23 01 00 00[ ]+invpcid[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f1 bc 87 23 01 00 00[ ]+invvpid[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 61 7d 08 93 cd[ ]+kmovb[ ]+%k5,%r25d ++[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 91 ac 87 23 01 00 00[ ]+kmovb[ ]+%k5,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 92 e9[ ]+kmovb[ ]+%r25d,%k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 90 ac 87 23 01 00 00[ ]+kmovb[ ]+0x123\(%r31,%rax,4\),%k5 ++[ ]*[a-f0-9]+:[ ]*62 61 7f 08 93 cd[ ]+kmovd[ ]+%k5,%r25d ++[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 91 ac 87 23 01 00 00[ ]+kmovd[ ]+%k5,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 d9 7f 08 92 e9[ ]+kmovd[ ]+%r25d,%k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 90 ac 87 23 01 00 00[ ]+kmovd[ ]+0x123\(%r31,%rax,4\),%k5 ++[ ]*[a-f0-9]+:[ ]*62 61 ff 08 93 fd[ ]+kmovq[ ]+%k5,%r31 ++[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 91 ac 87 23 01 00 00[ ]+kmovq[ ]+%k5,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 d9 ff 08 92 ef[ ]+kmovq[ ]+%r31,%k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 90 ac 87 23 01 00 00[ ]+kmovq[ ]+0x123\(%r31,%rax,4\),%k5 ++[ ]*[a-f0-9]+:[ ]*62 61 7c 08 93 cd[ ]+kmovw[ ]+%k5,%r25d ++[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 91 ac 87 23 01 00 00[ ]+kmovw[ ]+%k5,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 92 e9[ ]+kmovw[ ]+%r25d,%k5 ++[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 90 ac 87 23 01 00 00[ ]+kmovw[ ]+0x123\(%r31,%rax,4\),%k5 ++[ ]*[a-f0-9]+:[ ]*62 da 7c 08 49 84 87 23 01 00 00[ ]+ldtilecfg[ ]+0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 fc 7d 08 60 c2[ ]+movbe[ ]+%r18w,%ax ++[ ]*[a-f0-9]+:[ ]*62 ec 7d 08 61 94 80 23 01 00 00[ ]+movbe[ ]+%r18w,0x123\(%r16,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 61 94 87 23 01 00 00[ ]+movbe[ ]+%r18w,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 dc 7c 08 60 d1[ ]+movbe[ ]+%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 6c 7c 08 61 8c 80 23 01 00 00[ ]+movbe[ ]+%r25d,0x123\(%r16,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5c fc 08 60 ff[ ]+movbe[ ]+%r31,%r15 ++[ ]*[a-f0-9]+:[ ]*62 6c fc 08 61 bc 80 23 01 00 00[ ]+movbe[ ]+%r31,0x123\(%r16,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 61 bc 87 23 01 00 00[ ]+movbe[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 6c fc 08 60 bc 80 23 01 00 00[ ]+movbe[ ]+0x123\(%r16,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 60 94 87 23 01 00 00[ ]+movbe[ ]+0x123\(%r31,%rax,4\),%r18w ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 60 8c 87 23 01 00 00[ ]+movbe[ ]+0x123\(%r31,%rax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*67 62 4c 7d 08 f8 8c 87 23 01 00 00[ ]+movdir64b[ ]+0x123\(%r31d,%eax,4\),%r25d ++[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 f8 bc 87 23 01 00 00[ ]+movdir64b[ ]+0x123\(%r31,%rax,4\),%r31 ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 f9 8c 87 23 01 00 00[ ]+movdiri[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 f9 bc 87 23 01 00 00[ ]+movdiri[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 5a 6f 08 f5 d1[ ]+pdep[ ]+%r25d,%edx,%r10d ++[ ]*[a-f0-9]+:[ ]*62 5a 87 08 f5 df[ ]+pdep[ ]+%r31,%r15,%r11 ++[ ]*[a-f0-9]+:[ ]*62 da 37 00 f5 94 87 23 01 00 00[ ]+pdep[ ]+0x123\(%r31,%rax,4\),%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f5 bc 87 23 01 00 00[ ]+pdep[ ]+0x123\(%r31,%rax,4\),%r31,%r15 ++[ ]*[a-f0-9]+:[ ]*62 5a 6e 08 f5 d1[ ]+pext[ ]+%r25d,%edx,%r10d ++[ ]*[a-f0-9]+:[ ]*62 5a 86 08 f5 df[ ]+pext[ ]+%r31,%r15,%r11 ++[ ]*[a-f0-9]+:[ ]*62 da 36 00 f5 94 87 23 01 00 00[ ]+pext[ ]+0x123\(%r31,%rax,4\),%r25d,%edx ++[ ]*[a-f0-9]+:[ ]*62 5a 86 00 f5 bc 87 23 01 00 00[ ]+pext[ ]+0x123\(%r31,%rax,4\),%r31,%r15 ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d9 f7[ ]+sha1msg1[ ]+%xmm23,%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d9 b4 87 23 01 00 00[ ]+sha1msg1[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 da f7[ ]+sha1msg2[ ]+%xmm23,%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 da b4 87 23 01 00 00[ ]+sha1msg2[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d8 f7[ ]+sha1nexte[ ]+%xmm23,%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d8 b4 87 23 01 00 00[ ]+sha1nexte[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d4 f7 7b[ ]+sha1rnds4[ ]+\$0x7b,%xmm23,%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d4 b4 87 23 01 00 00 7b[ ]+sha1rnds4[ ]+\$0x7b,0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dc f7[ ]+sha256msg1[ ]+%xmm23,%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dc b4 87 23 01 00 00[ ]+sha256msg1[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dd f7[ ]+sha256msg2[ ]+%xmm23,%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dd b4 87 23 01 00 00[ ]+sha256msg2[ ]+0x123\(%r31,%rax,4\),%xmm22 ++[ ]*[a-f0-9]+:[ ]*62 5c 7c 08 db a4 87 23 01 00 00[ ]+sha256rnds2[ ]+%xmm0,0x123\(%r31,%rax,4\),%xmm12 ++[ ]*[a-f0-9]+:[ ]*62 72 35 00 f7 d2[ ]+shlx[ ]+%r25d,%edx,%r10d ++[ ]*[a-f0-9]+:[ ]*62 da 35 00 f7 94 87 23 01 00 00[ ]+shlx[ ]+%r25d,0x123\(%r31,%rax,4\),%edx ++[ ]*[a-f0-9]+:[ ]*62 52 85 00 f7 df[ ]+shlx[ ]+%r31,%r15,%r11 ++[ ]*[a-f0-9]+:[ ]*62 5a 85 00 f7 bc 87 23 01 00 00[ ]+shlx[ ]+%r31,0x123\(%r31,%rax,4\),%r15 ++[ ]*[a-f0-9]+:[ ]*62 72 37 00 f7 d2[ ]+shrx[ ]+%r25d,%edx,%r10d ++[ ]*[a-f0-9]+:[ ]*62 da 37 00 f7 94 87 23 01 00 00[ ]+shrx[ ]+%r25d,0x123\(%r31,%rax,4\),%edx ++[ ]*[a-f0-9]+:[ ]*62 52 87 00 f7 df[ ]+shrx[ ]+%r31,%r15,%r11 ++[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f7 bc 87 23 01 00 00[ ]+shrx[ ]+%r31,0x123\(%r31,%rax,4\),%r15 ++[ ]*[a-f0-9]+:[ ]*62 da 7d 08 49 84 87 23 01 00 00[ ]+sttilecfg[ ]+0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd[ ]+0x123\(%r31,%rax,4\),%tmm6 ++[ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1[ ]+0x123\(%r31,%rax,4\),%tmm6 ++[ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+%tmm6,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 66 8c 87 23 01 00 00[ ]+wrssd[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fc 08 66 bc 87 23 01 00 00[ ]+wrssq[ ]+%r31,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 65 8c 87 23 01 00 00[ ]+wrussd[ ]+%r25d,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 4c fd 08 65 bc 87 23 01 00 00[ ]+wrussq[ ]+%r31,0x123\(%r31,%rax,4\) +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s 2024-01-18 13:32:46.363889338 +0000 +@@ -0,0 +1,314 @@ ++# Check 64bit APX_F EVEX-Promoted instructions. ++ ++ .text ++_start: ++ aadd %r25d,0x123(%r31,%rax,4) ++ aadd %r31,0x123(%r31,%rax,4) ++ aand %r25d,0x123(%r31,%rax,4) ++ aand %r31,0x123(%r31,%rax,4) ++ aesdec128kl 0x123(%r31,%rax,4),%xmm22 ++ aesdec256kl 0x123(%r31,%rax,4),%xmm22 ++ aesdecwide128kl 0x123(%r31,%rax,4) ++ aesdecwide256kl 0x123(%r31,%rax,4) ++ aesenc128kl 0x123(%r31,%rax,4),%xmm22 ++ aesenc256kl 0x123(%r31,%rax,4),%xmm22 ++ aesencwide128kl 0x123(%r31,%rax,4) ++ aesencwide256kl 0x123(%r31,%rax,4) ++ aor %r25d,0x123(%r31,%rax,4) ++ aor %r31,0x123(%r31,%rax,4) ++ axor %r25d,0x123(%r31,%rax,4) ++ axor %r31,0x123(%r31,%rax,4) ++ bextr %r25d,%edx,%r10d ++ bextr %r25d,0x123(%r31,%rax,4),%edx ++ bextr %r31,%r15,%r11 ++ bextr %r31,0x123(%r31,%rax,4),%r15 ++ blsi %r25d,%edx ++ blsi %r31,%r15 ++ blsi 0x123(%r31,%rax,4),%r25d ++ blsi 0x123(%r31,%rax,4),%r31 ++ blsmsk %r25d,%edx ++ blsmsk %r31,%r15 ++ blsmsk 0x123(%r31,%rax,4),%r25d ++ blsmsk 0x123(%r31,%rax,4),%r31 ++ blsr %r25d,%edx ++ blsr %r31,%r15 ++ blsr 0x123(%r31,%rax,4),%r25d ++ blsr 0x123(%r31,%rax,4),%r31 ++ bzhi %r25d,%edx,%r10d ++ bzhi %r25d,0x123(%r31,%rax,4),%edx ++ bzhi %r31,%r15,%r11 ++ bzhi %r31,0x123(%r31,%rax,4),%r15 ++ cmpbexadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpbexadd %r31,%r15,0x123(%r31,%rax,4) ++ cmpbxadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpbxadd %r31,%r15,0x123(%r31,%rax,4) ++ cmplxadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmplxadd %r31,%r15,0x123(%r31,%rax,4) ++ cmpnbexadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpnbexadd %r31,%r15,0x123(%r31,%rax,4) ++ cmpnbxadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpnbxadd %r31,%r15,0x123(%r31,%rax,4) ++ cmpnlexadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpnlexadd %r31,%r15,0x123(%r31,%rax,4) ++ cmpnlxadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpnlxadd %r31,%r15,0x123(%r31,%rax,4) ++ cmpnoxadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpnoxadd %r31,%r15,0x123(%r31,%rax,4) ++ cmpnpxadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpnpxadd %r31,%r15,0x123(%r31,%rax,4) ++ cmpnsxadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpnsxadd %r31,%r15,0x123(%r31,%rax,4) ++ cmpnzxadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpnzxadd %r31,%r15,0x123(%r31,%rax,4) ++ cmpoxadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpoxadd %r31,%r15,0x123(%r31,%rax,4) ++ cmppxadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmppxadd %r31,%r15,0x123(%r31,%rax,4) ++ cmpsxadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpsxadd %r31,%r15,0x123(%r31,%rax,4) ++ cmpzxadd %r25d,%edx,0x123(%r31,%rax,4) ++ cmpzxadd %r31,%r15,0x123(%r31,%rax,4) ++ crc32q %r31, %r22 ++ crc32q (%r31), %r22 ++ crc32b %r19b, %r17 ++ crc32b %r19b, %r21d ++ crc32b (%r19),%ebx ++ crc32l %r31d, %r23d ++ crc32l (%r31), %r23d ++ crc32w %r31w, %r21d ++ crc32w (%r31),%r21d ++ crc32 %rax, %r18 ++ encodekey128 %r25d,%edx ++ encodekey256 %r25d,%edx ++ enqcmd 0x123(%r31d,%eax,4),%r25d ++ enqcmd 0x123(%r31,%rax,4),%r31 ++ enqcmds 0x123(%r31d,%eax,4),%r25d ++ enqcmds 0x123(%r31,%rax,4),%r31 ++ invept 0x123(%r31,%rax,4),%r31 ++ invpcid 0x123(%r31,%rax,4),%r31 ++ invvpid 0x123(%r31,%rax,4),%r31 ++ kmovb %k5,%r25d ++ kmovb %k5,0x123(%r31,%rax,4) ++ kmovb %r25d,%k5 ++ kmovb 0x123(%r31,%rax,4),%k5 ++ kmovd %k5,%r25d ++ kmovd %k5,0x123(%r31,%rax,4) ++ kmovd %r25d,%k5 ++ kmovd 0x123(%r31,%rax,4),%k5 ++ kmovq %k5,%r31 ++ kmovq %k5,0x123(%r31,%rax,4) ++ kmovq %r31,%k5 ++ kmovq 0x123(%r31,%rax,4),%k5 ++ kmovw %k5,%r25d ++ kmovw %k5,0x123(%r31,%rax,4) ++ kmovw %r25d,%k5 ++ kmovw 0x123(%r31,%rax,4),%k5 ++ ldtilecfg 0x123(%r31,%rax,4) ++ movbe %r18w,%ax ++ movbe %r18w,0x123(%r16,%rax,4) ++ movbe %r18w,0x123(%r31,%rax,4) ++ movbe %r25d,%edx ++ movbe %r25d,0x123(%r16,%rax,4) ++ movbe %r31,%r15 ++ movbe %r31,0x123(%r16,%rax,4) ++ movbe %r31,0x123(%r31,%rax,4) ++ movbe 0x123(%r16,%rax,4),%r31 ++ movbe 0x123(%r31,%rax,4),%r18w ++ movbe 0x123(%r31,%rax,4),%r25d ++ movdir64b 0x123(%r31d,%eax,4),%r25d ++ movdir64b 0x123(%r31,%rax,4),%r31 ++ movdiri %r25d,0x123(%r31,%rax,4) ++ movdiri %r31,0x123(%r31,%rax,4) ++ pdep %r25d,%edx,%r10d ++ pdep %r31,%r15,%r11 ++ pdep 0x123(%r31,%rax,4),%r25d,%edx ++ pdep 0x123(%r31,%rax,4),%r31,%r15 ++ pext %r25d,%edx,%r10d ++ pext %r31,%r15,%r11 ++ pext 0x123(%r31,%rax,4),%r25d,%edx ++ pext 0x123(%r31,%rax,4),%r31,%r15 ++ sha1msg1 %xmm23,%xmm22 ++ sha1msg1 0x123(%r31,%rax,4),%xmm22 ++ sha1msg2 %xmm23,%xmm22 ++ sha1msg2 0x123(%r31,%rax,4),%xmm22 ++ sha1nexte %xmm23,%xmm22 ++ sha1nexte 0x123(%r31,%rax,4),%xmm22 ++ sha1rnds4 $0x7b,%xmm23,%xmm22 ++ sha1rnds4 $0x7b,0x123(%r31,%rax,4),%xmm22 ++ sha256msg1 %xmm23,%xmm22 ++ sha256msg1 0x123(%r31,%rax,4),%xmm22 ++ sha256msg2 %xmm23,%xmm22 ++ sha256msg2 0x123(%r31,%rax,4),%xmm22 ++ sha256rnds2 0x123(%r31,%rax,4),%xmm12 ++ shlx %r25d,%edx,%r10d ++ shlx %r25d,0x123(%r31,%rax,4),%edx ++ shlx %r31,%r15,%r11 ++ shlx %r31,0x123(%r31,%rax,4),%r15 ++ shrx %r25d,%edx,%r10d ++ shrx %r25d,0x123(%r31,%rax,4),%edx ++ shrx %r31,%r15,%r11 ++ shrx %r31,0x123(%r31,%rax,4),%r15 ++ sttilecfg 0x123(%r31,%rax,4) ++ tileloadd 0x123(%r31,%rax,4),%tmm6 ++ tileloaddt1 0x123(%r31,%rax,4),%tmm6 ++ tilestored %tmm6,0x123(%r31,%rax,4) ++ wrssd %r25d,0x123(%r31,%rax,4) ++ wrssq %r31,0x123(%r31,%rax,4) ++ wrussd %r25d,0x123(%r31,%rax,4) ++ wrussq %r31,0x123(%r31,%rax,4) ++ ++ .intel_syntax noprefix ++ aadd [r31+rax*4+0x123],r25d ++ aadd [r31+rax*4+0x123],r31 ++ aand [r31+rax*4+0x123],r25d ++ aand [r31+rax*4+0x123],r31 ++ aesdec128kl xmm22,[r31+rax*4+0x123] ++ aesdec256kl xmm22,[r31+rax*4+0x123] ++ aesdecwide128kl [r31+rax*4+0x123] ++ aesdecwide256kl [r31+rax*4+0x123] ++ aesenc128kl xmm22,[r31+rax*4+0x123] ++ aesenc256kl xmm22,[r31+rax*4+0x123] ++ aesencwide128kl [r31+rax*4+0x123] ++ aesencwide256kl [r31+rax*4+0x123] ++ aor [r31+rax*4+0x123],r25d ++ aor [r31+rax*4+0x123],r31 ++ axor [r31+rax*4+0x123],r25d ++ axor [r31+rax*4+0x123],r31 ++ bextr r10d,edx,r25d ++ bextr edx, [r31+rax*4+0x123],r25d ++ bextr r11,r15,r31 ++ bextr r15, [r31+rax*4+0x123],r31 ++ blsi edx,r25d ++ blsi r15,r31 ++ blsi r25d, [r31+rax*4+0x123] ++ blsi r31, [r31+rax*4+0x123] ++ blsmsk edx,r25d ++ blsmsk r15,r31 ++ blsmsk r25d, [r31+rax*4+0x123] ++ blsmsk r31, [r31+rax*4+0x123] ++ blsr edx,r25d ++ blsr r15,r31 ++ blsr r25d, [r31+rax*4+0x123] ++ blsr r31, [r31+rax*4+0x123] ++ bzhi r10d,edx,r25d ++ bzhi edx, [r31+rax*4+0x123],r25d ++ bzhi r11,r15,r31 ++ bzhi r15, [r31+rax*4+0x123],r31 ++ cmpbexadd [r31+rax*4+0x123],edx,r25d ++ cmpbexadd [r31+rax*4+0x123],r15,r31 ++ cmpbxadd [r31+rax*4+0x123],edx,r25d ++ cmpbxadd [r31+rax*4+0x123],r15,r31 ++ cmplxadd [r31+rax*4+0x123],edx,r25d ++ cmplxadd [r31+rax*4+0x123],r15,r31 ++ cmpnbexadd [r31+rax*4+0x123],edx,r25d ++ cmpnbexadd [r31+rax*4+0x123],r15,r31 ++ cmpnbxadd [r31+rax*4+0x123],edx,r25d ++ cmpnbxadd [r31+rax*4+0x123],r15,r31 ++ cmpnlexadd [r31+rax*4+0x123],edx,r25d ++ cmpnlexadd [r31+rax*4+0x123],r15,r31 ++ cmpnlxadd [r31+rax*4+0x123],edx,r25d ++ cmpnlxadd [r31+rax*4+0x123],r15,r31 ++ cmpnoxadd [r31+rax*4+0x123],edx,r25d ++ cmpnoxadd [r31+rax*4+0x123],r15,r31 ++ cmpnpxadd [r31+rax*4+0x123],edx,r25d ++ cmpnpxadd [r31+rax*4+0x123],r15,r31 ++ cmpnsxadd [r31+rax*4+0x123],edx,r25d ++ cmpnsxadd [r31+rax*4+0x123],r15,r31 ++ cmpnzxadd [r31+rax*4+0x123],edx,r25d ++ cmpnzxadd [r31+rax*4+0x123],r15,r31 ++ cmpoxadd [r31+rax*4+0x123],edx,r25d ++ cmpoxadd [r31+rax*4+0x123],r15,r31 ++ cmppxadd [r31+rax*4+0x123],edx,r25d ++ cmppxadd [r31+rax*4+0x123],r15,r31 ++ cmpsxadd [r31+rax*4+0x123],edx,r25d ++ cmpsxadd [r31+rax*4+0x123],r15,r31 ++ cmpzxadd [r31+rax*4+0x123],edx,r25d ++ cmpzxadd [r31+rax*4+0x123],r15,r31 ++ crc32 r22,r31 ++ crc32 r22,QWORD PTR [r31] ++ crc32 r17,r19b ++ crc32 r21d,r19b ++ crc32 ebx,BYTE PTR [r19] ++ crc32 r23d,r31d ++ crc32 r23d,DWORD PTR [r31] ++ crc32 r21d,r31w ++ crc32 r21d,WORD PTR [r31] ++ crc32 r18,rax ++ encodekey128 edx,r25d ++ encodekey256 edx,r25d ++ enqcmd r25d,[r31d+eax*4+0x123] ++ enqcmd r31,[r31+rax*4+0x123] ++ enqcmds r25d,[r31d+eax*4+0x123] ++ enqcmds r31,[r31+rax*4+0x123] ++ invept r31,OWORD PTR [r31+rax*4+0x123] ++ invpcid r31,[r31+rax*4+0x123] ++ invvpid r31,OWORD PTR [r31+rax*4+0x123] ++ kmovb r25d,k5 ++ kmovb BYTE PTR [r31+rax*4+0x123],k5 ++ kmovb k5,r25d ++ kmovb k5,BYTE PTR [r31+rax*4+0x123] ++ kmovd r25d,k5 ++ kmovd DWORD PTR [r31+rax*4+0x123],k5 ++ kmovd k5,r25d ++ kmovd k5,DWORD PTR [r31+rax*4+0x123] ++ kmovq r31,k5 ++ kmovq QWORD PTR [r31+rax*4+0x123],k5 ++ kmovq k5,r31 ++ kmovq k5,QWORD PTR [r31+rax*4+0x123] ++ kmovw r25d,k5 ++ kmovw WORD PTR [r31+rax*4+0x123],k5 ++ kmovw k5,r25d ++ kmovw k5,WORD PTR [r31+rax*4+0x123] ++ ldtilecfg [r31+rax*4+0x123] ++ movbe ax,r18w ++ movbe WORD PTR [r16+rax*4+0x123],r18w ++ movbe WORD PTR [r31+rax*4+0x123],r18w ++ movbe edx,r25d ++ movbe DWORD PTR [r16+rax*4+0x123],r25d ++ movbe r15,r31 ++ movbe QWORD PTR [r16+rax*4+0x123],r31 ++ movbe QWORD PTR [r31+rax*4+0x123],r31 ++ movbe r31,QWORD PTR [r16+rax*4+0x123] ++ movbe r18w,WORD PTR [r31+rax*4+0x123] ++ movbe r25d,DWORD PTR [r31+rax*4+0x123] ++ movdir64b r25d,[r31d+eax*4+0x123] ++ movdir64b r31,[r31+rax*4+0x123] ++ movdiri DWORD PTR [r31+rax*4+0x123],r25d ++ movdiri QWORD PTR [r31+rax*4+0x123],r31 ++ pdep r10d,edx,r25d ++ pdep r11,r15,r31 ++ pdep edx,r25d,DWORD PTR [r31+rax*4+0x123] ++ pdep r15,r31,QWORD PTR [r31+rax*4+0x123] ++ pext r10d,edx,r25d ++ pext r11,r15,r31 ++ pext edx,r25d,DWORD PTR [r31+rax*4+0x123] ++ pext r15,r31,QWORD PTR [r31+rax*4+0x123] ++ sha1msg1 xmm22,xmm23 ++ sha1msg1 xmm22,XMMWORD PTR [r31+rax*4+0x123] ++ sha1msg2 xmm22,xmm23 ++ sha1msg2 xmm22,XMMWORD PTR [r31+rax*4+0x123] ++ sha1nexte xmm22,xmm23 ++ sha1nexte xmm22,XMMWORD PTR [r31+rax*4+0x123] ++ sha1rnds4 xmm22,xmm23,0x7b ++ sha1rnds4 xmm22,XMMWORD PTR [r31+rax*4+0x123],0x7b ++ sha256msg1 xmm22,xmm23 ++ sha256msg1 xmm22,XMMWORD PTR [r31+rax*4+0x123] ++ sha256msg2 xmm22,xmm23 ++ sha256msg2 xmm22,XMMWORD PTR [r31+rax*4+0x123] ++ sha256rnds2 xmm12,XMMWORD PTR [r31+rax*4+0x123] ++ shlx r10d,edx,r25d ++ shlx edx,DWORD PTR [r31+rax*4+0x123],r25d ++ shlx r11,r15,r31 ++ shlx r15,QWORD PTR [r31+rax*4+0x123],r31 ++ shrx r10d,edx,r25d ++ shrx edx,DWORD PTR [r31+rax*4+0x123],r25d ++ shrx r11,r15,r31 ++ shrx r15,QWORD PTR [r31+rax*4+0x123],r31 ++ sttilecfg [r31+rax*4+0x123] ++ tileloadd tmm6,[r31+rax*4+0x123] ++ tileloaddt1 tmm6,[r31+rax*4+0x123] ++ tilestored [r31+rax*4+0x123],tmm6 ++ wrssd DWORD PTR [r31+rax*4+0x123],r25d ++ wrssq QWORD PTR [r31+rax*4+0x123],r31 ++ wrussd DWORD PTR [r31+rax*4+0x123],r25d ++ wrussq QWORD PTR [r31+rax*4+0x123],r31 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-jmpabs-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-jmpabs-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-jmpabs-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-jmpabs-intel.d 2024-01-18 13:32:46.363889338 +0000 +@@ -0,0 +1,12 @@ ++#as: ++#objdump: -dw -Mintel ++#name: x86_64 APX_F JMPABS insns (Intel disassembly) ++#source: x86-64-apx-jmpabs.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*d5 00 a1 02 00 00 00 00 00 00 00[ ]+jmpabs 0x2 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-jmpabs-inval.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-jmpabs-inval.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-jmpabs-inval.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-jmpabs-inval.d 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,40 @@ ++#as: --64 ++#objdump: -dw ++#name: illegal decoding of APX_F jmpabs insns ++#source: x86-64-apx-jmpabs-inval.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <.text>: ++\s*[a-f0-9]+: 66 d5 00 a1[ ]+\(bad\) ++\s*[a-f0-9]+: 01 00[ ]+add %eax,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: 67 d5 00 a1[ ]+\(bad\) ++\s*[a-f0-9]+: 01 00[ ]+add %eax,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: f2 d5 00 a1[ ]+\(bad\) ++\s*[a-f0-9]+: 01 00[ ]+add %eax,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: f3 d5 00 a1[ ]+\(bad\) ++\s*[a-f0-9]+: 01 00[ ]+add %eax,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: f0 d5 00 a1[ ]+\(bad\) ++\s*[a-f0-9]+: 01 00[ ]+add %eax,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: d5 08 a1[ ]+\(bad\) ++\s*[a-f0-9]+: 01 00[ ]+add %eax,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++\s*[a-f0-9]+: 00 00[ ]+add %al,\(%rax\) ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-jmpabs-inval.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-jmpabs-inval.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-jmpabs-inval.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-jmpabs-inval.s 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,15 @@ ++# Check bytecode of APX_F jmpabs instructions with illegal encode. ++ ++ .text ++# With 66 prefix ++ .insn {rex2} data16 0xa1, $1{:u64} ++# With 67 prefix ++ .insn {rex2} addr32 0xa1, $1{:u64} ++# With F2 prefix ++ .insn {rex2} repne 0xa1, $1{:u64} ++# With F3 prefix ++ .insn {rex2} rep 0xa1, $1{:u64} ++# With LOCK prefix ++ .insn {rex2} lock 0xa1, $1{:u64} ++# REX2.M0 = 0 REX2.W = 1 ++ .byte 0xd5,0x08,0xa1,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-jmpabs.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-jmpabs.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-jmpabs.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-jmpabs.d 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,12 @@ ++#as: ++#objdump: -dw ++#name: x86_64 APX_F JMPABS insns ++#source: x86-64-apx-jmpabs.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*d5 00 a1 02 00 00 00 00 00 00 00[ ]+jmpabs \$0x2 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-jmpabs.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-jmpabs.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-jmpabs.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-jmpabs.s 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,5 @@ ++# Check 64bit APX_F JMPABS instructions ++ ++ .text ++ _start: ++ .byte 0xd5,0x00,0xa1,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.d 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,133 @@ ++#as: -Os ++#objdump: -drw ++#name: x86-64 APX NDD optimized encoding ++#source: x86-64-apx-ndd-optimize.s ++ ++.*: +file format .* ++ ++ ++Disassembly of section .text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*d5 4d 01 f8 add %r31,%r8 ++\s*[a-f0-9]+:\s*62 44 3c 18 00 f8 add %r31b,%r8b,%r8b ++\s*[a-f0-9]+:\s*d5 4d 01 f8 add %r31,%r8 ++\s*[a-f0-9]+:\s*d5 1d 03 c7 add %r31,%r8 ++\s*[a-f0-9]+:\s*d5 4d 03 38 add \(%r8\),%r31 ++\s*[a-f0-9]+:\s*d5 1d 03 07 add \(%r31\),%r8 ++\s*[a-f0-9]+:\s*49 81 c7 33 44 34 12 add \$0x12344433,%r15 ++\s*[a-f0-9]+:\s*49 81 c0 11 22 33 f4 add \$0xfffffffff4332211,%r8 ++\s*[a-f0-9]+:\s*d5 19 ff c7 inc %r31 ++\s*[a-f0-9]+:\s*62 dc 04 10 fe c7 inc %r31b,%r31b ++\s*[a-f0-9]+:\s*d5 1c 29 f9 sub %r15,%r17 ++\s*[a-f0-9]+:\s*62 7c 74 10 28 f9 sub %r15b,%r17b,%r17b ++\s*[a-f0-9]+:\s*62 54 84 18 29 38 sub %r15,\(%r8\),%r15 ++\s*[a-f0-9]+:\s*d5 49 2b 04 07 sub \(%r15,%rax,1\),%r16 ++\s*[a-f0-9]+:\s*d5 19 81 ee 34 12 00 00 sub \$0x1234,%r30 ++\s*[a-f0-9]+:\s*d5 18 ff c9 dec %r17 ++\s*[a-f0-9]+:\s*62 fc 74 10 fe c9 dec %r17b,%r17b ++\s*[a-f0-9]+:\s*d5 1c 19 f9 sbb %r15,%r17 ++\s*[a-f0-9]+:\s*62 7c 74 10 18 f9 sbb %r15b,%r17b,%r17b ++\s*[a-f0-9]+:\s*62 54 84 18 19 38 sbb %r15,\(%r8\),%r15 ++\s*[a-f0-9]+:\s*d5 49 1b 04 07 sbb \(%r15,%rax,1\),%r16 ++\s*[a-f0-9]+:\s*d5 19 81 de 34 12 00 00 sbb \$0x1234,%r30 ++\s*[a-f0-9]+:\s*d5 1c 21 f9 and %r15,%r17 ++\s*[a-f0-9]+:\s*62 7c 74 10 20 f9 and %r15b,%r17b,%r17b ++\s*[a-f0-9]+:\s*4d 23 38 and \(%r8\),%r15 ++\s*[a-f0-9]+:\s*d5 49 23 04 07 and \(%r15,%rax,1\),%r16 ++\s*[a-f0-9]+:\s*d5 11 81 e6 34 12 00 00 and \$0x1234,%r30d ++\s*[a-f0-9]+:\s*d5 1c 09 f9 or %r15,%r17 ++\s*[a-f0-9]+:\s*62 7c 74 10 08 f9 or %r15b,%r17b,%r17b ++\s*[a-f0-9]+:\s*4d 0b 38 or \(%r8\),%r15 ++\s*[a-f0-9]+:\s*d5 49 0b 04 07 or \(%r15,%rax,1\),%r16 ++\s*[a-f0-9]+:\s*d5 19 81 ce 34 12 00 00 or \$0x1234,%r30 ++\s*[a-f0-9]+:\s*d5 1c 31 f9 xor %r15,%r17 ++\s*[a-f0-9]+:\s*62 7c 74 10 30 f9 xor %r15b,%r17b,%r17b ++\s*[a-f0-9]+:\s*4d 33 38 xor \(%r8\),%r15 ++\s*[a-f0-9]+:\s*d5 49 33 04 07 xor \(%r15,%rax,1\),%r16 ++\s*[a-f0-9]+:\s*d5 19 81 f6 34 12 00 00 xor \$0x1234,%r30 ++\s*[a-f0-9]+:\s*d5 1c 11 f9 adc %r15,%r17 ++\s*[a-f0-9]+:\s*62 7c 74 10 10 f9 adc %r15b,%r17b,%r17b ++\s*[a-f0-9]+:\s*4d 13 38 adc \(%r8\),%r15 ++\s*[a-f0-9]+:\s*d5 49 13 04 07 adc \(%r15,%rax,1\),%r16 ++\s*[a-f0-9]+:\s*d5 19 81 d6 34 12 00 00 adc \$0x1234,%r30 ++\s*[a-f0-9]+:\s*d5 18 f7 d9 neg %r17 ++\s*[a-f0-9]+:\s*62 fc 74 10 f6 d9 neg %r17b,%r17b ++\s*[a-f0-9]+:\s*d5 18 f7 d1 not %r17 ++\s*[a-f0-9]+:\s*62 fc 74 10 f6 d1 not %r17b,%r17b ++\s*[a-f0-9]+:\s*67 0f af 90 09 09 09 00 imul 0x90909\(%eax\),%edx ++\s*[a-f0-9]+:\s*d5 aa af 94 f8 09 09 00 00 imul 0x909\(%rax,%r31,8\),%rdx ++\s*[a-f0-9]+:\s*48 0f af d0 imul %rax,%rdx ++\s*[a-f0-9]+:\s*d5 19 d1 c7 rol \$1,%r31 ++\s*[a-f0-9]+:\s*62 dc 04 10 d0 c7 rol \$1,%r31b,%r31b ++\s*[a-f0-9]+:\s*49 c1 c4 02 rol \$0x2,%r12 ++\s*[a-f0-9]+:\s*62 d4 1c 18 c0 c4 02 rol \$0x2,%r12b,%r12b ++\s*[a-f0-9]+:\s*d5 19 d1 cf ror \$1,%r31 ++\s*[a-f0-9]+:\s*62 dc 04 10 d0 cf ror \$1,%r31b,%r31b ++\s*[a-f0-9]+:\s*49 c1 cc 02 ror \$0x2,%r12 ++\s*[a-f0-9]+:\s*62 d4 1c 18 c0 cc 02 ror \$0x2,%r12b,%r12b ++\s*[a-f0-9]+:\s*d5 19 d1 d7 rcl \$1,%r31 ++\s*[a-f0-9]+:\s*62 dc 04 10 d0 d7 rcl \$1,%r31b,%r31b ++\s*[a-f0-9]+:\s*49 c1 d4 02 rcl \$0x2,%r12 ++\s*[a-f0-9]+:\s*62 d4 1c 18 c0 d4 02 rcl \$0x2,%r12b,%r12b ++\s*[a-f0-9]+:\s*d5 19 d1 df rcr \$1,%r31 ++\s*[a-f0-9]+:\s*62 dc 04 10 d0 df rcr \$1,%r31b,%r31b ++\s*[a-f0-9]+:\s*49 c1 dc 02 rcr \$0x2,%r12 ++\s*[a-f0-9]+:\s*62 d4 1c 18 c0 dc 02 rcr \$0x2,%r12b,%r12b ++\s*[a-f0-9]+:\s*d5 19 d1 e7 shl \$1,%r31 ++\s*[a-f0-9]+:\s*62 dc 04 10 d0 e7 shl \$1,%r31b,%r31b ++\s*[a-f0-9]+:\s*49 c1 e4 02 shl \$0x2,%r12 ++\s*[a-f0-9]+:\s*62 d4 1c 18 c0 e4 02 shl \$0x2,%r12b,%r12b ++\s*[a-f0-9]+:\s*d5 19 d1 e7 shl \$1,%r31 ++\s*[a-f0-9]+:\s*62 dc 04 10 d0 e7 shl \$1,%r31b,%r31b ++\s*[a-f0-9]+:\s*49 c1 e4 02 shl \$0x2,%r12 ++\s*[a-f0-9]+:\s*62 d4 1c 18 c0 e4 02 shl \$0x2,%r12b,%r12b ++\s*[a-f0-9]+:\s*d5 19 d1 ef shr \$1,%r31 ++\s*[a-f0-9]+:\s*62 dc 04 10 d0 ef shr \$1,%r31b,%r31b ++\s*[a-f0-9]+:\s*49 c1 ec 02 shr \$0x2,%r12 ++\s*[a-f0-9]+:\s*62 d4 1c 18 c0 ec 02 shr \$0x2,%r12b,%r12b ++\s*[a-f0-9]+:\s*d5 19 d1 ff sar \$1,%r31 ++\s*[a-f0-9]+:\s*62 dc 04 10 d0 ff sar \$1,%r31b,%r31b ++\s*[a-f0-9]+:\s*49 c1 fc 02 sar \$0x2,%r12 ++\s*[a-f0-9]+:\s*62 d4 1c 18 c0 fc 02 sar \$0x2,%r12b,%r12b ++\s*[a-f0-9]+:\s*62 74 9c 18 24 20 01 shld \$0x1,%r12,\(%rax\),%r12 ++\s*[a-f0-9]+:\s*4d 0f a4 c4 02 shld \$0x2,%r8,%r12 ++\s*[a-f0-9]+:\s*62 54 bc 18 24 c4 02 shld \$0x2,%r8,%r12,%r8 ++\s*[a-f0-9]+:\s*62 74 b4 18 a5 08 shld %cl,%r9,\(%rax\),%r9 ++\s*[a-f0-9]+:\s*d5 9c a5 e0 shld %cl,%r12,%r16 ++\s*[a-f0-9]+:\s*62 7c 9c 18 a5 e0 shld %cl,%r12,%r16,%r12 ++\s*[a-f0-9]+:\s*62 74 9c 18 2c 20 01 shrd \$0x1,%r12,\(%rax\),%r12 ++\s*[a-f0-9]+:\s*4d 0f ac ec 01 shrd \$0x1,%r13,%r12 ++\s*[a-f0-9]+:\s*62 54 94 18 2c ec 01 shrd \$0x1,%r13,%r12,%r13 ++\s*[a-f0-9]+:\s*62 74 b4 18 ad 08 shrd %cl,%r9,\(%rax\),%r9 ++\s*[a-f0-9]+:\s*d5 9c ad e0 shrd %cl,%r12,%r16 ++\s*[a-f0-9]+:\s*62 7c 9c 18 ad e0 shrd %cl,%r12,%r16,%r12 ++\s*[a-f0-9]+:\s*67 0f 40 90 90 90 90 90 cmovo -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 41 90 90 90 90 90 cmovno -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 42 90 90 90 90 90 cmovb -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 43 90 90 90 90 90 cmovae -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 44 90 90 90 90 90 cmove -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 45 90 90 90 90 90 cmovne -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 46 90 90 90 90 90 cmovbe -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 47 90 90 90 90 90 cmova -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 48 90 90 90 90 90 cmovs -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 49 90 90 90 90 90 cmovns -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 4a 90 90 90 90 90 cmovp -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 4b 90 90 90 90 90 cmovnp -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 4c 90 90 90 90 90 cmovl -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 4d 90 90 90 90 90 cmovge -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 4e 90 90 90 90 90 cmovle -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*67 0f 4f 90 90 90 90 90 cmovg -0x6f6f6f70\(%eax\),%edx ++\s*[a-f0-9]+:\s*66 0f 38 f6 c3 adcx %ebx,%eax ++\s*[a-f0-9]+:\s*66 0f 38 f6 c3 adcx %ebx,%eax ++\s*[a-f0-9]+:\s*62 f4 fd 18 66 c3 adcx %rbx,%rax,%rax ++\s*[a-f0-9]+:\s*62 74 3d 18 66 c0 adcx %eax,%r8d,%r8d ++\s*[a-f0-9]+:\s*62 d4 7d 18 66 c7 adcx %r15d,%eax,%eax ++\s*[a-f0-9]+:\s*67 66 0f 38 f6 04 0a adcx \(%edx,%ecx,1\),%eax ++\s*[a-f0-9]+:\s*f3 0f 38 f6 c3 adox %ebx,%eax ++\s*[a-f0-9]+:\s*f3 0f 38 f6 c3 adox %ebx,%eax ++\s*[a-f0-9]+:\s*62 f4 fe 18 66 c3 adox %rbx,%rax,%rax ++\s*[a-f0-9]+:\s*62 74 3e 18 66 c0 adox %eax,%r8d,%r8d ++\s*[a-f0-9]+:\s*62 d4 7e 18 66 c7 adox %r15d,%eax,%eax ++\s*[a-f0-9]+:\s*67 f3 0f 38 f6 04 0a adox \(%edx,%ecx,1\),%eax ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.s 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,125 @@ ++# Check 64bit APX NDD instructions with optimized encoding ++ ++ .text ++_start: ++add %r31,%r8,%r8 ++addb %r31b,%r8b,%r8b ++{store} add %r31,%r8,%r8 ++{load} add %r31,%r8,%r8 ++add %r31,(%r8),%r31 ++add (%r31),%r8,%r8 ++add $0x12344433,%r15,%r15 ++add $0xfffffffff4332211,%r8,%r8 ++inc %r31,%r31 ++incb %r31b,%r31b ++sub %r15,%r17,%r17 ++subb %r15b,%r17b,%r17b ++sub %r15,(%r8),%r15 ++sub (%r15,%rax,1),%r16,%r16 ++sub $0x1234,%r30,%r30 ++dec %r17,%r17 ++decb %r17b,%r17b ++sbb %r15,%r17,%r17 ++sbbb %r15b,%r17b,%r17b ++sbb %r15,(%r8),%r15 ++sbb (%r15,%rax,1),%r16,%r16 ++sbb $0x1234,%r30,%r30 ++and %r15,%r17,%r17 ++andb %r15b,%r17b,%r17b ++and %r15,(%r8),%r15 ++and (%r15,%rax,1),%r16,%r16 ++and $0x1234,%r30,%r30 ++or %r15,%r17,%r17 ++orb %r15b,%r17b,%r17b ++or %r15,(%r8),%r15 ++or (%r15,%rax,1),%r16,%r16 ++or $0x1234,%r30,%r30 ++xor %r15,%r17,%r17 ++xorb %r15b,%r17b,%r17b ++xor %r15,(%r8),%r15 ++xor (%r15,%rax,1),%r16,%r16 ++xor $0x1234,%r30,%r30 ++adc %r15,%r17,%r17 ++adcb %r15b,%r17b,%r17b ++adc %r15,(%r8),%r15 ++adc (%r15,%rax,1),%r16,%r16 ++adc $0x1234,%r30,%r30 ++neg %r17,%r17 ++negb %r17b,%r17b ++not %r17,%r17 ++notb %r17b,%r17b ++imul 0x90909(%eax),%edx,%edx ++imul 0x909(%rax,%r31,8),%rdx,%rdx ++imul %rdx,%rax,%rdx ++rol $0x1,%r31,%r31 ++rolb $0x1,%r31b,%r31b ++rol $0x2,%r12,%r12 ++rolb $0x2,%r12b,%r12b ++ror $0x1,%r31,%r31 ++rorb $0x1,%r31b,%r31b ++ror $0x2,%r12,%r12 ++rorb $0x2,%r12b,%r12b ++rcl $0x1,%r31,%r31 ++rclb $0x1,%r31b,%r31b ++rcl $0x2,%r12,%r12 ++rclb $0x2,%r12b,%r12b ++rcr $0x1,%r31,%r31 ++rcrb $0x1,%r31b,%r31b ++rcr $0x2,%r12,%r12 ++rcrb $0x2,%r12b,%r12b ++sal $0x1,%r31,%r31 ++salb $0x1,%r31b,%r31b ++sal $0x2,%r12,%r12 ++salb $0x2,%r12b,%r12b ++shl $0x1,%r31,%r31 ++shlb $0x1,%r31b,%r31b ++shl $0x2,%r12,%r12 ++shlb $0x2,%r12b,%r12b ++shr $0x1,%r31,%r31 ++shrb $0x1,%r31b,%r31b ++shr $0x2,%r12,%r12 ++shrb $0x2,%r12b,%r12b ++sar $0x1,%r31,%r31 ++sarb $0x1,%r31b,%r31b ++sar $0x2,%r12,%r12 ++sarb $0x2,%r12b,%r12b ++shld $0x1,%r12,(%rax),%r12 ++shld $0x2,%r8,%r12,%r12 ++shld $0x2,%r8,%r12,%r8 ++shld %cl,%r9,(%rax),%r9 ++shld %cl,%r12,%r16,%r16 ++shld %cl,%r12,%r16,%r12 ++shrd $0x1,%r12,(%rax),%r12 ++shrd $0x1,%r13,%r12,%r12 ++shrd $0x1,%r13,%r12,%r13 ++shrd %cl,%r9,(%rax),%r9 ++shrd %cl,%r12,%r16,%r16 ++shrd %cl,%r12,%r16,%r12 ++cmovo 0x90909090(%eax),%edx,%edx ++cmovno 0x90909090(%eax),%edx,%edx ++cmovb 0x90909090(%eax),%edx,%edx ++cmovae 0x90909090(%eax),%edx,%edx ++cmove 0x90909090(%eax),%edx,%edx ++cmovne 0x90909090(%eax),%edx,%edx ++cmovbe 0x90909090(%eax),%edx,%edx ++cmova 0x90909090(%eax),%edx,%edx ++cmovs 0x90909090(%eax),%edx,%edx ++cmovns 0x90909090(%eax),%edx,%edx ++cmovp 0x90909090(%eax),%edx,%edx ++cmovnp 0x90909090(%eax),%edx,%edx ++cmovl 0x90909090(%eax),%edx,%edx ++cmovge 0x90909090(%eax),%edx,%edx ++cmovle 0x90909090(%eax),%edx,%edx ++cmovg 0x90909090(%eax),%edx,%edx ++adcx %ebx,%eax,%eax ++adcx %eax,%ebx,%eax ++adcx %rbx,%rax,%rax ++adcx %eax,%r8d,%r8d ++adcx %r15d,%eax,%eax ++adcx (%edx,%ecx,1),%eax,%eax ++adox %ebx,%eax,%eax ++adox %eax,%ebx,%eax ++adox %rbx,%rax,%rax ++adox %eax,%r8d,%r8d ++adox %r15d,%eax,%eax ++adox (%edx,%ecx,1),%eax,%eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-ndd.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-ndd.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-ndd.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-ndd.d 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,161 @@ ++#as: ++#objdump: -dw ++#name: x86-64 APX NDD instructions with evex prefix encoding ++#source: x86-64-apx-ndd.s ++ ++.*: +file format .* ++ ++ ++Disassembly of section .text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*62 f4 0d 10 81 d0 34 12 adc \$0x1234,%ax,%r30w ++\s*[a-f0-9]+:\s*62 7c 6c 10 10 f9 adc %r15b,%r17b,%r18b ++\s*[a-f0-9]+:\s*62 54 6c 10 11 38 adc %r15d,\(%r8\),%r18d ++\s*[a-f0-9]+:\s*62 c4 3c 18 12 04 07 adc \(%r15,%rax,1\),%r16b,%r8b ++\s*[a-f0-9]+:\s*62 c4 3d 18 13 04 07 adc \(%r15,%rax,1\),%r16w,%r8w ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 14 83 11 adcl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*62 54 6d 10 66 c7 adcx %r15d,%r8d,%r18d ++\s*[a-f0-9]+:\s*62 14 f9 08 66 04 3f adcx \(%r15,%r31,1\),%r8 ++\s*[a-f0-9]+:\s*62 14 69 10 66 04 3f adcx \(%r15,%r31,1\),%r8d,%r18d ++\s*[a-f0-9]+:\s*62 f4 0d 10 81 c0 34 12 add \$0x1234,%ax,%r30w ++\s*[a-f0-9]+:\s*62 d4 fc 10 81 c7 33 44 34 12 add \$0x12344433,%r15,%r16 ++\s*[a-f0-9]+:\s*62 d4 74 10 80 c5 34 add \$0x34,%r13b,%r17b ++\s*[a-f0-9]+:\s*62 f4 bc 18 81 c0 11 22 33 f4 add \$0xfffffffff4332211,%rax,%r8 ++\s*[a-f0-9]+:\s*62 44 fc 10 01 f8 add %r31,%r8,%r16 ++\s*[a-f0-9]+:\s*62 44 fc 10 01 38 add %r31,\(%r8\),%r16 ++\s*[a-f0-9]+:\s*62 44 f8 10 01 3c c0 add %r31,\(%r8,%r16,8\),%r16 ++\s*[a-f0-9]+:\s*62 44 7c 10 00 f8 add %r31b,%r8b,%r16b ++\s*[a-f0-9]+:\s*62 44 7c 10 01 f8 add %r31d,%r8d,%r16d ++\s*[a-f0-9]+:\s*62 44 7d 10 01 f8 add %r31w,%r8w,%r16w ++\s*[a-f0-9]+:\s*62 5c fc 10 03 07 add \(%r31\),%r8,%r16 ++\s*[a-f0-9]+:\s*62 5c f8 10 03 84 07 90 90 00 00 add 0x9090\(%r31,%r16,1\),%r8,%r16 ++\s*[a-f0-9]+:\s*62 44 7c 10 00 f8 add %r31b,%r8b,%r16b ++\s*[a-f0-9]+:\s*62 44 7c 10 01 f8 add %r31d,%r8d,%r16d ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 04 83 11 addl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*62 44 fc 10 01 f8 add %r31,%r8,%r16 ++\s*[a-f0-9]+:\s*62 d4 fc 10 81 04 8f 33 44 34 12 addq \$0x12344433,\(%r15,%rcx,4\),%r16 ++\s*[a-f0-9]+:\s*62 44 7d 10 01 f8 add %r31w,%r8w,%r16w ++\s*[a-f0-9]+:\s*62 54 6e 10 66 c7 adox %r15d,%r8d,%r18d ++\s*[a-f0-9]+:\s*62 5c fc 10 03 c7 add %r31,%r8,%r16 ++\s*[a-f0-9]+:\s*62 44 fc 10 01 f8 add %r31,%r8,%r16 ++\s*[a-f0-9]+:\s*62 14 fa 08 66 04 3f adox \(%r15,%r31,1\),%r8 ++\s*[a-f0-9]+:\s*62 14 6a 10 66 04 3f adox \(%r15,%r31,1\),%r8d,%r18d ++\s*[a-f0-9]+:\s*62 f4 0d 10 81 e0 34 12 and \$0x1234,%ax,%r30w ++\s*[a-f0-9]+:\s*62 7c 6c 10 20 f9 and %r15b,%r17b,%r18b ++\s*[a-f0-9]+:\s*62 54 6c 10 21 38 and %r15d,\(%r8\),%r18d ++\s*[a-f0-9]+:\s*62 c4 3c 18 22 04 07 and \(%r15,%rax,1\),%r16b,%r8b ++\s*[a-f0-9]+:\s*62 c4 3d 18 23 04 07 and \(%r15,%rax,1\),%r16w,%r8w ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 24 83 11 andl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 47 90 90 90 90 90 cmova -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 43 90 90 90 90 90 cmovae -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 42 90 90 90 90 90 cmovb -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 46 90 90 90 90 90 cmovbe -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 44 90 90 90 90 90 cmove -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 4f 90 90 90 90 90 cmovg -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 4d 90 90 90 90 90 cmovge -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 4c 90 90 90 90 90 cmovl -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 4e 90 90 90 90 90 cmovle -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 45 90 90 90 90 90 cmovne -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 41 90 90 90 90 90 cmovno -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 4b 90 90 90 90 90 cmovnp -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 49 90 90 90 90 90 cmovns -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 40 90 90 90 90 90 cmovo -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 4a 90 90 90 90 90 cmovp -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 48 90 90 90 90 90 cmovs -0x6f6f6f70\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*62 f4 f4 10 ff c8 dec %rax,%r17 ++\s*[a-f0-9]+:\s*62 9c 3c 18 fe 0c 27 decb \(%r31,%r12,1\),%r8b ++\s*[a-f0-9]+:\s*62 b4 b0 10 af 94 f8 09 09 00 00 imul 0x909\(%rax,%r31,8\),%rdx,%r25 ++\s*[a-f0-9]+:\s*67 62 f4 3c 18 af 90 09 09 09 00 imul 0x90909\(%eax\),%edx,%r8d ++\s*[a-f0-9]+:\s*62 dc fc 10 ff c7 inc %r31,%r16 ++\s*[a-f0-9]+:\s*62 dc bc 18 ff c7 inc %r31,%r8 ++\s*[a-f0-9]+:\s*62 f4 e4 18 ff c0 inc %rax,%rbx ++\s*[a-f0-9]+:\s*62 f4 f4 10 f7 d8 neg %rax,%r17 ++\s*[a-f0-9]+:\s*62 9c 3c 18 f6 1c 27 negb \(%r31,%r12,1\),%r8b ++\s*[a-f0-9]+:\s*62 f4 f4 10 f7 d0 not %rax,%r17 ++\s*[a-f0-9]+:\s*62 9c 3c 18 f6 14 27 notb \(%r31,%r12,1\),%r8b ++\s*[a-f0-9]+:\s*62 f4 0d 10 81 c8 34 12 or \$0x1234,%ax,%r30w ++\s*[a-f0-9]+:\s*62 7c 6c 10 08 f9 or %r15b,%r17b,%r18b ++\s*[a-f0-9]+:\s*62 54 6c 10 09 38 or %r15d,\(%r8\),%r18d ++\s*[a-f0-9]+:\s*62 c4 3c 18 0a 04 07 or \(%r15,%rax,1\),%r16b,%r8b ++\s*[a-f0-9]+:\s*62 c4 3d 18 0b 04 07 or \(%r15,%rax,1\),%r16w,%r8w ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 0c 83 11 orl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*62 d4 04 10 c0 d4 02 rcl \$0x2,%r12b,%r31b ++\s*[a-f0-9]+:\s*62 fc 3c 18 d2 d0 rcl %cl,%r16b,%r8b ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 10 rclb \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 10 02 rcll \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 10 rclw \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 14 83 rclw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 d4 04 10 c0 dc 02 rcr \$0x2,%r12b,%r31b ++\s*[a-f0-9]+:\s*62 fc 3c 18 d2 d8 rcr %cl,%r16b,%r8b ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 18 rcrb \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 18 02 rcrl \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 18 rcrw \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 1c 83 rcrw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 d4 04 10 c0 c4 02 rol \$0x2,%r12b,%r31b ++\s*[a-f0-9]+:\s*62 fc 3c 18 d2 c0 rol %cl,%r16b,%r8b ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 00 rolb \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 00 02 roll \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 00 rolw \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 04 83 rolw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 d4 04 10 c0 cc 02 ror \$0x2,%r12b,%r31b ++\s*[a-f0-9]+:\s*62 fc 3c 18 d2 c8 ror %cl,%r16b,%r8b ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 08 rorb \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 08 02 rorl \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 08 rorw \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 0c 83 rorw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 d4 04 10 c0 fc 02 sar \$0x2,%r12b,%r31b ++\s*[a-f0-9]+:\s*62 fc 3c 18 d2 f8 sar %cl,%r16b,%r8b ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 38 sarb \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 38 02 sarl \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 38 sarw \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 3c 83 sarw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 f4 0d 10 81 d8 34 12 sbb \$0x1234,%ax,%r30w ++\s*[a-f0-9]+:\s*62 7c 6c 10 18 f9 sbb %r15b,%r17b,%r18b ++\s*[a-f0-9]+:\s*62 54 6c 10 19 38 sbb %r15d,\(%r8\),%r18d ++\s*[a-f0-9]+:\s*62 c4 3c 18 1a 04 07 sbb \(%r15,%rax,1\),%r16b,%r8b ++\s*[a-f0-9]+:\s*62 c4 3d 18 1b 04 07 sbb \(%r15,%rax,1\),%r16w,%r8w ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 1c 83 11 sbbl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*62 d4 04 10 c0 e4 02 shl \$0x2,%r12b,%r31b ++\s*[a-f0-9]+:\s*62 d4 04 10 c0 e4 02 shl \$0x2,%r12b,%r31b ++\s*[a-f0-9]+:\s*62 fc 3c 18 d2 e0 shl %cl,%r16b,%r8b ++\s*[a-f0-9]+:\s*62 fc 3c 18 d2 e0 shl %cl,%r16b,%r8b ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 20 shlb \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 20 shlb \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 74 84 10 24 20 01 shld \$0x1,%r12,\(%rax\),%r31 ++\s*[a-f0-9]+:\s*62 74 04 10 24 38 02 shld \$0x2,%r15d,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 54 05 10 24 c4 02 shld \$0x2,%r8w,%r12w,%r31w ++\s*[a-f0-9]+:\s*62 7c bc 18 a5 e0 shld %cl,%r12,%r16,%r8 ++\s*[a-f0-9]+:\s*62 7c 05 10 a5 2c 83 shld %cl,%r13w,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 74 05 10 a5 08 shld %cl,%r9w,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 20 02 shll \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 20 02 shll \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 20 shlw \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 20 shlw \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 24 83 shlw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 24 83 shlw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 d4 04 10 c0 ec 02 shr \$0x2,%r12b,%r31b ++\s*[a-f0-9]+:\s*62 fc 3c 18 d2 e8 shr %cl,%r16b,%r8b ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 28 shrb \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 74 84 10 2c 20 01 shrd \$0x1,%r12,\(%rax\),%r31 ++\s*[a-f0-9]+:\s*62 74 04 10 2c 38 02 shrd \$0x2,%r15d,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 54 05 10 2c c4 02 shrd \$0x2,%r8w,%r12w,%r31w ++\s*[a-f0-9]+:\s*62 7c bc 18 ad e0 shrd %cl,%r12,%r16,%r8 ++\s*[a-f0-9]+:\s*62 7c 05 10 ad 2c 83 shrd %cl,%r13w,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 74 05 10 ad 08 shrd %cl,%r9w,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 28 02 shrl \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 28 shrw \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 2c 83 shrw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 f4 0d 10 81 e8 34 12 sub \$0x1234,%ax,%r30w ++\s*[a-f0-9]+:\s*62 7c 6c 10 28 f9 sub %r15b,%r17b,%r18b ++\s*[a-f0-9]+:\s*62 54 6c 10 29 38 sub %r15d,\(%r8\),%r18d ++\s*[a-f0-9]+:\s*62 c4 3c 18 2a 04 07 sub \(%r15,%rax,1\),%r16b,%r8b ++\s*[a-f0-9]+:\s*62 c4 3d 18 2b 04 07 sub \(%r15,%rax,1\),%r16w,%r8w ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 2c 83 11 subl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*62 f4 0d 10 81 f0 34 12 xor \$0x1234,%ax,%r30w ++\s*[a-f0-9]+:\s*62 7c 6c 10 30 f9 xor %r15b,%r17b,%r18b ++\s*[a-f0-9]+:\s*62 54 6c 10 31 38 xor %r15d,\(%r8\),%r18d ++\s*[a-f0-9]+:\s*62 c4 3c 18 32 04 07 xor \(%r15,%rax,1\),%r16b,%r8b ++\s*[a-f0-9]+:\s*62 c4 3d 18 33 04 07 xor \(%r15,%rax,1\),%r16w,%r8w ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 34 83 11 xorl \$0x11,\(%r19,%rax,4\),%r20d ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-ndd.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-ndd.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-ndd.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-ndd.s 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,155 @@ ++# Check 64bit APX NDD instructions with evex prefix encoding ++ ++ .allow_index_reg ++ .text ++_start: ++ adc $0x1234,%ax,%r30w ++ adc %r15b,%r17b,%r18b ++ adc %r15d,(%r8),%r18d ++ adc (%r15,%rax,1),%r16b,%r8b ++ adc (%r15,%rax,1),%r16w,%r8w ++ adcl $0x11,(%r19,%rax,4),%r20d ++ adcx %r15d,%r8d,%r18d ++ adcx (%r15,%r31,1),%r8 ++ adcx (%r15,%r31,1),%r8d,%r18d ++ add $0x1234,%ax,%r30w ++ add $0x12344433,%r15,%r16 ++ add $0x34,%r13b,%r17b ++ add $0xfffffffff4332211,%rax,%r8 ++ add %r31,%r8,%r16 ++ add %r31,(%r8),%r16 ++ add %r31,(%r8,%r16,8),%r16 ++ add %r31b,%r8b,%r16b ++ add %r31d,%r8d,%r16d ++ add %r31w,%r8w,%r16w ++ add (%r31),%r8,%r16 ++ add 0x9090(%r31,%r16,1),%r8,%r16 ++ addb %r31b,%r8b,%r16b ++ addl %r31d,%r8d,%r16d ++ addl $0x11,(%r19,%rax,4),%r20d ++ addq %r31,%r8,%r16 ++ addq $0x12344433,(%r15,%rcx,4),%r16 ++ addw %r31w,%r8w,%r16w ++ adox %r15d,%r8d,%r18d ++ {load} add %r31,%r8,%r16 ++ {store} add %r31,%r8,%r16 ++ adox (%r15,%r31,1),%r8 ++ adox (%r15,%r31,1),%r8d,%r18d ++ and $0x1234,%ax,%r30w ++ and %r15b,%r17b,%r18b ++ and %r15d,(%r8),%r18d ++ and (%r15,%rax,1),%r16b,%r8b ++ and (%r15,%rax,1),%r16w,%r8w ++ andl $0x11,(%r19,%rax,4),%r20d ++ cmova 0x90909090(%eax),%edx,%r8d ++ cmovae 0x90909090(%eax),%edx,%r8d ++ cmovb 0x90909090(%eax),%edx,%r8d ++ cmovbe 0x90909090(%eax),%edx,%r8d ++ cmove 0x90909090(%eax),%edx,%r8d ++ cmovg 0x90909090(%eax),%edx,%r8d ++ cmovge 0x90909090(%eax),%edx,%r8d ++ cmovl 0x90909090(%eax),%edx,%r8d ++ cmovle 0x90909090(%eax),%edx,%r8d ++ cmovne 0x90909090(%eax),%edx,%r8d ++ cmovno 0x90909090(%eax),%edx,%r8d ++ cmovnp 0x90909090(%eax),%edx,%r8d ++ cmovns 0x90909090(%eax),%edx,%r8d ++ cmovo 0x90909090(%eax),%edx,%r8d ++ cmovp 0x90909090(%eax),%edx,%r8d ++ cmovs 0x90909090(%eax),%edx,%r8d ++ dec %rax,%r17 ++ decb (%r31,%r12,1),%r8b ++ imul 0x909(%rax,%r31,8),%rdx,%r25 ++ imul 0x90909(%eax),%edx,%r8d ++ inc %r31,%r16 ++ inc %r31,%r8 ++ inc %rax,%rbx ++ neg %rax,%r17 ++ negb (%r31,%r12,1),%r8b ++ not %rax,%r17 ++ notb (%r31,%r12,1),%r8b ++ or $0x1234,%ax,%r30w ++ or %r15b,%r17b,%r18b ++ or %r15d,(%r8),%r18d ++ or (%r15,%rax,1),%r16b,%r8b ++ or (%r15,%rax,1),%r16w,%r8w ++ orl $0x11,(%r19,%rax,4),%r20d ++ rcl $0x2,%r12b,%r31b ++ rcl %cl,%r16b,%r8b ++ rclb $0x1,(%rax),%r31b ++ rcll $0x2,(%rax),%r31d ++ rclw $0x1,(%rax),%r31w ++ rclw %cl,(%r19,%rax,4),%r31w ++ rcr $0x2,%r12b,%r31b ++ rcr %cl,%r16b,%r8b ++ rcrb $0x1,(%rax),%r31b ++ rcrl $0x2,(%rax),%r31d ++ rcrw $0x1,(%rax),%r31w ++ rcrw %cl,(%r19,%rax,4),%r31w ++ rol $0x2,%r12b,%r31b ++ rol %cl,%r16b,%r8b ++ rolb $0x1,(%rax),%r31b ++ roll $0x2,(%rax),%r31d ++ rolw $0x1,(%rax),%r31w ++ rolw %cl,(%r19,%rax,4),%r31w ++ ror $0x2,%r12b,%r31b ++ ror %cl,%r16b,%r8b ++ rorb $0x1,(%rax),%r31b ++ rorl $0x2,(%rax),%r31d ++ rorw $0x1,(%rax),%r31w ++ rorw %cl,(%r19,%rax,4),%r31w ++ sar $0x2,%r12b,%r31b ++ sar %cl,%r16b,%r8b ++ sarb $0x1,(%rax),%r31b ++ sarl $0x2,(%rax),%r31d ++ sarw $0x1,(%rax),%r31w ++ sarw %cl,(%r19,%rax,4),%r31w ++ sbb $0x1234,%ax,%r30w ++ sbb %r15b,%r17b,%r18b ++ sbb %r15d,(%r8),%r18d ++ sbb (%r15,%rax,1),%r16b,%r8b ++ sbb (%r15,%rax,1),%r16w,%r8w ++ sbbl $0x11,(%r19,%rax,4),%r20d ++ shl $0x2,%r12b,%r31b ++ shl $0x2,%r12b,%r31b ++ shl %cl,%r16b,%r8b ++ shl %cl,%r16b,%r8b ++ shlb $0x1,(%rax),%r31b ++ shlb $0x1,(%rax),%r31b ++ shld $0x1,%r12,(%rax),%r31 ++ shld $0x2,%r15d,(%rax),%r31d ++ shld $0x2,%r8w,%r12w,%r31w ++ shld %cl,%r12,%r16,%r8 ++ shld %cl,%r13w,(%r19,%rax,4),%r31w ++ shld %cl,%r9w,(%rax),%r31w ++ shll $0x2,(%rax),%r31d ++ shll $0x2,(%rax),%r31d ++ shlw $0x1,(%rax),%r31w ++ shlw $0x1,(%rax),%r31w ++ shlw %cl,(%r19,%rax,4),%r31w ++ shlw %cl,(%r19,%rax,4),%r31w ++ shr $0x2,%r12b,%r31b ++ shr %cl,%r16b,%r8b ++ shrb $0x1,(%rax),%r31b ++ shrd $0x1,%r12,(%rax),%r31 ++ shrd $0x2,%r15d,(%rax),%r31d ++ shrd $0x2,%r8w,%r12w,%r31w ++ shrd %cl,%r12,%r16,%r8 ++ shrd %cl,%r13w,(%r19,%rax,4),%r31w ++ shrd %cl,%r9w,(%rax),%r31w ++ shrl $0x2,(%rax),%r31d ++ shrw $0x1,(%rax),%r31w ++ shrw %cl,(%r19,%rax,4),%r31w ++ sub $0x1234,%ax,%r30w ++ sub %r15b,%r17b,%r18b ++ sub %r15d,(%r8),%r18d ++ sub (%r15,%rax,1),%r16b,%r8b ++ sub (%r15,%rax,1),%r16w,%r8w ++ subl $0x11,(%r19,%rax,4),%r20d ++ xor $0x1234,%ax,%r30w ++ xor %r15b,%r17b,%r18b ++ xor %r15d,(%r8),%r18d ++ xor (%r15,%rax,1),%r16b,%r8b ++ xor (%r15,%rax,1),%r16w,%r8w ++ xorl $0x11,(%r19,%rax,4),%r20d ++ +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-push2pop2-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-push2pop2-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-push2pop2-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-push2pop2-intel.d 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,42 @@ ++#as: --64 ++#objdump: -dw -Mintel ++#name: i386 APX-push2pop2 insns (Intel disassembly) ++#source: x86-64-apx-push2pop2.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*62 f4 7c 18 ff f3\s+push2\s+rax,rbx ++\s*[a-f0-9]+:\s*62 fc 3c 18 ff f1\s+push2\s+r8,r17 ++\s*[a-f0-9]+:\s*62 d4 04 10 ff f1\s+push2\s+r31,r9 ++\s*[a-f0-9]+:\s*62 dc 3c 10 ff f7\s+push2\s+r24,r31 ++\s*[a-f0-9]+:\s*62 f4 fc 18 ff f3\s+push2p\s+rax,rbx ++\s*[a-f0-9]+:\s*62 fc bc 18 ff f1\s+push2p\s+r8,r17 ++\s*[a-f0-9]+:\s*62 d4 84 10 ff f1\s+push2p\s+r31,r9 ++\s*[a-f0-9]+:\s*62 dc bc 10 ff f7\s+push2p\s+r24,r31 ++\s*[a-f0-9]+:\s*62 f4 64 18 8f c0\s+pop2\s+rbx,rax ++\s*[a-f0-9]+:\s*62 d4 74 10 8f c0\s+pop2\s+r17,r8 ++\s*[a-f0-9]+:\s*62 dc 34 18 8f c7\s+pop2\s+r9,r31 ++\s*[a-f0-9]+:\s*62 dc 04 10 8f c0\s+pop2\s+r31,r24 ++\s*[a-f0-9]+:\s*62 f4 e4 18 8f c0\s+pop2p\s+rbx,rax ++\s*[a-f0-9]+:\s*62 d4 f4 10 8f c0\s+pop2p\s+r17,r8 ++\s*[a-f0-9]+:\s*62 dc b4 18 8f c7\s+pop2p\s+r9,r31 ++\s*[a-f0-9]+:\s*62 dc 84 10 8f c0\s+pop2p\s+r31,r24 ++\s*[a-f0-9]+:\s*62 f4 7c 18 ff f3\s+push2\s+rax,rbx ++\s*[a-f0-9]+:\s*62 fc 3c 18 ff f1\s+push2\s+r8,r17 ++\s*[a-f0-9]+:\s*62 d4 04 10 ff f1\s+push2\s+r31,r9 ++\s*[a-f0-9]+:\s*62 dc 3c 10 ff f7\s+push2\s+r24,r31 ++\s*[a-f0-9]+:\s*62 f4 fc 18 ff f3\s+push2p\s+rax,rbx ++\s*[a-f0-9]+:\s*62 fc bc 18 ff f1\s+push2p\s+r8,r17 ++\s*[a-f0-9]+:\s*62 d4 84 10 ff f1\s+push2p\s+r31,r9 ++\s*[a-f0-9]+:\s*62 dc bc 10 ff f7\s+push2p\s+r24,r31 ++\s*[a-f0-9]+:\s*62 f4 64 18 8f c0\s+pop2\s+rbx,rax ++\s*[a-f0-9]+:\s*62 d4 74 10 8f c0\s+pop2\s+r17,r8 ++\s*[a-f0-9]+:\s*62 dc 34 18 8f c7\s+pop2\s+r9,r31 ++\s*[a-f0-9]+:\s*62 dc 04 10 8f c0\s+pop2\s+r31,r24 ++\s*[a-f0-9]+:\s*62 f4 e4 18 8f c0\s+pop2p\s+rbx,rax ++\s*[a-f0-9]+:\s*62 d4 f4 10 8f c0\s+pop2p\s+r17,r8 ++\s*[a-f0-9]+:\s*62 dc b4 18 8f c7\s+pop2p\s+r9,r31 ++\s*[a-f0-9]+:\s*62 dc 84 10 8f c0\s+pop2p\s+r31,r24 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-push2pop2-inval.l binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-push2pop2-inval.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-push2pop2-inval.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-push2pop2-inval.l 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,13 @@ ++.* Assembler messages: ++.*:6: Error: operand size mismatch for `push2' ++.*:7: Error: operand size mismatch for `push2' ++.*:8: Error: 'rsp' register cannot be used for `push2' ++.*:9: Error: 'rsp' register cannot be used for `push2' ++.*:10: Error: operand size mismatch for `push2p' ++.*:11: Error: 'rsp' register cannot be used for `push2p' ++.*:12: Error: operand size mismatch for `pop2' ++.*:13: Error: 'rsp' register cannot be used for `pop2' ++.*:14: Error: 'rsp' register cannot be used for `pop2' ++.*:15: Error: two dest registers must be distinct for `pop2' ++.*:16: Error: 'rsp' register cannot be used for `pop2p' ++.*:17: Error: two dest registers must be distinct for `pop2p' +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-push2pop2-inval.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-push2pop2-inval.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-push2pop2-inval.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-push2pop2-inval.s 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,17 @@ ++# Check illegal APX-Push2Pop2 instructions ++ ++ .allow_index_reg ++ .text ++_start: ++ push2 %ax, %bx ++ push2 %eax, %ebx ++ push2 %rsp, %r17 ++ push2 %r17, %rsp ++ push2p %eax, %ebx ++ push2p %rsp, %r17 ++ pop2 %ax, %bx ++ pop2 %rax, %rsp ++ pop2 %rsp, %rax ++ pop2 %r12, %r12 ++ pop2p %rax, %rsp ++ pop2p %r12, %r12 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-push2pop2.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-push2pop2.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-push2pop2.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-push2pop2.d 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,42 @@ ++#as: --64 ++#objdump: -dw ++#name: x86_64 APX-push2pop2 insns ++#source: x86-64-apx-push2pop2.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*62 f4 7c 18 ff f3\s+push2\s+%rbx,%rax ++\s*[a-f0-9]+:\s*62 fc 3c 18 ff f1\s+push2\s+%r17,%r8 ++\s*[a-f0-9]+:\s*62 d4 04 10 ff f1\s+push2\s+%r9,%r31 ++\s*[a-f0-9]+:\s*62 dc 3c 10 ff f7\s+push2\s+%r31,%r24 ++\s*[a-f0-9]+:\s*62 f4 fc 18 ff f3\s+push2p\s+%rbx,%rax ++\s*[a-f0-9]+:\s*62 fc bc 18 ff f1\s+push2p\s+%r17,%r8 ++\s*[a-f0-9]+:\s*62 d4 84 10 ff f1\s+push2p\s+%r9,%r31 ++\s*[a-f0-9]+:\s*62 dc bc 10 ff f7\s+push2p\s+%r31,%r24 ++\s*[a-f0-9]+:\s*62 f4 64 18 8f c0\s+pop2\s+%rax,%rbx ++\s*[a-f0-9]+:\s*62 d4 74 10 8f c0\s+pop2\s+%r8,%r17 ++\s*[a-f0-9]+:\s*62 dc 34 18 8f c7\s+pop2\s+%r31,%r9 ++\s*[a-f0-9]+:\s*62 dc 04 10 8f c0\s+pop2\s+%r24,%r31 ++\s*[a-f0-9]+:\s*62 f4 e4 18 8f c0\s+pop2p\s+%rax,%rbx ++\s*[a-f0-9]+:\s*62 d4 f4 10 8f c0\s+pop2p\s+%r8,%r17 ++\s*[a-f0-9]+:\s*62 dc b4 18 8f c7\s+pop2p\s+%r31,%r9 ++\s*[a-f0-9]+:\s*62 dc 84 10 8f c0\s+pop2p\s+%r24,%r31 ++\s*[a-f0-9]+:\s*62 f4 7c 18 ff f3\s+push2\s+%rbx,%rax ++\s*[a-f0-9]+:\s*62 fc 3c 18 ff f1\s+push2\s+%r17,%r8 ++\s*[a-f0-9]+:\s*62 d4 04 10 ff f1\s+push2\s+%r9,%r31 ++\s*[a-f0-9]+:\s*62 dc 3c 10 ff f7\s+push2\s+%r31,%r24 ++\s*[a-f0-9]+:\s*62 f4 fc 18 ff f3\s+push2p\s+%rbx,%rax ++\s*[a-f0-9]+:\s*62 fc bc 18 ff f1\s+push2p\s+%r17,%r8 ++\s*[a-f0-9]+:\s*62 d4 84 10 ff f1\s+push2p\s+%r9,%r31 ++\s*[a-f0-9]+:\s*62 dc bc 10 ff f7\s+push2p\s+%r31,%r24 ++\s*[a-f0-9]+:\s*62 f4 64 18 8f c0\s+pop2\s+%rax,%rbx ++\s*[a-f0-9]+:\s*62 d4 74 10 8f c0\s+pop2\s+%r8,%r17 ++\s*[a-f0-9]+:\s*62 dc 34 18 8f c7\s+pop2\s+%r31,%r9 ++\s*[a-f0-9]+:\s*62 dc 04 10 8f c0\s+pop2\s+%r24,%r31 ++\s*[a-f0-9]+:\s*62 f4 e4 18 8f c0\s+pop2p\s+%rax,%rbx ++\s*[a-f0-9]+:\s*62 d4 f4 10 8f c0\s+pop2p\s+%r8,%r17 ++\s*[a-f0-9]+:\s*62 dc b4 18 8f c7\s+pop2p\s+%r31,%r9 ++\s*[a-f0-9]+:\s*62 dc 84 10 8f c0\s+pop2p\s+%r24,%r31 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-push2pop2.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-push2pop2.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-push2pop2.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-push2pop2.s 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,39 @@ ++# Check 64bit APX-Push2Pop2 instructions ++ ++ .allow_index_reg ++ .text ++_start: ++ push2 %rbx, %rax ++ push2 %r17, %r8 ++ push2 %r9, %r31 ++ push2 %r31, %r24 ++ push2p %rbx, %rax ++ push2p %r17, %r8 ++ push2p %r9, %r31 ++ push2p %r31, %r24 ++ pop2 %rax, %rbx ++ pop2 %r8, %r17 ++ pop2 %r31, %r9 ++ pop2 %r24, %r31 ++ pop2p %rax, %rbx ++ pop2p %r8, %r17 ++ pop2p %r31, %r9 ++ pop2p %r24, %r31 ++ ++ .intel_syntax noprefix ++ push2 rax, rbx ++ push2 r8, r17 ++ push2 r31, r9 ++ push2 r24, r31 ++ push2p rax, rbx ++ push2p r8, r17 ++ push2p r31, r9 ++ push2p r24, r31 ++ pop2 rbx, rax ++ pop2 r17, r8 ++ pop2 r9, r31 ++ pop2 r31, r24 ++ pop2p rbx, rax ++ pop2p r17, r8 ++ pop2p r9, r31 ++ pop2p r31, r24 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-intel.d 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,15 @@ ++#as: ++#objdump: -dw -Mintel ++#name: x86_64 APX_F pushp popp insns (Intel disassembly) ++#source: x86-64-apx-pushp-popp.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*d5 08 50[ ]+pushp rax ++\s*[a-f0-9]+:\s*d5 19 57[ ]+pushp r31 ++\s*[a-f0-9]+:\s*d5 08 58[ ]+popp rax ++\s*[a-f0-9]+:\s*d5 19 5f[ ]+popp r31 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,5 @@ ++.* Assembler messages: ++.*:4: Error: operand size mismatch for `pushp' ++.*:5: Error: operand size mismatch for `popp' ++.*:6: Error: operand size mismatch for `pushp' ++.*:7: Error: operand size mismatch for `popp' +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.s 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,7 @@ ++# Check bytecode of APX_F pushp popp instructions with illegal instructions. ++ ++ .text ++ pushp %eax ++ popp %eax ++ pushp (%rax) ++ popp (%rax) +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.d 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,15 @@ ++#as: ++#objdump: -dw ++#name: x86_64 APX_F pushp popp insns ++#source: x86-64-apx-pushp-popp.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*d5 08 50[ ]+pushp %rax ++\s*[a-f0-9]+:\s*d5 19 57[ ]+pushp %r31 ++\s*[a-f0-9]+:\s*d5 08 58[ ]+popp %rax ++\s*[a-f0-9]+:\s*d5 19 5f[ ]+popp %r31 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.s 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,8 @@ ++# Check 64bit APX_F pushp popp instructions ++ ++ .text ++ _start: ++ pushp %rax ++ pushp %r31 ++ popp %rax ++ popp %r31 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-rex2.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-rex2.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-rex2.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-rex2.d 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,83 @@ ++#as: ++#objdump: -dw ++#name: x86-64 APX_F use gpr32 with rex2 prefix ++#source: x86-64-apx-rex2.s ++ ++.*: +file format .* ++ ++ ++Disassembly of section .text: ++ ++0+ <_start>: ++[ ]*[a-f0-9]+:[ ]*d5 11 f6 c0 07[ ]+test \$0x7,%r24b ++[ ]*[a-f0-9]+:[ ]*d5 11 f7 c0 07 00 00 00[ ]+test \$0x7,%r24d ++[ ]*[a-f0-9]+:[ ]*d5 19 f7 c0 07 00 00 00[ ]+test \$0x7,%r24 ++[ ]*[a-f0-9]+:[ ]*66 d5 11 f7 c0 07 00[ ]+test \$0x7,%r24w ++[ ]*[a-f0-9]+:[ ]*44 0f af f8[ ]+imul %eax,%r15d ++[ ]*[a-f0-9]+:[ ]*d5 c0 af c0[ ]+imul %eax,%r16d ++[ ]*[a-f0-9]+:[ ]*d5 90 62 12[ ]+punpckldq %mm2,\(%r18\) ++[ ]*[a-f0-9]+:[ ]*d5 40 8d 00[ ]+lea \(%rax\),%r16d ++[ ]*[a-f0-9]+:[ ]*d5 40 8d 08[ ]+lea \(%rax\),%r17d ++[ ]*[a-f0-9]+:[ ]*d5 40 8d 10[ ]+lea \(%rax\),%r18d ++[ ]*[a-f0-9]+:[ ]*d5 40 8d 18[ ]+lea \(%rax\),%r19d ++[ ]*[a-f0-9]+:[ ]*d5 40 8d 20[ ]+lea \(%rax\),%r20d ++[ ]*[a-f0-9]+:[ ]*d5 40 8d 28[ ]+lea \(%rax\),%r21d ++[ ]*[a-f0-9]+:[ ]*d5 40 8d 30[ ]+lea \(%rax\),%r22d ++[ ]*[a-f0-9]+:[ ]*d5 40 8d 38[ ]+lea \(%rax\),%r23d ++[ ]*[a-f0-9]+:[ ]*d5 44 8d 00[ ]+lea \(%rax\),%r24d ++[ ]*[a-f0-9]+:[ ]*d5 44 8d 08[ ]+lea \(%rax\),%r25d ++[ ]*[a-f0-9]+:[ ]*d5 44 8d 10[ ]+lea \(%rax\),%r26d ++[ ]*[a-f0-9]+:[ ]*d5 44 8d 18[ ]+lea \(%rax\),%r27d ++[ ]*[a-f0-9]+:[ ]*d5 44 8d 20[ ]+lea \(%rax\),%r28d ++[ ]*[a-f0-9]+:[ ]*d5 44 8d 28[ ]+lea \(%rax\),%r29d ++[ ]*[a-f0-9]+:[ ]*d5 44 8d 30[ ]+lea \(%rax\),%r30d ++[ ]*[a-f0-9]+:[ ]*d5 44 8d 38[ ]+lea \(%rax\),%r31d ++[ ]*[a-f0-9]+:[ ]*d5 20 8d 04 05 00 00 00 00[ ]+lea 0x0\(,%r16,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 20 8d 04 0d 00 00 00 00[ ]+lea 0x0\(,%r17,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 20 8d 04 15 00 00 00 00[ ]+lea 0x0\(,%r18,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 20 8d 04 1d 00 00 00 00[ ]+lea 0x0\(,%r19,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 20 8d 04 25 00 00 00 00[ ]+lea 0x0\(,%r20,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 20 8d 04 2d 00 00 00 00[ ]+lea 0x0\(,%r21,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 20 8d 04 35 00 00 00 00[ ]+lea 0x0\(,%r22,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 20 8d 04 3d 00 00 00 00[ ]+lea 0x0\(,%r23,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 22 8d 04 05 00 00 00 00[ ]+lea 0x0\(,%r24,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 22 8d 04 0d 00 00 00 00[ ]+lea 0x0\(,%r25,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 22 8d 04 15 00 00 00 00[ ]+lea 0x0\(,%r26,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 22 8d 04 1d 00 00 00 00[ ]+lea 0x0\(,%r27,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 22 8d 04 25 00 00 00 00[ ]+lea 0x0\(,%r28,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 22 8d 04 2d 00 00 00 00[ ]+lea 0x0\(,%r29,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 22 8d 04 35 00 00 00 00[ ]+lea 0x0\(,%r30,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 22 8d 04 3d 00 00 00 00[ ]+lea 0x0\(,%r31,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 10 8d 00[ ]+lea \(%r16\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 10 8d 01[ ]+lea \(%r17\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 10 8d 02[ ]+lea \(%r18\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 10 8d 03[ ]+lea \(%r19\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 10 8d 04 24 lea \(%r20\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 10 8d 45 00 lea 0x0\(%r21\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 10 8d 06[ ]+lea \(%r22\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 10 8d 07[ ]+lea \(%r23\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 11 8d 00[ ]+lea \(%r24\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 11 8d 01[ ]+lea \(%r25\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 11 8d 02[ ]+lea \(%r26\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 11 8d 03[ ]+lea \(%r27\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 11 8d 04 24 lea \(%r28\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 11 8d 45 00 lea 0x0\(%r29\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 11 8d 06 lea \(%r30\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 11 8d 07 lea \(%r31\),%eax ++[ ]*[a-f0-9]+:[ ]*4c 8d 38 lea \(%rax\),%r15 ++[ ]*[a-f0-9]+:[ ]*d5 48 8d 00 lea \(%rax\),%r16 ++[ ]*[a-f0-9]+:[ ]*49 8d 07 lea \(%r15\),%rax ++[ ]*[a-f0-9]+:[ ]*d5 18 8d 00 lea \(%r16\),%rax ++[ ]*[a-f0-9]+:[ ]*4a 8d 04 3d 00 00 00 00 lea 0x0\(,%r15,1\),%rax ++[ ]*[a-f0-9]+:[ ]*d5 28 8d 04 05 00 00 00 00 lea 0x0\(,%r16,1\),%rax ++[ ]*[a-f0-9]+:[ ]*d5 1c 03 00 add \(%r16\),%r8 ++[ ]*[a-f0-9]+:[ ]*d5 1c 03 38 add \(%r16\),%r15 ++[ ]*[a-f0-9]+:[ ]*d5 4a 8b 04 0d 00 00 00 00 mov 0x0\(,%r9,1\),%r16 ++[ ]*[a-f0-9]+:[ ]*d5 4a 8b 04 35 00 00 00 00 mov 0x0\(,%r14,1\),%r16 ++[ ]*[a-f0-9]+:[ ]*d5 4d 2b 3a sub \(%r10\),%r31 ++[ ]*[a-f0-9]+:[ ]*d5 4d 2b 7d 00 sub 0x0\(%r13\),%r31 ++[ ]*[a-f0-9]+:[ ]*d5 30 8d 44 20 01 lea 0x1\(%r16,%r20,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 76 8d 7c 20 01 lea 0x1\(%r16,%r28,1\),%r31d ++[ ]*[a-f0-9]+:[ ]*d5 12 8d 84 04 81 00 00 00 lea 0x81\(%r20,%r8,1\),%eax ++[ ]*[a-f0-9]+:[ ]*d5 57 8d bc 04 81 00 00 00 lea 0x81\(%r28,%r8,1\),%r31d ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-rex2.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-rex2.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-rex2.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-rex2.s 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,85 @@ ++# Check 64bit instructions with rex2 prefix encoding ++ ++ .allow_index_reg ++ .text ++_start: ++ test $0x7, %r24b ++ test $0x7, %r24d ++ test $0x7, %r24 ++ test $0x7, %r24w ++## REX2.M bit ++ imull %eax, %r15d ++ imull %eax, %r16d ++ punpckldq (%r18), %mm2 ++## REX2.R4 bit ++ leal (%rax), %r16d ++ leal (%rax), %r17d ++ leal (%rax), %r18d ++ leal (%rax), %r19d ++ leal (%rax), %r20d ++ leal (%rax), %r21d ++ leal (%rax), %r22d ++ leal (%rax), %r23d ++ leal (%rax), %r24d ++ leal (%rax), %r25d ++ leal (%rax), %r26d ++ leal (%rax), %r27d ++ leal (%rax), %r28d ++ leal (%rax), %r29d ++ leal (%rax), %r30d ++ leal (%rax), %r31d ++## REX2.X4 bit ++ leal (,%r16), %eax ++ leal (,%r17), %eax ++ leal (,%r18), %eax ++ leal (,%r19), %eax ++ leal (,%r20), %eax ++ leal (,%r21), %eax ++ leal (,%r22), %eax ++ leal (,%r23), %eax ++ leal (,%r24), %eax ++ leal (,%r25), %eax ++ leal (,%r26), %eax ++ leal (,%r27), %eax ++ leal (,%r28), %eax ++ leal (,%r29), %eax ++ leal (,%r30), %eax ++ leal (,%r31), %eax ++## REX2.B4 bit ++ leal (%r16), %eax ++ leal (%r17), %eax ++ leal (%r18), %eax ++ leal (%r19), %eax ++ leal (%r20), %eax ++ leal (%r21), %eax ++ leal (%r22), %eax ++ leal (%r23), %eax ++ leal (%r24), %eax ++ leal (%r25), %eax ++ leal (%r26), %eax ++ leal (%r27), %eax ++ leal (%r28), %eax ++ leal (%r29), %eax ++ leal (%r30), %eax ++ leal (%r31), %eax ++## REX2.W bit ++ leaq (%rax), %r15 ++ leaq (%rax), %r16 ++ leaq (%r15), %rax ++ leaq (%r16), %rax ++ leaq (,%r15), %rax ++ leaq (,%r16), %rax ++## REX2.R3 bit ++ add (%r16), %r8 ++ add (%r16), %r15 ++## REX2.X3 bit ++ mov (,%r9), %r16 ++ mov (,%r14), %r16 ++## REX2.B3 bit ++ sub (%r10), %r31 ++ sub (%r13), %r31 ++## SIB ++ leal 1(%r16, %r20), %eax ++ leal 1(%r16, %r28), %r31d ++ leal 129(%r20, %r8), %eax ++ leal 129(%r28, %r8), %r31d +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-arch-5-znver5.d binutils-2.41/gas/testsuite/gas/i386/x86-64-arch-5-znver5.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-arch-5-znver5.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-arch-5-znver5.d 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,5 @@ ++#source: x86-64-arch-5.s ++#as: -march=znver5 ++#objdump: -dw ++#name: x86-64 arch 5 (znver5) ++#dump: x86-64-arch-5.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-arch-5.d binutils-2.41/gas/testsuite/gas/i386/x86-64-arch-5.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-arch-5.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-arch-5.d 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,14 @@ ++#objdump: -dw ++#name: x86-64 arch 5 ++ ++.*: file format .* ++ ++Disassembly of section .text: ++ ++0+ <.text>: ++[ ]*[a-f0-9]+:[ ]*c4 c2 59 50 d4[ ]*\{vex\} vpdpbusd %xmm12,%xmm4,%xmm2 ++[ ]*[a-f0-9]+:[ ]*48 0f 38 f9 01[ ]*movdiri %rax,\(%rcx\) ++[ ]*[a-f0-9]+:[ ]*66 0f 38 f8 01[ ]*movdir64b \(%rcx\),%rax ++[ ]*[a-f0-9]+:[ ]*62 f2 6f 48 68 d9[ ]*vp2intersectd %zmm1,%zmm2,%k3 ++[ ]*[a-f0-9]+:[ ]*0f 18 3d 78 56 34 12[ ]*prefetchit0 0x12345678\(%rip\) # .* ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-arch-5.s binutils-2.41/gas/testsuite/gas/i386/x86-64-arch-5.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-arch-5.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-arch-5.s 2024-01-18 13:32:46.364889338 +0000 +@@ -0,0 +1,8 @@ ++# Test -march= ++ .text ++ ++ {vex} vpdpbusd %xmm12, %xmm4, %xmm2 #AVX_VNNI ++ movdiri %rax, (%rcx) #MOVDIRI ++ movdir64b (%rcx), %rax #MOVDIR64B ++ vp2intersectd %zmm1, %zmm2, %k3 #AVX512_VP2INTERSECT ++ prefetchit0 0x12345678(%rip) #prefetchi +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-gather-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-gather-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-gather-intel.d 2024-01-18 12:12:23.799946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-gather-intel.d 2024-01-18 13:32:46.364889338 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: x86-64 AVX GATHER insns (Intel disassembly) + #source: x86-64-avx-gather.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-gather.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-gather.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-gather.d 2024-01-18 12:12:23.799946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-gather.d 2024-01-18 13:32:46.364889338 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86-64 AVX GATHER insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ifma-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ifma-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ifma-intel.d 2024-01-18 12:12:23.799946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ifma-intel.d 2024-01-18 13:32:46.365889339 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86-64 AVX IFMA insns (Intel disassembly) + #source: x86-64-avx-ifma.s +@@ -29,6 +28,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+:[ ]*c4 c2 dd b4 d4[ ]*\{vex\} vpmadd52luq ymm2,ymm4,ymm12 + [ ]*[a-f0-9]+:[ ]*c4 e2 dd b4 11[ ]*\{vex\} vpmadd52luq ymm2,ymm4,YMMWORD PTR \[rcx\] + [ ]*[a-f0-9]+:[ ]*62 b2 dd 28 b4 d6[ ]*vpmadd52luq ymm2,ymm4,ymm22 +-[ ]*[a-f0-9]+:[ ]*62 d2 dd 08 b5 d4[ ]*vpmadd52huq xmm2,xmm4,xmm12 +-[ ]*[a-f0-9]+:[ ]*62 d2 dd 28 b5 d4[ ]*vpmadd52huq ymm2,ymm4,ymm12 ++[ ]*[a-f0-9]+:[ ]*c4 c2 d9 b5 d4[ ]*\{vex\} vpmadd52huq xmm2,xmm4,xmm12 ++[ ]*[a-f0-9]+:[ ]*c4 c2 dd b5 d4[ ]*\{vex\} vpmadd52huq ymm2,ymm4,ymm12 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ifma-inval.l binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ifma-inval.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ifma-inval.l 2024-01-18 12:12:23.799946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ifma-inval.l 2024-01-18 13:32:46.365889339 +0000 +@@ -1,4 +1,4 @@ + .* Assembler messages: + .*:6: Error: unsupported .* `vpmadd52huq' +-.*:7: Error: unsupported .* `vpmadd52huq' ++.*:7: Error: no EVEX .* `vpmadd52huq' + .*:8: Error: operand .* `vpmadd52huq' +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ifma.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ifma.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ifma.d 2024-01-18 12:12:23.799946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ifma.d 2024-01-18 13:32:46.365889339 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86-64 AVX IFMA insns + #source: x86-64-avx-ifma.s +@@ -29,6 +28,6 @@ Disassembly of section .text: + [ ]*[a-f0-9]+:[ ]*c4 c2 dd b4 d4[ ]*\{vex\} vpmadd52luq %ymm12,%ymm4,%ymm2 + [ ]*[a-f0-9]+:[ ]*c4 e2 dd b4 11[ ]*\{vex\} vpmadd52luq \(%rcx\),%ymm4,%ymm2 + [ ]*[a-f0-9]+:[ ]*62 b2 dd 28 b4 d6[ ]*vpmadd52luq %ymm22,%ymm4,%ymm2 +-[ ]*[a-f0-9]+:[ ]*62 d2 dd 08 b5 d4[ ]*vpmadd52huq %xmm12,%xmm4,%xmm2 +-[ ]*[a-f0-9]+:[ ]*62 d2 dd 28 b5 d4[ ]*vpmadd52huq %ymm12,%ymm4,%ymm2 ++[ ]*[a-f0-9]+:[ ]*c4 c2 d9 b5 d4[ ]*\{vex\} vpmadd52huq %xmm12,%xmm4,%xmm2 ++[ ]*[a-f0-9]+:[ ]*c4 c2 dd b5 d4[ ]*\{vex\} vpmadd52huq %ymm12,%ymm4,%ymm2 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ifma.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ifma.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ifma.s 2024-01-18 12:12:23.799946069 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ifma.s 2024-01-18 13:32:46.365889339 +0000 +@@ -1,5 +1,3 @@ +- .allow_index_reg +- + .macro test_insn mnemonic + \mnemonic %xmm12, %xmm4, %xmm2 + {evex} \mnemonic %xmm12, %xmm4, %xmm2 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ne-convert-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ne-convert-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ne-convert-intel.d 2024-01-18 12:12:23.800946070 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ne-convert-intel.d 2024-01-18 13:32:46.365889339 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX-NE-CONVERT insns (Intel disassembly) + #source: x86-64-avx-ne-convert.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ne-convert.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ne-convert.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ne-convert.d 2024-01-18 12:12:23.800946070 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ne-convert.d 2024-01-18 13:32:46.365889339 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX-NE-CONVERT insns + #source: x86-64-avx-ne-convert.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ne-convert.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ne-convert.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-ne-convert.s 2024-01-18 12:12:23.800946070 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-ne-convert.s 2024-01-18 13:32:46.365889339 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX-NE-CONVERT instructions + +- .allow_index_reg + .text + _start: + vbcstnebf162ps 0x10000000(%rbp, %r14, 8), %xmm6 #AVX-NE-CONVERT +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-scalar-2.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-scalar-2.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-scalar-2.s 2024-01-18 12:12:23.800946070 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-scalar-2.s 2024-01-18 13:32:46.365889339 +0000 +@@ -1,6 +1,5 @@ + # Check VEX.128 scalar instructions with -mavxscalar=256 -msse2avx + +- .allow_index_reg + .text + _start: + movd %xmm4,(%rcx) +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-swap.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-swap.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-swap.s 2024-01-18 12:12:23.800946070 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-swap.s 2024-01-18 13:32:46.366889340 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit instructions with encoding options + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-int16-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-int16-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-int16-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-int16-intel.d 2024-01-18 13:32:46.366889340 +0000 +@@ -0,0 +1,129 @@ ++#objdump: -dw -Mintel ++#name: x86_64 AVX-VNNI-INT16 insns (Intel disassembly) ++#source: x86-64-avx-vnni-int16.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 e2 56 d2 f4\s+vpdpwsud ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 f4\s+vpdpwsud xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 a2 56 d2 b4 f5 00 00 00 10\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 56 d2 31\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b1 e0 0f 00 00\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[rcx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b2 00 f0 ff ff\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[rdx-0x1000\] ++\s*[a-f0-9]+:\s*c4 a2 52 d2 b4 f5 00 00 00 10\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 52 d2 31\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b1 f0 07 00 00\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[rcx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b2 00 f8 ff ff\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[rdx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 f4\s+vpdpwsuds ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 f4\s+vpdpwsuds xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 a2 56 d3 b4 f5 00 00 00 10\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 56 d3 31\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b1 e0 0f 00 00\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[rcx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b2 00 f0 ff ff\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[rdx-0x1000\] ++\s*[a-f0-9]+:\s*c4 a2 52 d3 b4 f5 00 00 00 10\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 52 d3 31\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b1 f0 07 00 00\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[rcx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b2 00 f8 ff ff\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[rdx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 f4\s+vpdpwusd ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 f4\s+vpdpwusd xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 a2 55 d2 b4 f5 00 00 00 10\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 55 d2 31\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b1 e0 0f 00 00\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[rcx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b2 00 f0 ff ff\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[rdx-0x1000\] ++\s*[a-f0-9]+:\s*c4 a2 51 d2 b4 f5 00 00 00 10\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 51 d2 31\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b1 f0 07 00 00\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[rcx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b2 00 f8 ff ff\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[rdx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 f4\s+vpdpwusds ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 f4\s+vpdpwusds xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 a2 55 d3 b4 f5 00 00 00 10\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 55 d3 31\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b1 e0 0f 00 00\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[rcx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b2 00 f0 ff ff\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[rdx-0x1000\] ++\s*[a-f0-9]+:\s*c4 a2 51 d3 b4 f5 00 00 00 10\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 51 d3 31\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b1 f0 07 00 00\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[rcx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b2 00 f8 ff ff\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[rdx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 f4\s+vpdpwuud ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 f4\s+vpdpwuud xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 a2 54 d2 b4 f5 00 00 00 10\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 54 d2 31\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b1 e0 0f 00 00\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[rcx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b2 00 f0 ff ff\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[rdx-0x1000\] ++\s*[a-f0-9]+:\s*c4 a2 50 d2 b4 f5 00 00 00 10\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 50 d2 31\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b1 f0 07 00 00\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[rcx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b2 00 f8 ff ff\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[rdx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 f4\s+vpdpwuuds ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 f4\s+vpdpwuuds xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 a2 54 d3 b4 f5 00 00 00 10\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 54 d3 31\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b1 e0 0f 00 00\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[rcx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b2 00 f0 ff ff\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[rdx-0x1000\] ++\s*[a-f0-9]+:\s*c4 a2 50 d3 b4 f5 00 00 00 10\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 50 d3 31\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b1 f0 07 00 00\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[rcx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b2 00 f8 ff ff\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[rdx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 56 d2 f4\s+vpdpwsud ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 f4\s+vpdpwsud xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 a2 56 d2 b4 f5 00 00 00 10\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 56 d2 31\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b1 e0 0f 00 00\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[rcx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b2 00 f0 ff ff\s+vpdpwsud ymm6,ymm5,YMMWORD PTR \[rdx-0x1000\] ++\s*[a-f0-9]+:\s*c4 a2 52 d2 b4 f5 00 00 00 10\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 52 d2 31\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b1 f0 07 00 00\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[rcx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b2 00 f8 ff ff\s+vpdpwsud xmm6,xmm5,XMMWORD PTR \[rdx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 f4\s+vpdpwsuds ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 f4\s+vpdpwsuds xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 a2 56 d3 b4 f5 00 00 00 10\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 56 d3 31\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b1 e0 0f 00 00\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[rcx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b2 00 f0 ff ff\s+vpdpwsuds ymm6,ymm5,YMMWORD PTR \[rdx-0x1000\] ++\s*[a-f0-9]+:\s*c4 a2 52 d3 b4 f5 00 00 00 10\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 52 d3 31\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b1 f0 07 00 00\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[rcx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b2 00 f8 ff ff\s+vpdpwsuds xmm6,xmm5,XMMWORD PTR \[rdx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 f4\s+vpdpwusd ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 f4\s+vpdpwusd xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 a2 55 d2 b4 f5 00 00 00 10\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 55 d2 31\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b1 e0 0f 00 00\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[rcx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b2 00 f0 ff ff\s+vpdpwusd ymm6,ymm5,YMMWORD PTR \[rdx-0x1000\] ++\s*[a-f0-9]+:\s*c4 a2 51 d2 b4 f5 00 00 00 10\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 51 d2 31\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b1 f0 07 00 00\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[rcx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b2 00 f8 ff ff\s+vpdpwusd xmm6,xmm5,XMMWORD PTR \[rdx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 f4\s+vpdpwusds ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 f4\s+vpdpwusds xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 a2 55 d3 b4 f5 00 00 00 10\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 55 d3 31\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b1 e0 0f 00 00\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[rcx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b2 00 f0 ff ff\s+vpdpwusds ymm6,ymm5,YMMWORD PTR \[rdx-0x1000\] ++\s*[a-f0-9]+:\s*c4 a2 51 d3 b4 f5 00 00 00 10\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 51 d3 31\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b1 f0 07 00 00\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[rcx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b2 00 f8 ff ff\s+vpdpwusds xmm6,xmm5,XMMWORD PTR \[rdx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 f4\s+vpdpwuud ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 f4\s+vpdpwuud xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 a2 54 d2 b4 f5 00 00 00 10\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 54 d2 31\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b1 e0 0f 00 00\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[rcx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b2 00 f0 ff ff\s+vpdpwuud ymm6,ymm5,YMMWORD PTR \[rdx-0x1000\] ++\s*[a-f0-9]+:\s*c4 a2 50 d2 b4 f5 00 00 00 10\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 50 d2 31\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b1 f0 07 00 00\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[rcx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b2 00 f8 ff ff\s+vpdpwuud xmm6,xmm5,XMMWORD PTR \[rdx-0x800\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 f4\s+vpdpwuuds ymm6,ymm5,ymm4 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 f4\s+vpdpwuuds xmm6,xmm5,xmm4 ++\s*[a-f0-9]+:\s*c4 a2 54 d3 b4 f5 00 00 00 10\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 54 d3 31\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b1 e0 0f 00 00\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[rcx\+0xfe0\] ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b2 00 f0 ff ff\s+vpdpwuuds ymm6,ymm5,YMMWORD PTR \[rdx-0x1000\] ++\s*[a-f0-9]+:\s*c4 a2 50 d3 b4 f5 00 00 00 10\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 50 d3 31\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b1 f0 07 00 00\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[rcx\+0x7f0\] ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b2 00 f8 ff ff\s+vpdpwuuds xmm6,xmm5,XMMWORD PTR \[rdx-0x800\] +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-int16.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-int16.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-int16.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-int16.d 2024-01-18 13:32:46.366889340 +0000 +@@ -0,0 +1,129 @@ ++#objdump: -dw ++#name: x86_64 AVX-VNNI-INT16 insns ++#source: x86-64-avx-vnni-int16.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 e2 56 d2 f4\s+vpdpwsud %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 f4\s+vpdpwsud %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 56 d2 b4 f5 00 00 00 10\s+vpdpwsud 0x10000000\(%rbp,%r14,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 56 d2 31\s+vpdpwsud \(%r9\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b1 e0 0f 00 00\s+vpdpwsud 0xfe0\(%rcx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b2 00 f0 ff ff\s+vpdpwsud -0x1000\(%rdx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 52 d2 b4 f5 00 00 00 10\s+vpdpwsud 0x10000000\(%rbp,%r14,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 52 d2 31\s+vpdpwsud \(%r9\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b1 f0 07 00 00\s+vpdpwsud 0x7f0\(%rcx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b2 00 f8 ff ff\s+vpdpwsud -0x800\(%rdx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 f4\s+vpdpwsuds %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 f4\s+vpdpwsuds %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 56 d3 b4 f5 00 00 00 10\s+vpdpwsuds 0x10000000\(%rbp,%r14,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 56 d3 31\s+vpdpwsuds \(%r9\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b1 e0 0f 00 00\s+vpdpwsuds 0xfe0\(%rcx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b2 00 f0 ff ff\s+vpdpwsuds -0x1000\(%rdx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 52 d3 b4 f5 00 00 00 10\s+vpdpwsuds 0x10000000\(%rbp,%r14,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 52 d3 31\s+vpdpwsuds \(%r9\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b1 f0 07 00 00\s+vpdpwsuds 0x7f0\(%rcx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b2 00 f8 ff ff\s+vpdpwsuds -0x800\(%rdx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 f4\s+vpdpwusd %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 f4\s+vpdpwusd %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 55 d2 b4 f5 00 00 00 10\s+vpdpwusd 0x10000000\(%rbp,%r14,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 55 d2 31\s+vpdpwusd \(%r9\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b1 e0 0f 00 00\s+vpdpwusd 0xfe0\(%rcx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b2 00 f0 ff ff\s+vpdpwusd -0x1000\(%rdx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 51 d2 b4 f5 00 00 00 10\s+vpdpwusd 0x10000000\(%rbp,%r14,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 51 d2 31\s+vpdpwusd \(%r9\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b1 f0 07 00 00\s+vpdpwusd 0x7f0\(%rcx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b2 00 f8 ff ff\s+vpdpwusd -0x800\(%rdx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 f4\s+vpdpwusds %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 f4\s+vpdpwusds %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 55 d3 b4 f5 00 00 00 10\s+vpdpwusds 0x10000000\(%rbp,%r14,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 55 d3 31\s+vpdpwusds \(%r9\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b1 e0 0f 00 00\s+vpdpwusds 0xfe0\(%rcx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b2 00 f0 ff ff\s+vpdpwusds -0x1000\(%rdx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 51 d3 b4 f5 00 00 00 10\s+vpdpwusds 0x10000000\(%rbp,%r14,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 51 d3 31\s+vpdpwusds \(%r9\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b1 f0 07 00 00\s+vpdpwusds 0x7f0\(%rcx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b2 00 f8 ff ff\s+vpdpwusds -0x800\(%rdx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 f4\s+vpdpwuud %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 f4\s+vpdpwuud %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 54 d2 b4 f5 00 00 00 10\s+vpdpwuud 0x10000000\(%rbp,%r14,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 54 d2 31\s+vpdpwuud \(%r9\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b1 e0 0f 00 00\s+vpdpwuud 0xfe0\(%rcx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b2 00 f0 ff ff\s+vpdpwuud -0x1000\(%rdx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 50 d2 b4 f5 00 00 00 10\s+vpdpwuud 0x10000000\(%rbp,%r14,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 50 d2 31\s+vpdpwuud \(%r9\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b1 f0 07 00 00\s+vpdpwuud 0x7f0\(%rcx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b2 00 f8 ff ff\s+vpdpwuud -0x800\(%rdx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 f4\s+vpdpwuuds %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 f4\s+vpdpwuuds %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 54 d3 b4 f5 00 00 00 10\s+vpdpwuuds 0x10000000\(%rbp,%r14,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 54 d3 31\s+vpdpwuuds \(%r9\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b1 e0 0f 00 00\s+vpdpwuuds 0xfe0\(%rcx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b2 00 f0 ff ff\s+vpdpwuuds -0x1000\(%rdx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 50 d3 b4 f5 00 00 00 10\s+vpdpwuuds 0x10000000\(%rbp,%r14,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 50 d3 31\s+vpdpwuuds \(%r9\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b1 f0 07 00 00\s+vpdpwuuds 0x7f0\(%rcx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b2 00 f8 ff ff\s+vpdpwuuds -0x800\(%rdx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 f4\s+vpdpwsud %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 f4\s+vpdpwsud %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 56 d2 b4 f5 00 00 00 10\s+vpdpwsud 0x10000000\(%rbp,%r14,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 56 d2 31\s+vpdpwsud \(%r9\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b1 e0 0f 00 00\s+vpdpwsud 0xfe0\(%rcx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d2 b2 00 f0 ff ff\s+vpdpwsud -0x1000\(%rdx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 52 d2 b4 f5 00 00 00 10\s+vpdpwsud 0x10000000\(%rbp,%r14,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 52 d2 31\s+vpdpwsud \(%r9\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b1 f0 07 00 00\s+vpdpwsud 0x7f0\(%rcx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d2 b2 00 f8 ff ff\s+vpdpwsud -0x800\(%rdx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 f4\s+vpdpwsuds %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 f4\s+vpdpwsuds %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 56 d3 b4 f5 00 00 00 10\s+vpdpwsuds 0x10000000\(%rbp,%r14,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 56 d3 31\s+vpdpwsuds \(%r9\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b1 e0 0f 00 00\s+vpdpwsuds 0xfe0\(%rcx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 56 d3 b2 00 f0 ff ff\s+vpdpwsuds -0x1000\(%rdx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 52 d3 b4 f5 00 00 00 10\s+vpdpwsuds 0x10000000\(%rbp,%r14,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 52 d3 31\s+vpdpwsuds \(%r9\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b1 f0 07 00 00\s+vpdpwsuds 0x7f0\(%rcx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 52 d3 b2 00 f8 ff ff\s+vpdpwsuds -0x800\(%rdx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 f4\s+vpdpwusd %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 f4\s+vpdpwusd %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 55 d2 b4 f5 00 00 00 10\s+vpdpwusd 0x10000000\(%rbp,%r14,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 55 d2 31\s+vpdpwusd \(%r9\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b1 e0 0f 00 00\s+vpdpwusd 0xfe0\(%rcx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d2 b2 00 f0 ff ff\s+vpdpwusd -0x1000\(%rdx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 51 d2 b4 f5 00 00 00 10\s+vpdpwusd 0x10000000\(%rbp,%r14,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 51 d2 31\s+vpdpwusd \(%r9\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b1 f0 07 00 00\s+vpdpwusd 0x7f0\(%rcx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d2 b2 00 f8 ff ff\s+vpdpwusd -0x800\(%rdx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 f4\s+vpdpwusds %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 f4\s+vpdpwusds %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 55 d3 b4 f5 00 00 00 10\s+vpdpwusds 0x10000000\(%rbp,%r14,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 55 d3 31\s+vpdpwusds \(%r9\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b1 e0 0f 00 00\s+vpdpwusds 0xfe0\(%rcx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 55 d3 b2 00 f0 ff ff\s+vpdpwusds -0x1000\(%rdx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 51 d3 b4 f5 00 00 00 10\s+vpdpwusds 0x10000000\(%rbp,%r14,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 51 d3 31\s+vpdpwusds \(%r9\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b1 f0 07 00 00\s+vpdpwusds 0x7f0\(%rcx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 51 d3 b2 00 f8 ff ff\s+vpdpwusds -0x800\(%rdx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 f4\s+vpdpwuud %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 f4\s+vpdpwuud %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 54 d2 b4 f5 00 00 00 10\s+vpdpwuud 0x10000000\(%rbp,%r14,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 54 d2 31\s+vpdpwuud \(%r9\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b1 e0 0f 00 00\s+vpdpwuud 0xfe0\(%rcx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d2 b2 00 f0 ff ff\s+vpdpwuud -0x1000\(%rdx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 50 d2 b4 f5 00 00 00 10\s+vpdpwuud 0x10000000\(%rbp,%r14,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 50 d2 31\s+vpdpwuud \(%r9\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b1 f0 07 00 00\s+vpdpwuud 0x7f0\(%rcx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d2 b2 00 f8 ff ff\s+vpdpwuud -0x800\(%rdx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 f4\s+vpdpwuuds %ymm4,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 f4\s+vpdpwuuds %xmm4,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 54 d3 b4 f5 00 00 00 10\s+vpdpwuuds 0x10000000\(%rbp,%r14,8\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 54 d3 31\s+vpdpwuuds \(%r9\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b1 e0 0f 00 00\s+vpdpwuuds 0xfe0\(%rcx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 e2 54 d3 b2 00 f0 ff ff\s+vpdpwuuds -0x1000\(%rdx\),%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 50 d3 b4 f5 00 00 00 10\s+vpdpwuuds 0x10000000\(%rbp,%r14,8\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 50 d3 31\s+vpdpwuuds \(%r9\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b1 f0 07 00 00\s+vpdpwuuds 0x7f0\(%rcx\),%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 e2 50 d3 b2 00 f8 ff ff\s+vpdpwuuds -0x800\(%rdx\),%xmm5,%xmm6 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-int16.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-int16.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-int16.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-int16.s 2024-01-18 13:32:46.366889340 +0000 +@@ -0,0 +1,126 @@ ++# Check 64bit AVX-VNNI-INT16 instructions ++ ++ .text ++_start: ++ vpdpwsud %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwsud %xmm4, %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwsud 0x10000000(%rbp, %r14, 8), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwsud (%r9), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwsud 4064(%rcx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwsud -4096(%rdx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwsud 0x10000000(%rbp, %r14, 8), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwsud (%r9), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwsud 2032(%rcx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwsud -2048(%rdx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwsuds %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwsuds %xmm4, %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwsuds 0x10000000(%rbp, %r14, 8), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwsuds (%r9), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwsuds 4064(%rcx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwsuds -4096(%rdx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwsuds 0x10000000(%rbp, %r14, 8), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwsuds (%r9), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwsuds 2032(%rcx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwsuds -2048(%rdx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwusd %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwusd %xmm4, %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwusd 0x10000000(%rbp, %r14, 8), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwusd (%r9), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwusd 4064(%rcx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwusd -4096(%rdx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwusd 0x10000000(%rbp, %r14, 8), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwusd (%r9), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwusd 2032(%rcx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwusd -2048(%rdx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwusds %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwusds %xmm4, %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwusds 0x10000000(%rbp, %r14, 8), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwusds (%r9), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwusds 4064(%rcx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwusds -4096(%rdx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwusds 0x10000000(%rbp, %r14, 8), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwusds (%r9), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwusds 2032(%rcx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwusds -2048(%rdx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwuud %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwuud %xmm4, %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwuud 0x10000000(%rbp, %r14, 8), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwuud (%r9), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwuud 4064(%rcx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwuud -4096(%rdx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwuud 0x10000000(%rbp, %r14, 8), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwuud (%r9), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwuud 2032(%rcx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwuud -2048(%rdx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwuuds %ymm4, %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwuuds %xmm4, %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwuuds 0x10000000(%rbp, %r14, 8), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwuuds (%r9), %ymm5, %ymm6 #AVX-VNNI-INT16 ++ vpdpwuuds 4064(%rcx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwuuds -4096(%rdx), %ymm5, %ymm6 #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwuuds 0x10000000(%rbp, %r14, 8), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwuuds (%r9), %xmm5, %xmm6 #AVX-VNNI-INT16 ++ vpdpwuuds 2032(%rcx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwuuds -2048(%rdx), %xmm5, %xmm6 #AVX-VNNI-INT16 Disp32(00f8ffff) ++ ++ .intel_syntax noprefix ++ vpdpwsud ymm6, ymm5, ymm4 #AVX-VNNI-INT16 ++ vpdpwsud xmm6, xmm5, xmm4 #AVX-VNNI-INT16 ++ vpdpwsud ymm6, ymm5, YMMWORD PTR [rbp+r14*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwsud ymm6, ymm5, YMMWORD PTR [r9] #AVX-VNNI-INT16 ++ vpdpwsud ymm6, ymm5, YMMWORD PTR [rcx+4064] #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwsud ymm6, ymm5, YMMWORD PTR [rdx-4096] #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwsud xmm6, xmm5, XMMWORD PTR [rbp+r14*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwsud xmm6, xmm5, XMMWORD PTR [r9] #AVX-VNNI-INT16 ++ vpdpwsud xmm6, xmm5, XMMWORD PTR [rcx+2032] #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwsud xmm6, xmm5, XMMWORD PTR [rdx-2048] #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwsuds ymm6, ymm5, ymm4 #AVX-VNNI-INT16 ++ vpdpwsuds xmm6, xmm5, xmm4 #AVX-VNNI-INT16 ++ vpdpwsuds ymm6, ymm5, YMMWORD PTR [rbp+r14*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwsuds ymm6, ymm5, YMMWORD PTR [r9] #AVX-VNNI-INT16 ++ vpdpwsuds ymm6, ymm5, YMMWORD PTR [rcx+4064] #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwsuds ymm6, ymm5, YMMWORD PTR [rdx-4096] #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwsuds xmm6, xmm5, XMMWORD PTR [rbp+r14*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwsuds xmm6, xmm5, XMMWORD PTR [r9] #AVX-VNNI-INT16 ++ vpdpwsuds xmm6, xmm5, XMMWORD PTR [rcx+2032] #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwsuds xmm6, xmm5, XMMWORD PTR [rdx-2048] #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwusd ymm6, ymm5, ymm4 #AVX-VNNI-INT16 ++ vpdpwusd xmm6, xmm5, xmm4 #AVX-VNNI-INT16 ++ vpdpwusd ymm6, ymm5, YMMWORD PTR [rbp+r14*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwusd ymm6, ymm5, YMMWORD PTR [r9] #AVX-VNNI-INT16 ++ vpdpwusd ymm6, ymm5, YMMWORD PTR [rcx+4064] #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwusd ymm6, ymm5, YMMWORD PTR [rdx-4096] #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwusd xmm6, xmm5, XMMWORD PTR [rbp+r14*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwusd xmm6, xmm5, XMMWORD PTR [r9] #AVX-VNNI-INT16 ++ vpdpwusd xmm6, xmm5, XMMWORD PTR [rcx+2032] #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwusd xmm6, xmm5, XMMWORD PTR [rdx-2048] #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwusds ymm6, ymm5, ymm4 #AVX-VNNI-INT16 ++ vpdpwusds xmm6, xmm5, xmm4 #AVX-VNNI-INT16 ++ vpdpwusds ymm6, ymm5, YMMWORD PTR [rbp+r14*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwusds ymm6, ymm5, YMMWORD PTR [r9] #AVX-VNNI-INT16 ++ vpdpwusds ymm6, ymm5, YMMWORD PTR [rcx+4064] #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwusds ymm6, ymm5, YMMWORD PTR [rdx-4096] #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwusds xmm6, xmm5, XMMWORD PTR [rbp+r14*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwusds xmm6, xmm5, XMMWORD PTR [r9] #AVX-VNNI-INT16 ++ vpdpwusds xmm6, xmm5, XMMWORD PTR [rcx+2032] #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwusds xmm6, xmm5, XMMWORD PTR [rdx-2048] #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwuud ymm6, ymm5, ymm4 #AVX-VNNI-INT16 ++ vpdpwuud xmm6, xmm5, xmm4 #AVX-VNNI-INT16 ++ vpdpwuud ymm6, ymm5, YMMWORD PTR [rbp+r14*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwuud ymm6, ymm5, YMMWORD PTR [r9] #AVX-VNNI-INT16 ++ vpdpwuud ymm6, ymm5, YMMWORD PTR [rcx+4064] #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwuud ymm6, ymm5, YMMWORD PTR [rdx-4096] #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwuud xmm6, xmm5, XMMWORD PTR [rbp+r14*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwuud xmm6, xmm5, XMMWORD PTR [r9] #AVX-VNNI-INT16 ++ vpdpwuud xmm6, xmm5, XMMWORD PTR [rcx+2032] #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwuud xmm6, xmm5, XMMWORD PTR [rdx-2048] #AVX-VNNI-INT16 Disp32(00f8ffff) ++ vpdpwuuds ymm6, ymm5, ymm4 #AVX-VNNI-INT16 ++ vpdpwuuds xmm6, xmm5, xmm4 #AVX-VNNI-INT16 ++ vpdpwuuds ymm6, ymm5, YMMWORD PTR [rbp+r14*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwuuds ymm6, ymm5, YMMWORD PTR [r9] #AVX-VNNI-INT16 ++ vpdpwuuds ymm6, ymm5, YMMWORD PTR [rcx+4064] #AVX-VNNI-INT16 Disp32(e00f0000) ++ vpdpwuuds ymm6, ymm5, YMMWORD PTR [rdx-4096] #AVX-VNNI-INT16 Disp32(00f0ffff) ++ vpdpwuuds xmm6, xmm5, XMMWORD PTR [rbp+r14*8+0x10000000] #AVX-VNNI-INT16 ++ vpdpwuuds xmm6, xmm5, XMMWORD PTR [r9] #AVX-VNNI-INT16 ++ vpdpwuuds xmm6, xmm5, XMMWORD PTR [rcx+2032] #AVX-VNNI-INT16 Disp32(f0070000) ++ vpdpwuuds xmm6, xmm5, XMMWORD PTR [rdx-2048] #AVX-VNNI-INT16 Disp32(00f8ffff) +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-int8-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-int8-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-int8-intel.d 2024-01-18 12:12:23.801946071 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-int8-intel.d 2024-01-18 13:32:46.366889340 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX-VNNI-INT8 insns (Intel disassembly) + #source: x86-64-avx-vnni-int8.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-int8.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-int8.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-int8.d 2024-01-18 12:12:23.801946071 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-int8.d 2024-01-18 13:32:46.366889340 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX-VNNI-INT8 insns + #source: x86-64-avx-vnni-int8.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-int8.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-int8.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-int8.s 2024-01-18 12:12:23.801946071 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-int8.s 2024-01-18 13:32:46.366889340 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX-VNNI-INT8 instructions + +- .allow_index_reg + .text + _start: + vpdpbssd %ymm8, %ymm9, %ymm10 #AVX-VNNI-INT8 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-inval.l binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-inval.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni-inval.l 2024-01-18 12:12:23.801946071 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni-inval.l 2024-01-18 13:32:46.366889340 +0000 +@@ -1,4 +1,4 @@ + .* Assembler messages: + .*:6: Error: unsupported .* `vpdpbusds' +-.*:7: Error: unsupported .* `vpdpbusds' ++.*:7: Error: no EVEX .* `vpdpbusds' + .*:8: Error: operand .* `vpdpbusds' +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni.d 2024-01-18 12:12:23.801946071 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni.d 2024-01-18 13:32:46.366889340 +0000 +@@ -35,6 +35,6 @@ Disassembly of section .text: + +[a-f0-9]+: c4 e2 59 53 11 \{vex\} vpdpwssds \(%rcx\),%xmm4,%xmm2 + +[a-f0-9]+: c4 e2 59 53 11 \{vex\} vpdpwssds \(%rcx\),%xmm4,%xmm2 + +[a-f0-9]+: 62 b2 5d 08 53 d6 vpdpwssds %xmm22,%xmm4,%xmm2 +- +[a-f0-9]+: 62 d2 5d 08 50 d4 vpdpbusd %xmm12,%xmm4,%xmm2 ++ +[a-f0-9]+: c4 c2 59 50 d4 \{vex\} vpdpbusd %xmm12,%xmm4,%xmm2 + +[a-f0-9]+: c4 e2 59 50 91 f0 07 00 00 \{vex\} vpdpbusd 0x7f0\(%rcx\),%xmm4,%xmm2 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-vnni.s 2024-01-18 12:12:23.801946071 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-vnni.s 2024-01-18 13:32:46.366889340 +0000 +@@ -1,5 +1,3 @@ +- .allow_index_reg +- + .macro test_insn mnemonic + \mnemonic %xmm12, %xmm4, %xmm2 + {evex} \mnemonic %xmm12, %xmm4, %xmm2 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx-wig.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-wig.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx-wig.s 2024-01-18 12:12:23.801946071 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx-wig.s 2024-01-18 13:32:46.366889340 +0000 +@@ -1,6 +1,5 @@ + # Check AVX WIG instructions + +- .allow_index_reg + .text + _start: + vaddpd %ymm4,%ymm6,%ymm2 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx2-wig.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx2-wig.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx2-wig.s 2024-01-18 12:12:23.802946071 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx2-wig.s 2024-01-18 13:32:46.367889340 +0000 +@@ -1,6 +1,5 @@ + # Check AVX2 WIG instructions + +- .allow_index_reg + .text + _start: + vmovntdqa (%rcx),%ymm4 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx2.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx2.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx2.s 2024-01-18 12:12:23.802946071 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx2.s 2024-01-18 13:32:46.367889340 +0000 +@@ -1,6 +1,5 @@ + # Check x86-64 AVX2 instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx256int.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx256int.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx256int.s 2024-01-18 12:12:23.802946071 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx256int.s 2024-01-18 13:32:46.367889340 +0000 +@@ -1,6 +1,5 @@ + # Check x86-64 256it integer AVX instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_4fmaps.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_4fmaps.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_4fmaps.s 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_4fmaps.s 2024-01-18 13:32:46.367889340 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512_4FMAPS instructions + +- .allow_index_reg + .text + _start: + v4fmaddps (%rcx), %zmm8, %zmm1 # AVX512_4FMAPS +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_4vnniw.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_4vnniw.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_4vnniw.s 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_4vnniw.s 2024-01-18 13:32:46.368889341 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512_4VNNIW instructions + +- .allow_index_reg + .text + _start: + vp4dpwssd (%rcx), %zmm8, %zmm1 # AVX512_4VNNIW +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_bf16.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_bf16.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_bf16.d 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_bf16.d 2024-01-18 13:32:46.368889341 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86-64 BF16 insns + #source: x86-64-avx512_bf16.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_bf16.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_bf16.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_bf16.s 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_bf16.s 2024-01-18 13:32:46.368889341 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512_BF16 instructions + +- .allow_index_reg + .text + _start: + vcvtne2ps2bf16 %zmm28, %zmm29, %zmm30 #AVX512_BF16 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.l binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.l 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.l 2024-01-18 13:32:46.368889341 +0000 +@@ -1,7 +1,7 @@ + .*: Assembler messages: ++.*:5: Error: .* + .*:6: Error: .* + .*:7: Error: .* +-.*:8: Error: .* ++.*:10: Error: .* + .*:11: Error: .* + .*:12: Error: .* +-.*:13: Error: .* +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.s 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.s 2024-01-18 13:32:46.368889341 +0000 +@@ -1,6 +1,5 @@ + # Check illegal 64bit AVX512{BF16,VL} instructions + +- .allow_index_reg + .text + _start: + vcvtneps2bf16 0x10000000(%rbp, %r14, 8), %xmm30{%k7} #AVX512{BF16,VL} MASK_ENABLING +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.d 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.d 2024-01-18 13:32:46.368889341 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86-64 BF16 VL insns + #source: x86-64-avx512_bf16_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.s 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.s 2024-01-18 13:32:46.368889341 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{BF16,VL} instructions + +- .allow_index_reg + .text + _start: + vcvtne2ps2bf16 %ymm28, %ymm29, %ymm30 #AVX512{BF16,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16-bad.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16-bad.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16-bad.d 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16-bad.d 2024-01-18 13:32:46.368889341 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -drw + #name: x86_64 AVX512_FP16 DAD insns + #source: x86-64-avx512_fp16-bad.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16-intel.d 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16-intel.d 2024-01-18 13:32:46.368889341 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512-FP16 insns (Intel disassembly) + #source: x86-64-avx512_fp16.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-bcast.l binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-bcast.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-bcast.l 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-bcast.l 2024-01-18 13:32:46.368889341 +0000 +@@ -1,27 +1,27 @@ + .*: Assembler messages: +-.*:6: Error: unsupported broadcast for `vcvtpd2ph' +-.*:7: Error: unsupported broadcast for `vcvtuqq2ph' +-.*:8: Error: unsupported broadcast for `vcvtdq2ph' +-.*:9: Error: unsupported broadcast for `vcvtudq2ph' +-.*:10: Error: unsupported broadcast for `vcmpph' +-.*:11: Error: Unsupported broadcast: `\{1to64\}' +-.*:12: Error: unsupported broadcast for `vfmadd132ph' +-.*:13: Error: unsupported broadcast for `vfcmaddcph' +-.*:14: Error: unsupported broadcast for `vfcmulcph' +-.*:15: Error: unsupported broadcast for `vcvtdq2ph' +-.*:16: Error: unsupported broadcast for `vfmaddcph' ++.*:5: Error: unsupported broadcast for `vcvtpd2ph' ++.*:6: Error: unsupported broadcast for `vcvtuqq2ph' ++.*:7: Error: unsupported broadcast for `vcvtdq2ph' ++.*:8: Error: unsupported broadcast for `vcvtudq2ph' ++.*:9: Error: unsupported broadcast for `vcmpph' ++.*:10: Error: Unsupported broadcast: `\{1to64\}' ++.*:11: Error: unsupported broadcast for `vfmadd132ph' ++.*:12: Error: unsupported broadcast for `vfcmaddcph' ++.*:13: Error: unsupported broadcast for `vfcmulcph' ++.*:14: Error: unsupported broadcast for `vcvtdq2ph' ++.*:15: Error: unsupported broadcast for `vfmaddcph' ++.*:16: Error: unsupported broadcast for `vfmulcph' + .*:17: Error: unsupported broadcast for `vfmulcph' +-.*:18: Error: unsupported broadcast for `vfmulcph' +-.*:21: Error: unsupported broadcast for `vcvtpd2ph' +-.*:22: Error: unsupported broadcast for `vcvtuqq2ph' +-.*:23: Error: unsupported broadcast for `vcvtdq2ph' +-.*:24: Error: unsupported broadcast for `vcvtudq2ph' +-.*:25: Error: unsupported broadcast for `vcmpph' +-.*:26: Error: Unsupported broadcast: `\{1to64\}' +-.*:27: Error: unsupported broadcast for `vfmsubadd231ph' +-.*:28: Error: unsupported broadcast for `vfcmaddcph' +-.*:29: Error: unsupported broadcast for `vfcmulcph' +-.*:30: Error: unsupported broadcast for `vcvtdq2ph' +-.*:31: Error: unsupported broadcast for `vfcmaddcph' ++.*:20: Error: unsupported broadcast for `vcvtpd2ph' ++.*:21: Error: unsupported broadcast for `vcvtuqq2ph' ++.*:22: Error: unsupported broadcast for `vcvtdq2ph' ++.*:23: Error: unsupported broadcast for `vcvtudq2ph' ++.*:24: Error: unsupported broadcast for `vcmpph' ++.*:25: Error: Unsupported broadcast: `\{1to64\}' ++.*:26: Error: unsupported broadcast for `vfmsubadd231ph' ++.*:27: Error: unsupported broadcast for `vfcmaddcph' ++.*:28: Error: unsupported broadcast for `vfcmulcph' ++.*:29: Error: unsupported broadcast for `vcvtdq2ph' ++.*:30: Error: unsupported broadcast for `vfcmaddcph' ++.*:31: Error: unsupported broadcast for `vfmulcph' + .*:32: Error: unsupported broadcast for `vfmulcph' +-.*:33: Error: unsupported broadcast for `vfmulcph' +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-bcast.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-bcast.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-bcast.s 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-bcast.s 2024-01-18 13:32:46.368889341 +0000 +@@ -1,6 +1,5 @@ + # Check error for invalid {1toXX} and {2toXX} broadcasts. + +- .allow_index_reg + .text + _start: + vcvtpd2ph (%ecx){1to16}, %xmm30 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-register.l binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-register.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-register.l 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-register.l 2024-01-18 13:32:46.368889341 +0000 +@@ -1,11 +1,11 @@ + .*: Assembler messages: ++.*:5: Error: destination and source registers must be distinct for `vfcmaddcph' + .*:6: Error: destination and source registers must be distinct for `vfcmaddcph' + .*:7: Error: destination and source registers must be distinct for `vfcmaddcph' +-.*:8: Error: destination and source registers must be distinct for `vfcmaddcph' +-.*:9: Error: destination and source registers must be distinct for `vfcmaddcsh' +-.*:10: Error: destination and source registers must be distinct for `vfmaddcph' +-.*:11: Error: destination and source registers must be distinct for `vfmaddcsh' +-.*:12: Error: destination and source registers must be distinct for `vfcmulcph' +-.*:13: Error: destination and source registers must be distinct for `vfcmulcsh' +-.*:14: Error: destination and source registers must be distinct for `vfmulcph' +-.*:15: Error: destination and source registers must be distinct for `vfmulcsh' ++.*:8: Error: destination and source registers must be distinct for `vfcmaddcsh' ++.*:9: Error: destination and source registers must be distinct for `vfmaddcph' ++.*:10: Error: destination and source registers must be distinct for `vfmaddcsh' ++.*:11: Error: destination and source registers must be distinct for `vfcmulcph' ++.*:12: Error: destination and source registers must be distinct for `vfcmulcsh' ++.*:13: Error: destination and source registers must be distinct for `vfmulcph' ++.*:14: Error: destination and source registers must be distinct for `vfmulcsh' +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-register.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-register.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-register.s 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16-inval-register.s 2024-01-18 13:32:46.368889341 +0000 +@@ -1,6 +1,5 @@ + # Check error for destination and source operands have the same register . + +- .allow_index_reg + .text + _start: + vfcmaddcph 8128(%rcx), %zmm29, %zmm29 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16.d 2024-01-18 12:12:23.803946072 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16.d 2024-01-18 13:32:46.368889341 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512-FP16 insns + #source: x86-64-avx512_fp16.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16.s 2024-01-18 12:12:23.804946073 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16.s 2024-01-18 13:32:46.368889341 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512-FP16 instructions + +- .allow_index_reg + .text + _start: + vaddph %zmm28, %zmm29, %zmm30 #AVX512-FP16 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16_pseudo_ops.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16_pseudo_ops.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16_pseudo_ops.d 2024-01-18 12:12:23.804946073 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16_pseudo_ops.d 2024-01-18 13:32:46.369889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512-FP16 PSEUDO-OPS insns + #source: x86-64-avx512_fp16_pseudo_ops.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16_pseudo_ops.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16_pseudo_ops.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16_pseudo_ops.s 2024-01-18 12:12:23.804946073 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16_pseudo_ops.s 2024-01-18 13:32:46.369889342 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit VCM.*{PH,SH} instructions + +- .allow_index_reg + .text + _start: + vcmpeq_oqph %zmm29, %zmm30, %k5 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16_vl-intel.d 2024-01-18 12:12:23.804946073 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16_vl-intel.d 2024-01-18 13:32:46.369889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512-FP16,AVX512VL insns (Intel disassembly) + #source: x86-64-avx512_fp16_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16_vl.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16_vl.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16_vl.d 2024-01-18 12:12:23.804946073 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16_vl.d 2024-01-18 13:32:46.369889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512-FP16,AVX512VL insns + #source: x86-64-avx512_fp16_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16_vl.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16_vl.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_fp16_vl.s 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_fp16_vl.s 2024-01-18 13:32:46.369889342 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512-FP16,AVX512VL instructions + +- .allow_index_reg + .text + _start: + vaddph %ymm28, %ymm29, %ymm30 #AVX512-FP16,AVX512VL +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_vpopcntdq-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_vpopcntdq-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_vpopcntdq-intel.d 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_vpopcntdq-intel.d 2024-01-18 13:32:46.369889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512/VPOPCNTDQ insns (Intel disassembly) + #source: x86-64-avx512_vpopcntdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_vpopcntdq.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_vpopcntdq.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_vpopcntdq.d 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_vpopcntdq.d 2024-01-18 13:32:46.369889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512/VPOPCNTDQ insns + #source: x86-64-avx512_vpopcntdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_vpopcntdq.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_vpopcntdq.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512_vpopcntdq.s 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512_vpopcntdq.s 2024-01-18 13:32:46.369889342 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512_VPOPCNTDQ instructions + +- .allow_index_reg + .text + _start: + vpopcntd %zmm29, %zmm30 # AVX512_VPOPCNTDQ +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bitalg-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bitalg-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bitalg-intel.d 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bitalg-intel.d 2024-01-18 13:32:46.369889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512BITALG insns (Intel disassembly) + #source: x86-64-avx512bitalg.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bitalg.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bitalg.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bitalg.d 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bitalg.d 2024-01-18 13:32:46.370889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512BITALG insns + #source: x86-64-avx512bitalg.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bitalg.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bitalg.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bitalg.s 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bitalg.s 2024-01-18 13:32:46.370889342 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512BITALG instructions + +- .allow_index_reg + .text + _start: + vpshufbitqmb %zmm28, %zmm29, %k5 # AVX512BITALG +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bitalg_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bitalg_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bitalg_vl-intel.d 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bitalg_vl-intel.d 2024-01-18 13:32:46.370889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512BITALG/VL insns (Intel disassembly) + #source: x86-64-avx512bitalg_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bitalg_vl.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bitalg_vl.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bitalg_vl.d 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bitalg_vl.d 2024-01-18 13:32:46.370889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512BITALG/VL insns + #source: x86-64-avx512bitalg_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bitalg_vl.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bitalg_vl.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bitalg_vl.s 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bitalg_vl.s 2024-01-18 13:32:46.370889342 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{BITALG,VL} instructions + +- .allow_index_reg + .text + _start: + vpshufbitqmb %xmm28, %xmm29, %k5 # AVX512{BITALG,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw-intel.d 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw-intel.d 2024-01-18 13:32:46.370889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512BW insns (Intel disassembly) + #source: x86-64-avx512bw.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw-opts-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw-opts-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw-opts-intel.d 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw-opts-intel.d 2024-01-18 13:32:46.370889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel -Msuffix + #name: x86_64 AVX512BW opts insns (Intel disassembly) + #source: x86-64-avx512bw-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw-opts.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw-opts.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw-opts.d 2024-01-18 12:12:23.805946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw-opts.d 2024-01-18 13:32:46.370889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Msuffix + #name: x86_64 AVX512BW opts insns + #source: x86-64-avx512bw-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw-opts.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw-opts.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw-opts.s 2024-01-18 12:12:23.806946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw-opts.s 2024-01-18 13:32:46.370889342 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512BW swap instructions + +- .allow_index_reg + .text + _start: + vmovdqu8 %zmm29, %zmm30 # AVX512BW +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw-wig.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw-wig.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw-wig.s 2024-01-18 12:12:23.806946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw-wig.s 2024-01-18 13:32:46.370889342 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512BW WIG instructions + +- .allow_index_reg + .text + _start: + vpabsb %zmm29, %zmm30 # AVX512BW +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw.d 2024-01-18 12:12:23.806946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw.d 2024-01-18 13:32:46.370889342 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512BW insns + #source: x86-64-avx512bw.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw.s 2024-01-18 12:12:23.806946074 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw.s 2024-01-18 13:32:46.371889343 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512BW instructions + +- .allow_index_reg + .text + _start: + vpabsb %zmm29, %zmm30 # AVX512BW +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl-intel.d 2024-01-18 12:12:23.807946075 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl-intel.d 2024-01-18 13:32:46.371889343 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512BW/VL insns (Intel disassembly) + #source: x86-64-avx512bw_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts-intel.d 2024-01-18 12:12:23.807946075 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts-intel.d 2024-01-18 13:32:46.371889343 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel -Msuffix + #name: x86_64 AVX512BW/VL opts insns (Intel disassembly) + #source: x86-64-avx512bw_vl-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts.d 2024-01-18 12:12:23.807946075 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts.d 2024-01-18 13:32:46.371889343 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Msuffix + #name: x86_64 AVX512BW/VL opts insns + #source: x86-64-avx512bw_vl-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts.s 2024-01-18 12:12:23.807946075 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts.s 2024-01-18 13:32:46.371889343 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{BW,VL} swap instructions + +- .allow_index_reg + .text + _start: + vmovdqu8 %xmm29, %xmm30 # AVX512{BW,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl-wig.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl-wig.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl-wig.s 2024-01-18 12:12:23.807946075 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl-wig.s 2024-01-18 13:32:46.371889343 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{BW,VL} WIG instructions + +- .allow_index_reg + .text + _start: + vpabsb %xmm29, %xmm30 # AVX512{BW,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl.d 2024-01-18 12:12:23.808946076 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl.d 2024-01-18 13:32:46.372889344 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512BW/VL insns + #source: x86-64-avx512bw_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512bw_vl.s 2024-01-18 12:12:23.809946076 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512bw_vl.s 2024-01-18 13:32:46.373889344 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{BW,VL} instructions + +- .allow_index_reg + .text + _start: + vpabsb %xmm29, %xmm30 # AVX512{BW,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512cd-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512cd-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512cd-intel.d 2024-01-18 12:12:23.809946076 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512cd-intel.d 2024-01-18 13:32:46.373889344 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: x86_64 AVX512CD insns (Intel disassembly) + #source: x86-64-avx512cd.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512cd.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512cd.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512cd.d 2024-01-18 12:12:23.809946076 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512cd.d 2024-01-18 13:32:46.373889344 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512CD insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512cd.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512cd.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512cd.s 2024-01-18 12:12:23.809946076 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512cd.s 2024-01-18 13:32:46.373889344 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512CD instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512cd_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512cd_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512cd_vl-intel.d 2024-01-18 12:12:23.809946076 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512cd_vl-intel.d 2024-01-18 13:32:46.373889344 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512CD/VL insns (Intel disassembly) + #source: x86-64-avx512cd_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512cd_vl.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512cd_vl.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512cd_vl.d 2024-01-18 12:12:23.809946076 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512cd_vl.d 2024-01-18 13:32:46.373889344 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512CD/VL insns + #source: x86-64-avx512cd_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512cd_vl.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512cd_vl.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512cd_vl.s 2024-01-18 12:12:23.809946076 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512cd_vl.s 2024-01-18 13:32:46.373889344 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{CD,VL} instructions + +- .allow_index_reg + .text + _start: + vpconflictd %xmm29, %xmm30 # AVX512{CD,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq-intel.d 2024-01-18 12:12:23.809946076 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq-intel.d 2024-01-18 13:32:46.373889344 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512DQ insns (Intel disassembly) + #source: x86-64-avx512dq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq-rcig.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq-rcig.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq-rcig.s 2024-01-18 12:12:23.809946076 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq-rcig.s 2024-01-18 13:32:46.373889344 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512DQ-RCIG instructions + +- .allow_index_reg + .text + _start: + vrangepd $0xab, {sae}, %zmm28, %zmm29, %zmm30 # AVX512DQ +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq.d 2024-01-18 12:12:23.810946077 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq.d 2024-01-18 13:32:46.373889344 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512DQ insns + #source: x86-64-avx512dq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq.s 2024-01-18 12:12:23.810946077 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq.s 2024-01-18 13:32:46.374889345 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512DQ instructions + +- .allow_index_reg + .text + _start: + vbroadcastf32x8 (%rcx), %zmm30 # AVX512DQ +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq_vl-intel.d 2024-01-18 12:12:23.810946077 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq_vl-intel.d 2024-01-18 13:32:46.374889345 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512DQ/VL insns (Intel disassembly) + #source: x86-64-avx512dq_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq_vl.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq_vl.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq_vl.d 2024-01-18 12:12:23.811946078 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq_vl.d 2024-01-18 13:32:46.374889345 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512DQ/VL insns + #source: x86-64-avx512dq_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq_vl.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq_vl.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512dq_vl.s 2024-01-18 12:12:23.811946078 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512dq_vl.s 2024-01-18 13:32:46.374889345 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{DQ,VL} instructions + +- .allow_index_reg + .text + _start: + vbroadcastf64x2 (%rcx), %ymm30 # AVX512{DQ,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512er-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512er-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512er-intel.d 2024-01-18 12:12:23.811946078 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512er-intel.d 2024-01-18 13:32:46.374889345 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: x86_64 AVX512ER insns (Intel disassembly) + #source: x86-64-avx512er.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512er-rcig.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512er-rcig.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512er-rcig.s 2024-01-18 12:12:23.811946078 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512er-rcig.s 2024-01-18 13:32:46.374889345 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512ER-RCIG instructions + +- .allow_index_reg + .text + _start: + vexp2ps {sae}, %zmm29, %zmm30 # AVX512ER +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512er.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512er.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512er.d 2024-01-18 12:12:23.811946078 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512er.d 2024-01-18 13:32:46.375889345 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512ER insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512er.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512er.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512er.s 2024-01-18 12:12:23.811946078 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512er.s 2024-01-18 13:32:46.375889345 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512ER instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f-intel.d 2024-01-18 12:12:23.812946079 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f-intel.d 2024-01-18 13:32:46.375889345 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: x86_64 AVX512F insns (Intel disassembly) + #source: x86-64-avx512f.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f-nondef.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f-nondef.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f-nondef.d 2024-01-18 12:12:23.812946079 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f-nondef.d 2024-01-18 13:32:46.376889346 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86-64 AVX512F insns with nondefault values in ignored bits + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f-opts-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f-opts-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f-opts-intel.d 2024-01-18 12:12:23.812946079 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f-opts-intel.d 2024-01-18 13:32:46.376889346 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel -Msuffix + #name: x86_64 AVX512F opts insns (Intel disassembly) + #source: x86-64-avx512f-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f-opts.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f-opts.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f-opts.d 2024-01-18 12:12:23.812946079 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f-opts.d 2024-01-18 13:32:46.376889346 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Msuffix + #name: x86_64 AVX512F opts insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f-opts.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f-opts.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f-opts.s 2024-01-18 12:12:23.812946079 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f-opts.s 2024-01-18 13:32:46.376889346 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512F instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f-rcig.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f-rcig.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f-rcig.s 2024-01-18 12:12:23.812946079 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f-rcig.s 2024-01-18 13:32:46.376889346 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512F-RCIG instructions + +- .allow_index_reg + .text + _start: + vcmpeqpd {sae}, %zmm29, %zmm30, %k5 # AVX512F +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f.d 2024-01-18 12:12:23.814946080 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f.d 2024-01-18 13:32:46.377889347 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512F insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f.s 2024-01-18 12:12:23.815946081 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f.s 2024-01-18 13:32:46.377889347 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512F instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_gfni-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_gfni-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_gfni-intel.d 2024-01-18 12:12:23.815946081 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_gfni-intel.d 2024-01-18 13:32:46.378889347 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512F/GFNI insns (Intel disassembly) + #source: x86-64-avx512f_gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_gfni.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_gfni.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_gfni.d 2024-01-18 12:12:23.815946081 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_gfni.d 2024-01-18 13:32:46.378889347 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512F/GFNI insns + #source: x86-64-avx512f_gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_gfni.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_gfni.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_gfni.s 2024-01-18 12:12:23.815946081 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_gfni.s 2024-01-18 13:32:46.378889347 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512F,GFNI instructions + +- .allow_index_reg + .text + _start: + vgf2p8affineqb $0xab, %zmm28, %zmm29, %zmm30 # AVX512F,GFNI +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vaes-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vaes-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vaes-intel.d 2024-01-18 12:12:23.815946081 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vaes-intel.d 2024-01-18 13:32:46.378889347 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512F/VAES insns (Intel disassembly) + #source: x86-64-avx512f_vaes.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vaes.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vaes.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vaes.d 2024-01-18 12:12:23.815946081 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vaes.d 2024-01-18 13:32:46.378889347 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512F/VAES insns + #source: x86-64-avx512f_vaes.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vaes.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vaes.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vaes.s 2024-01-18 12:12:23.815946081 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vaes.s 2024-01-18 13:32:46.378889347 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512F,VAES instructions + +- .allow_index_reg + .text + _start: + vaesdec %zmm28, %zmm29, %zmm30 # AVX512F,VAES +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl-intel.d 2024-01-18 12:12:23.816946081 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl-intel.d 2024-01-18 13:32:46.378889347 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512F/VL insns (Intel disassembly) + #source: x86-64-avx512f_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl-opts-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl-opts-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl-opts-intel.d 2024-01-18 12:12:23.816946081 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl-opts-intel.d 2024-01-18 13:32:46.379889348 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel -Msuffix + #name: x86_64 AVX512F/VL opts insns (Intel disassembly) + #source: x86-64-avx512f_vl-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.d 2024-01-18 12:12:23.816946081 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.d 2024-01-18 13:32:46.379889348 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Msuffix + #name: x86_64 AVX512F/VL opts insns + #source: x86-64-avx512f_vl-opts.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.s 2024-01-18 12:12:23.816946081 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.s 2024-01-18 13:32:46.379889348 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{F,VL} swap instructions + +- .allow_index_reg + .text + _start: + vmovapd %xmm29, %xmm30 # AVX512{F,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl-wig.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl-wig.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl-wig.s 2024-01-18 12:12:23.816946081 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl-wig.s 2024-01-18 13:32:46.379889348 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{F,VL} WIG instructions + +- .allow_index_reg + .text + _start: + vpmovsxbd %xmm29, %xmm30 # AVX512{F,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl.d 2024-01-18 12:12:23.817946082 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl.d 2024-01-18 13:32:46.380889349 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512F/VL insns + #source: x86-64-avx512f_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vl.s 2024-01-18 12:12:23.817946082 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vl.s 2024-01-18 13:32:46.381889349 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{F,VL} instructions + +- .allow_index_reg + .text + _start: + vaddpd %xmm28, %xmm29, %xmm30 # AVX512{F,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-intel.d 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-intel.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512F/VPCLMULQDQ insns (Intel disassembly) + #source: x86-64-avx512f_vpclmulqdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.d 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512F/VPCLMULQDQ insns + #source: x86-64-avx512f_vpclmulqdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.s 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.s 2024-01-18 13:32:46.382889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512F,VPCLMULQDQ instructions + +- .allow_index_reg + .text + _start: + vpclmulqdq $0xab, %zmm24, %zmm23, %zmm26 # AVX512F,VPCLMULQDQ +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512ifma-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512ifma-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512ifma-intel.d 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512ifma-intel.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512IFMA insns (Intel disassembly) + #source: x86-64-avx512ifma.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512ifma.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512ifma.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512ifma.d 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512ifma.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512IFMA insns + #source: x86-64-avx512ifma.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512ifma.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512ifma.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512ifma.s 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512ifma.s 2024-01-18 13:32:46.382889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512IFMA instructions + +- .allow_index_reg + .text + _start: + vpmadd52luq %zmm28, %zmm29, %zmm30 # AVX512IFMA +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512ifma_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512ifma_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512ifma_vl-intel.d 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512ifma_vl-intel.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512IFMA/VL insns (Intel disassembly) + #source: x86-64-avx512ifma_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.d 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512IFMA/VL insns + #source: x86-64-avx512ifma_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.s 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.s 2024-01-18 13:32:46.382889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{IFMA,VL} instructions + +- .allow_index_reg + .text + _start: + vpmadd52luq %xmm28, %xmm29, %xmm30 # AVX512{IFMA,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512pf-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512pf-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512pf-intel.d 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512pf-intel.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: x86_64 AVX512PF insns (Intel disassembly) + #source: x86-64-avx512pf.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512pf.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512pf.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512pf.d 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512pf.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512PF insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512pf.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512pf.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512pf.s 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512pf.s 2024-01-18 13:32:46.382889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512PF instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi-intel.d 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi-intel.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512VBMI insns (Intel disassembly) + #source: x86-64-avx512vbmi.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi.d 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512VBMI insns + #source: x86-64-avx512vbmi.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi.s 2024-01-18 12:12:23.818946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi.s 2024-01-18 13:32:46.382889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512VBMI instructions + +- .allow_index_reg + .text + _start: + vpermb %zmm28, %zmm29, %zmm30 # AVX512VBMI +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi2-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi2-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi2-intel.d 2024-01-18 12:12:23.819946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi2-intel.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512VBMI2 insns (Intel disassembly) + #source: x86-64-avx512vbmi2.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi2.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi2.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi2.d 2024-01-18 12:12:23.819946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi2.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512VBMI2 insns + #source: x86-64-avx512vbmi2.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi2.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi2.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi2.s 2024-01-18 12:12:23.819946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi2.s 2024-01-18 13:32:46.382889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512VBMI2 instructions + +- .allow_index_reg + .text + _start: + vpcompressb %zmm30, (%rcx){%k7} # AVX512VBMI2 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi2_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi2_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi2_vl-intel.d 2024-01-18 12:12:23.819946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi2_vl-intel.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512VBMI2/VL insns (Intel disassembly) + #source: x86-64-avx512vbmi2_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi2_vl.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi2_vl.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi2_vl.d 2024-01-18 12:12:23.819946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi2_vl.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512VBMI2/VL insns + #source: x86-64-avx512vbmi2_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi2_vl.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi2_vl.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi2_vl.s 2024-01-18 12:12:23.819946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi2_vl.s 2024-01-18 13:32:46.382889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{VBMI2,VL} instructions + +- .allow_index_reg + .text + _start: + vpcompressb %xmm30, (%rcx){%k7} # AVX512{VBMI2,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi_vl-intel.d 2024-01-18 12:12:23.819946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi_vl-intel.d 2024-01-18 13:32:46.382889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512VBMI/VL insns (Intel disassembly) + #source: x86-64-avx512vbmi_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi_vl.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi_vl.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi_vl.d 2024-01-18 12:12:23.819946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi_vl.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512VBMI/VL insns + #source: x86-64-avx512vbmi_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi_vl.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi_vl.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vbmi_vl.s 2024-01-18 12:12:23.819946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vbmi_vl.s 2024-01-18 13:32:46.383889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{VBMI,VL} instructions + +- .allow_index_reg + .text + _start: + vpermb %xmm28, %xmm29, %xmm30 # AVX512{VBMI,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl-1.l binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl-1.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl-1.l 2024-01-18 12:12:23.819946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl-1.l 2024-01-18 13:32:46.383889350 +0000 +@@ -3,8 +3,8 @@ + .*:8: Error: .*corei7\.avx.* + .*:9: Error: .*corei7\.avx.* + .*:10: Error: .*corei7\.avx.* +-.*:15: Error: .*unsupported.* +-.*:16: Error: .*unsupported.* ++.*:15: Error: .*operand size mismatch.* ++.*:16: Error: .*operand size mismatch.* + GAS LISTING .* + #... + [ ]*1[ ]+\.text +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_gfni-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_gfni-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_gfni-intel.d 2024-01-18 12:12:23.819946083 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_gfni-intel.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512VL/GFNI insns (Intel disassembly) + #source: x86-64-avx512vl_gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_gfni.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_gfni.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_gfni.d 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_gfni.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512VL/GFNI insns + #source: x86-64-avx512vl_gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_gfni.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_gfni.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_gfni.s 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_gfni.s 2024-01-18 13:32:46.383889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512VL,GFNI instructions + +- .allow_index_reg + .text + _start: + vgf2p8affineqb $0xab, %xmm28, %xmm29, %xmm30 # AVX512VL,GFNI +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_vaes-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_vaes-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_vaes-intel.d 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_vaes-intel.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512VL/VAES insns (Intel disassembly) + #source: x86-64-avx512vl_vaes.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_vaes.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_vaes.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_vaes.d 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_vaes.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512VL/VAES insns + #source: x86-64-avx512vl_vaes.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_vaes.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_vaes.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_vaes.s 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_vaes.s 2024-01-18 13:32:46.383889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512VL,VAES instructions + +- .allow_index_reg + .text + _start: + vaesdec %xmm28, %xmm29, %xmm30 # AVX512VL,VAES +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-intel.d 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-intel.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512VL/VPCLMULQDQ insns (Intel disassembly) + #source: x86-64-avx512vl_vpclmulqdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.d 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512VL/VPCLMULQDQ insns + #source: x86-64-avx512vl_vpclmulqdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.s 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.s 2024-01-18 13:32:46.383889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512VL,VPCLMULQDQ instructions + +- .allow_index_reg + .text + _start: + vpclmulqdq $0xab, %xmm18, %xmm29, %xmm25 # AVX512VL,VPCLMULQDQ +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vnni-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vnni-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vnni-intel.d 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vnni-intel.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512VNNI insns (Intel disassembly) + #source: x86-64-avx512vnni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vnni.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vnni.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vnni.d 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vnni.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512VNNI insns + #source: x86-64-avx512vnni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vnni.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vnni.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vnni.s 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vnni.s 2024-01-18 13:32:46.383889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512VNNI instructions + +- .allow_index_reg + .text + _start: + vpdpwssd %zmm17, %zmm18, %zmm18 # AVX512VNNI +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vnni_vl-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vnni_vl-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vnni_vl-intel.d 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vnni_vl-intel.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX512VNNI/VL insns (Intel disassembly) + #source: x86-64-avx512vnni_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vnni_vl.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vnni_vl.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vnni_vl.d 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vnni_vl.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX512VNNI/VL insns + #source: x86-64-avx512vnni_vl.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vnni_vl.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vnni_vl.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx512vnni_vl.s 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx512vnni_vl.s 2024-01-18 13:32:46.383889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX512{VNNI,VL} instructions + +- .allow_index_reg + .text + _start: + vpdpwssd %xmm20, %xmm22, %xmm26 # AVX512{VNNI,VL} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx_gfni-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx_gfni-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx_gfni-intel.d 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx_gfni-intel.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 AVX/GFNI insns (Intel disassembly) + #source: x86-64-avx_gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx_gfni.d binutils-2.41/gas/testsuite/gas/i386/x86-64-avx_gfni.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx_gfni.d 2024-01-18 12:12:23.820946084 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx_gfni.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 AVX/GFNI insns + #source: x86-64-avx_gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-avx_gfni.s binutils-2.41/gas/testsuite/gas/i386/x86-64-avx_gfni.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-avx_gfni.s 2024-01-18 12:12:23.821946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-avx_gfni.s 2024-01-18 13:32:46.383889350 +0000 +@@ -1,7 +1,6 @@ + # Check AVX GFNI instructions + +-.allow_index_reg +-.text ++ .text + _start: + vgf2p8mulb %ymm4, %ymm5, %ymm6 + vgf2p8mulb -123456(%rax,%r14,8), %ymm5, %ymm6 +@@ -27,7 +26,7 @@ _start: + vgf2p8affineinvqb $123, -123456(%rax,%r14,8), %xmm5, %xmm6 + vgf2p8affineinvqb $123, 126(%rdx), %xmm5, %xmm6 + +-.intel_syntax noprefix ++ .intel_syntax noprefix + + vgf2p8mulb ymm6, ymm5, ymm4 + vgf2p8mulb ymm6, ymm5, YMMWORD PTR [rax+r14*8-123456] +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-bmi-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-bmi-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-bmi-intel.d 2024-01-18 12:12:23.821946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-bmi-intel.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: x86-64 BMI insns (Intel disassembly) + #source: x86-64-bmi.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-bmi.d binutils-2.41/gas/testsuite/gas/i386/x86-64-bmi.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-bmi.d 2024-01-18 12:12:23.821946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-bmi.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86-64 BMI insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-bmi.s binutils-2.41/gas/testsuite/gas/i386/x86-64-bmi.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-bmi.s 2024-01-18 12:12:23.821946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-bmi.s 2024-01-18 13:32:46.383889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit BMI instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-bmi2-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-bmi2-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-bmi2-intel.d 2024-01-18 12:12:23.821946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-bmi2-intel.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: x86-64 BMI2 insns (Intel disassembly) + #source: x86-64-bmi2.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-bmi2.d binutils-2.41/gas/testsuite/gas/i386/x86-64-bmi2.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-bmi2.d 2024-01-18 12:12:23.821946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-bmi2.d 2024-01-18 13:32:46.383889350 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86-64 BMI2 insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-bmi2.s binutils-2.41/gas/testsuite/gas/i386/x86-64-bmi2.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-bmi2.s 2024-01-18 12:12:23.821946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-bmi2.s 2024-01-18 13:32:46.383889350 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit BMI2 instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-cldemote-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-cldemote-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-cldemote-intel.d 2024-01-18 12:12:23.822946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-cldemote-intel.d 2024-01-18 13:32:46.384889351 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 CLDEMOTE insns (Intel disassembly) + #source: x86-64-cldemote.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-cldemote.d binutils-2.41/gas/testsuite/gas/i386/x86-64-cldemote.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-cldemote.d 2024-01-18 12:12:23.822946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-cldemote.d 2024-01-18 13:32:46.384889351 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 CLDEMOTE insns + #source: x86-64-cldemote.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-cldemote.s binutils-2.41/gas/testsuite/gas/i386/x86-64-cldemote.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-cldemote.s 2024-01-18 12:12:23.822946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-cldemote.s 2024-01-18 13:32:46.384889351 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit CLDEMOTE instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-clflushopt-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-clflushopt-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-clflushopt-intel.d 2024-01-18 12:12:23.822946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-clflushopt-intel.d 2024-01-18 13:32:46.384889351 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 CLFLUSHOPT insns (Intel disassembly) + #source: x86-64-clflushopt.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-clflushopt.d binutils-2.41/gas/testsuite/gas/i386/x86-64-clflushopt.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-clflushopt.d 2024-01-18 12:12:23.822946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-clflushopt.d 2024-01-18 13:32:46.384889351 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 CLFLUSHOPT insns + #source: x86-64-clflushopt.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-clflushopt.s binutils-2.41/gas/testsuite/gas/i386/x86-64-clflushopt.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-clflushopt.s 2024-01-18 12:12:23.822946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-clflushopt.s 2024-01-18 13:32:46.384889351 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit CLFLUSHOPT instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-clwb-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-clwb-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-clwb-intel.d 2024-01-18 12:12:23.822946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-clwb-intel.d 2024-01-18 13:32:46.384889351 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 CLWB insns (Intel disassembly) + #source: x86-64-clwb.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-clwb.d binutils-2.41/gas/testsuite/gas/i386/x86-64-clwb.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-clwb.d 2024-01-18 12:12:23.822946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-clwb.d 2024-01-18 13:32:46.384889351 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 CLWB insns + #source: x86-64-clwb.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-clwb.s binutils-2.41/gas/testsuite/gas/i386/x86-64-clwb.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-clwb.s 2024-01-18 12:12:23.822946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-clwb.s 2024-01-18 13:32:46.384889351 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit CLWB instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-cmpccxadd-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-cmpccxadd-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-cmpccxadd-intel.d 2024-01-18 12:12:23.822946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-cmpccxadd-intel.d 2024-01-18 13:32:46.384889351 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 CMPCCXADD insns (Intel disassembly) + #source: x86-64-cmpccxadd.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-cmpccxadd.d binutils-2.41/gas/testsuite/gas/i386/x86-64-cmpccxadd.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-cmpccxadd.d 2024-01-18 12:12:23.822946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-cmpccxadd.d 2024-01-18 13:32:46.384889351 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 CMPCCXADD insns + #source: x86-64-cmpccxadd.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-cmpccxadd.s binutils-2.41/gas/testsuite/gas/i386/x86-64-cmpccxadd.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-cmpccxadd.s 2024-01-18 12:12:23.822946085 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-cmpccxadd.s 2024-01-18 13:32:46.384889351 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit CMPccXADD instructions + +- .allow_index_reg + .text + _start: + cmpbexadd %eax, %ecx, 0x10000000(%rbp, %r14, 8) #CMPCCXADD +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-disassem.d binutils-2.41/gas/testsuite/gas/i386/x86-64-disassem.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-disassem.d 2024-01-18 12:12:23.823946086 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-disassem.d 2024-01-18 13:32:46.384889351 +0000 +@@ -8,309 +8,309 @@ + Disassembly of section \.text: + + 0+ <\.text>: +-[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*ff[ ]+ljmp[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*ef[ ]*out %eax,\(%dx\) +-[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*ff[ ]+lcall[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*d8 90 90 90 90 90[ ]*fcoms -0x6f6f6f70\(%rax\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 +-[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al +-[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 8f[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 6a[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 04[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 8f[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 6a[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 04[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 8f[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 6a[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 04[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 8f[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 6a[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 04[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 8f[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 6a[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 04[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 8f[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 6a[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 04[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 8f[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 6a[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 04[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 8f[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 6a[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 04[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* ++[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +@@ -318,23 +318,23 @@ Disassembly of section \.text: + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) + [ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) +-[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +-[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) +-[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) ++[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* + [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\) + [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-disassem.s binutils-2.41/gas/testsuite/gas/i386/x86-64-disassem.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-disassem.s 2024-01-18 12:12:23.823946086 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-disassem.s 2024-01-18 13:32:46.384889351 +0000 +@@ -119,30 +119,30 @@ + .byte 0xC4, 0xE1, 0xF9, 0x99, 0x9B + .byte 0xC4, 0xE1, 0xF9, 0x99, 0x6F + .insn VEX.L0.66.0f.W1 0x99, (%rdi), %k7 +-.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x01 +-.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x01 ++.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x07 ++.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x07 + .byte 0xC5, 0xF8, 0x92, 0x9B + .byte 0xC5, 0xF8, 0x92, 0x6F + .insn VEX.L0.NP.0f.W0 0x92, (%rdi), %k7 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-enqcmd-inval.l binutils-2.41/gas/testsuite/gas/i386/x86-64-enqcmd-inval.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-enqcmd-inval.l 2024-01-18 12:12:23.823946086 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-enqcmd-inval.l 2024-01-18 13:32:46.385889352 +0000 +@@ -1,13 +1,13 @@ + .* Assembler messages: ++.*5: Error: invalid register operand size for `enqcmd' + .*6: Error: invalid register operand size for `enqcmd' + .*7: Error: invalid register operand size for `enqcmd' + .*8: Error: invalid register operand size for `enqcmd' +-.*9: Error: invalid register operand size for `enqcmd' ++.*9: Error: invalid register operand size for `enqcmds' + .*10: Error: invalid register operand size for `enqcmds' + .*11: Error: invalid register operand size for `enqcmds' + .*12: Error: invalid register operand size for `enqcmds' +-.*13: Error: invalid register operand size for `enqcmds' ++.*15: Error: invalid register operand size for `enqcmd' + .*16: Error: invalid register operand size for `enqcmd' +-.*17: Error: invalid register operand size for `enqcmd' ++.*17: Error: invalid register operand size for `enqcmds' + .*18: Error: invalid register operand size for `enqcmds' +-.*19: Error: invalid register operand size for `enqcmds' +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-enqcmd-inval.s binutils-2.41/gas/testsuite/gas/i386/x86-64-enqcmd-inval.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-enqcmd-inval.s 2024-01-18 12:12:23.823946086 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-enqcmd-inval.s 2024-01-18 13:32:46.385889352 +0000 +@@ -1,6 +1,5 @@ + # Check error for ENQCMD[S] 64-bit instructions + +- .allow_index_reg + .text + _start: + enqcmd (%esi),%rax +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-enqcmd.s binutils-2.41/gas/testsuite/gas/i386/x86-64-enqcmd.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-enqcmd.s 2024-01-18 12:12:23.823946086 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-enqcmd.s 2024-01-18 13:32:46.385889352 +0000 +@@ -1,6 +1,5 @@ + # Check ENQCMD[S] 64-bit instructions + +- .allow_index_reg + .text + _start: + enqcmd (%rcx),%rax +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-evex-lig-2.s binutils-2.41/gas/testsuite/gas/i386/x86-64-evex-lig-2.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-evex-lig-2.s 2024-01-18 12:12:23.823946086 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-evex-lig-2.s 2024-01-18 13:32:46.385889352 +0000 +@@ -1,6 +1,5 @@ + # Check EVEX non-LIG instructions with with -mevexlig=256 + +- .allow_index_reg + .text + _start: + {evex} vmovd %xmm4,(%rcx) +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-evex-lig.s binutils-2.41/gas/testsuite/gas/i386/x86-64-evex-lig.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-evex-lig.s 2024-01-18 12:12:23.824946087 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-evex-lig.s 2024-01-18 13:32:46.385889352 +0000 +@@ -1,6 +1,5 @@ + # Check EVEX LIG instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-evex-wig.s binutils-2.41/gas/testsuite/gas/i386/x86-64-evex-wig.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-evex-wig.s 2024-01-18 12:12:23.825946088 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-evex-wig.s 2024-01-18 13:32:46.387889353 +0000 +@@ -1,6 +1,5 @@ + # Check EVEX WIG instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-evex-wig2.s binutils-2.41/gas/testsuite/gas/i386/x86-64-evex-wig2.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-evex-wig2.s 2024-01-18 12:12:23.826946088 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-evex-wig2.s 2024-01-18 13:32:46.387889353 +0000 +@@ -1,6 +1,5 @@ + # Check non-WIG EVEX instructions with -mevexwig=1 + +- .allow_index_reg + .text + _start: + vcvtsi2ss %eax, {rd-sae}, %xmm25, %xmm6 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-evex.d binutils-2.41/gas/testsuite/gas/i386/x86-64-evex.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-evex.d 2024-01-18 12:12:23.826946088 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-evex.d 2024-01-18 13:32:46.387889353 +0000 +@@ -17,6 +17,6 @@ Disassembly of section .text: + +[a-f0-9]+: 62 f1 d6 38 7b f0 vcvtusi2ss %rax,\{rd-sae\},%xmm5,%xmm6 + +[a-f0-9]+: 62 f1 57 38 7b f0 vcvtusi2sd %eax,\{rd-bad\},%xmm5,%xmm6 + +[a-f0-9]+: 62 f1 d7 38 7b f0 vcvtusi2sd %rax,\{rd-sae\},%xmm5,%xmm6 +- +[a-f0-9]+: 62 e1 7e 08 2d c0 vcvtss2si %xmm0,\(bad\) ++ +[a-f0-9]+: 62 e1 7e 08 2d c0 vcvtss2si %xmm0,%r16d + +[a-f0-9]+: 62 e1 7c 08 c2 c0 00 vcmpeqps %xmm0,%xmm0,\(bad\) + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-fma-scalar.s binutils-2.41/gas/testsuite/gas/i386/x86-64-fma-scalar.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-fma-scalar.s 2024-01-18 12:12:23.826946088 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-fma-scalar.s 2024-01-18 13:32:46.387889353 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit AVX scalar instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-fma.s binutils-2.41/gas/testsuite/gas/i386/x86-64-fma.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-fma.s 2024-01-18 12:12:23.826946088 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-fma.s 2024-01-18 13:32:46.387889353 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit FMA instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-fma4.s binutils-2.41/gas/testsuite/gas/i386/x86-64-fma4.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-fma4.s 2024-01-18 12:12:23.826946088 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-fma4.s 2024-01-18 13:32:46.387889353 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit FMA4 instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-fred-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-fred-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-fred-intel.d 2024-01-18 12:12:23.826946088 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-fred-intel.d 2024-01-18 13:32:46.387889353 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 FRED insns (Intel disassembly) + #source: x86-64-fred.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-fred.d binutils-2.41/gas/testsuite/gas/i386/x86-64-fred.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-fred.d 2024-01-18 12:12:23.826946088 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-fred.d 2024-01-18 13:32:46.387889353 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 FRED insns + #source: x86-64-fred.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-fred.s binutils-2.41/gas/testsuite/gas/i386/x86-64-fred.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-fred.s 2024-01-18 12:12:23.826946088 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-fred.s 2024-01-18 13:32:46.387889353 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit FRED instructions + +- .allow_index_reg + .text + _start: + erets #FRED +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-gfni-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-gfni-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-gfni-intel.d 2024-01-18 12:12:23.827946089 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-gfni-intel.d 2024-01-18 13:32:46.387889353 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 GFNI insns (Intel disassembly) + #source: x86-64-gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-gfni.d binutils-2.41/gas/testsuite/gas/i386/x86-64-gfni.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-gfni.d 2024-01-18 12:12:23.827946089 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-gfni.d 2024-01-18 13:32:46.387889353 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 GFNI insns + #source: x86-64-gfni.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-gfni.s binutils-2.41/gas/testsuite/gas/i386/x86-64-gfni.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-gfni.s 2024-01-18 12:12:23.827946089 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-gfni.s 2024-01-18 13:32:46.387889353 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit GFNI instructions + +- .allow_index_reg + .text + _start: + gf2p8mulb %xmm4, %xmm5 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-gotpcrel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-gotpcrel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-gotpcrel.d 2024-01-18 12:12:23.827946089 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-gotpcrel.d 2024-01-18 13:32:46.387889353 +0000 +@@ -24,4 +24,16 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: ff 90 00 00 00 00 call \*0x0\(%rax\) 5a: R_X86_64_GOTPCREL foo + [ ]*[a-f0-9]+: ff 25 00 00 00 00 jmp \*0x0\(%rip\) # 64 <_start\+0x64> 60: R_X86_64_GOTPCRELX foo-0x4 + [ ]*[a-f0-9]+: ff a1 00 00 00 00 jmp \*0x0\(%rcx\) 66: R_X86_64_GOTPCREL foo ++[ ]*[a-f0-9]+: d5 18 c7 c0 00 00 00 00 mov \$0x0,%r16 6e: R_X86_64_GOTPCREL foo ++[ ]*[a-f0-9]+: d5 48 8b 24 25 00 00 00 00 mov 0x0,%r20 77: R_X86_64_GOTPCREL foo ++[ ]*[a-f0-9]+: d5 48 8b 35 00 00 00 00 mov 0x0\(%rip\),%r22 # 83 <_start\+0x83> 7f: R_X86_64_CODE_4_GOTPCRELX foo-0x4 ++[ ]*[a-f0-9]+: d5 59 8b b4 24 00 00 00 00 mov 0x0\(%r28\),%r22 88: R_X86_64_GOTPCREL foo ++[ ]*[a-f0-9]+: d5 10 ff 90 00 00 00 00 call \*0x0\(%r16\) 90: R_X86_64_GOTPCREL foo ++[ ]*[a-f0-9]+: d5 11 ff a4 24 00 00 00 00 jmp \*0x0\(%r28\) 99: R_X86_64_GOTPCREL foo ++[ ]*[a-f0-9]+: d5 18 c7 c0 00 00 00 00 mov \$0x0,%r16 a1: R_X86_64_GOTPCREL foo ++[ ]*[a-f0-9]+: d5 48 8b 24 25 00 00 00 00 mov 0x0,%r20 aa: R_X86_64_GOTPCREL foo ++[ ]*[a-f0-9]+: d5 48 8b 35 00 00 00 00 mov 0x0\(%rip\),%r22 # b6 <_start\+0xb6> b2: R_X86_64_CODE_4_GOTPCRELX foo-0x4 ++[ ]*[a-f0-9]+: d5 59 8b b4 24 00 00 00 00 mov 0x0\(%r28\),%r22 bb: R_X86_64_GOTPCREL foo ++[ ]*[a-f0-9]+: d5 10 ff 90 00 00 00 00 call \*0x0\(%r16\) c3: R_X86_64_GOTPCREL foo ++[ ]*[a-f0-9]+: d5 11 ff a4 24 00 00 00 00 jmp \*0x0\(%r28\) cc: R_X86_64_GOTPCREL foo + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-gotpcrel.s binutils-2.41/gas/testsuite/gas/i386/x86-64-gotpcrel.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-gotpcrel.s 2024-01-18 12:12:23.827946089 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-gotpcrel.s 2024-01-18 13:32:46.388889354 +0000 +@@ -21,3 +21,22 @@ _start: + call QWORD PTR [rax + foo@GOTPCREL] + jmp QWORD PTR [rip + foo@GOTPCREL] + jmp QWORD PTR [rcx + foo@GOTPCREL] ++ ++ .att_syntax prefix ++ movq $foo@GOTPCREL, %r16 ++ movq foo@GOTPCREL, %r20 ++ movq foo@GOTPCREL(%rip), %r22 ++ movq foo@GOTPCREL(%r28), %r22 ++ ++ call *foo@GOTPCREL(%r16) ++ jmp *foo@GOTPCREL(%r28) ++ ++ .intel_syntax noprefix ++ ++ mov r16, offset foo@gotpcrel ++ mov r20, QWORD PTR [foo@GOTPCREL] ++ mov r22, QWORD PTR [rip + foo@GOTPCREL] ++ mov r22, QWORD PTR [r28 + foo@GOTPCREL] ++ ++ call QWORD PTR [r16 + foo@GOTPCREL] ++ jmp QWORD PTR [r28 + foo@GOTPCREL] +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-gottpoff.d binutils-2.41/gas/testsuite/gas/i386/x86-64-gottpoff.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-gottpoff.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-gottpoff.d 2024-01-18 13:32:46.388889354 +0000 +@@ -0,0 +1,19 @@ ++#as: ++#objdump: -dwr ++#name: x86-64 gottpoff ++ ++.*: +file format .* ++ ++ ++Disassembly of section .text: ++ ++0+ <_start>: ++ +[a-f0-9]+: 48 03 05 00 00 00 00 add 0x0\(%rip\),%rax # 7 <_start\+0x7> 3: R_X86_64_GOTTPOFF foo-0x4 ++ +[a-f0-9]+: 48 8b 05 00 00 00 00 mov 0x0\(%rip\),%rax # e <_start\+0xe> a: R_X86_64_GOTTPOFF foo-0x4 ++ +[a-f0-9]+: d5 48 03 05 00 00 00 00 add 0x0\(%rip\),%r16 # 16 <_start\+0x16> 12: R_X86_64_CODE_4_GOTTPOFF foo-0x4 ++ +[a-f0-9]+: d5 48 8b 25 00 00 00 00 mov 0x0\(%rip\),%r20 # 1e <_start\+0x1e> 1a: R_X86_64_CODE_4_GOTTPOFF foo-0x4 ++ +[a-f0-9]+: 48 03 05 00 00 00 00 add 0x0\(%rip\),%rax # 25 <_start\+0x25> 21: R_X86_64_GOTTPOFF foo-0x4 ++ +[a-f0-9]+: 48 8b 05 00 00 00 00 mov 0x0\(%rip\),%rax # 2c <_start\+0x2c> 28: R_X86_64_GOTTPOFF foo-0x4 ++ +[a-f0-9]+: d5 48 03 05 00 00 00 00 add 0x0\(%rip\),%r16 # 34 <_start\+0x34> 30: R_X86_64_CODE_4_GOTTPOFF foo-0x4 ++ +[a-f0-9]+: d5 48 8b 25 00 00 00 00 mov 0x0\(%rip\),%r20 # 3c <_start\+0x3c> 38: R_X86_64_CODE_4_GOTTPOFF foo-0x4 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-gottpoff.s binutils-2.41/gas/testsuite/gas/i386/x86-64-gottpoff.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-gottpoff.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-gottpoff.s 2024-01-18 13:32:46.388889354 +0000 +@@ -0,0 +1,15 @@ ++ .text ++_start: ++ addq foo@GOTTPOFF(%rip), %rax ++ movq foo@GOTTPOFF(%rip), %rax ++ ++ addq foo@GOTTPOFF(%rip), %r16 ++ movq foo@GOTTPOFF(%rip), %r20 ++ ++ .intel_syntax noprefix ++ ++ addq rax, QWORD PTR [rip + foo@GOTTPOFF] ++ movq rax, QWORD PTR [rip + foo@GOTTPOFF] ++ ++ addq r16, QWORD PTR [rip + foo@GOTTPOFF] ++ movq r20, QWORD PTR [rip + foo@GOTTPOFF] +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-hle.s binutils-2.41/gas/testsuite/gas/i386/x86-64-hle.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-hle.s 2024-01-18 12:12:23.828946090 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-hle.s 2024-01-18 13:32:46.388889354 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit HLE instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-hreset.d binutils-2.41/gas/testsuite/gas/i386/x86-64-hreset.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-hreset.d 2024-01-18 12:12:23.828946090 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-hreset.d 2024-01-18 13:32:46.388889354 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 HRESET insns + #source: hreset.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-inval-avx512vl.l binutils-2.41/gas/testsuite/gas/i386/x86-64-inval-avx512vl.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-inval-avx512vl.l 2024-01-18 12:12:23.828946090 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-inval-avx512vl.l 2024-01-18 13:32:46.388889354 +0000 +@@ -1,6 +1,6 @@ + .*: Assembler messages: +-.*:5: Error: .*unsupported instruction.* +-.*:6: Error: .*unsupported instruction.* ++.*:5: Error: .*operand size mismatch.* ++.*:6: Error: .*operand size mismatch.* + GAS LISTING .* + + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-inval-crc32.l binutils-2.41/gas/testsuite/gas/i386/x86-64-inval-crc32.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-inval-crc32.l 2024-01-18 12:12:23.828946090 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-inval-crc32.l 2024-01-18 13:32:46.388889354 +0000 +@@ -15,8 +15,8 @@ + .*:19: Error: .* + .*:20: Error: .* + .*:21: Error: .* +-.*:24: Error: .* +-.*:25: Error: .* ++.*:22: Error: .* ++.*:23: Error: .* + .*:26: Error: .* + .*:27: Error: .* + .*:28: Error: .* +@@ -26,6 +26,8 @@ + .*:32: Error: .* + .*:33: Error: .* + .*:34: Error: .* ++.*:35: Error: .* ++.*:36: Error: .* + GAS LISTING .* + + +@@ -52,20 +54,22 @@ GAS LISTING .* + [ ]*17[ ]+crc32 %eax, %rax + [ ]*18[ ]+crc32l %rax, %eax + [ ]*19[ ]+crc32l %eax, %rax +-[ ]*20[ ]+crc32q %eax, %rax +-[ ]*21[ ]+crc32q %rax, %eax +-[ ]*22[ ]+ +-[ ]*23[ ]+\.intel_syntax noprefix +-[ ]*24[ ]+crc32 al,byte ptr \[rsi\] +-[ ]*25[ ]+crc32 ax, word ptr \[rsi\] +-[ ]*26[ ]+crc32 rax,word ptr \[rsi\] +-[ ]*27[ ]+crc32 rax,dword ptr \[rsi\] +-[ ]*28[ ]+crc32 al,\[rsi\] +-[ ]*29[ ]+crc32 ax,\[rsi\] +-[ ]*30[ ]+crc32 eax,\[rsi\] +-[ ]*31[ ]+crc32 rax,\[rsi\] +-[ ]*32[ ]+crc32 al,al +-[ ]*33[ ]+crc32 ax, ax +-[ ]*34[ ]+crc32 rax,eax +-[ ]*35[ ]* ++[ ]*[0-9]+[ ]+crc32q %al, %rax ++[ ]*[0-9]+[ ]+crc32q %ax, %rax ++[ ]*[0-9]+[ ]+crc32q %eax, %rax ++[ ]*[0-9]+[ ]+crc32q %rax, %eax ++[ ]*[0-9]+[ ]+ ++[ ]*[0-9]+[ ]+\.intel_syntax noprefix ++[ ]*[0-9]+[ ]+crc32 al,byte ptr \[rsi\] ++[ ]*[0-9]+[ ]+crc32 ax, word ptr \[rsi\] ++[ ]*[0-9]+[ ]+crc32 rax,word ptr \[rsi\] ++[ ]*[0-9]+[ ]+crc32 rax,dword ptr \[rsi\] ++[ ]*[0-9]+[ ]+crc32 al,\[rsi\] ++[ ]*[0-9]+[ ]+crc32 ax,\[rsi\] ++[ ]*[0-9]+[ ]+crc32 eax,\[rsi\] ++[ ]*[0-9]+[ ]+crc32 rax,\[rsi\] ++[ ]*[0-9]+[ ]+crc32 al,al ++[ ]*[0-9]+[ ]+crc32 ax, ax ++[ ]*[0-9]+[ ]+crc32 rax,eax ++[ ]*[0-9]+[ ]* + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-inval-crc32.s binutils-2.41/gas/testsuite/gas/i386/x86-64-inval-crc32.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-inval-crc32.s 2024-01-18 12:12:23.828946090 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-inval-crc32.s 2024-01-18 13:32:46.388889354 +0000 +@@ -17,6 +17,8 @@ crc32 %rax, %eax + crc32 %eax, %rax + crc32l %rax, %eax + crc32l %eax, %rax ++crc32q %al, %rax ++crc32q %ax, %rax + crc32q %eax, %rax + crc32q %rax, %eax + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-invpcid-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-invpcid-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-invpcid-intel.d 2024-01-18 12:12:23.829946090 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-invpcid-intel.d 2024-01-18 13:32:46.389889354 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: x86-64 INVPCID insns (Intel disassembly) + #source: x86-64-invpcid.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-invpcid.d binutils-2.41/gas/testsuite/gas/i386/x86-64-invpcid.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-invpcid.d 2024-01-18 12:12:23.829946090 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-invpcid.d 2024-01-18 13:32:46.389889354 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86-64 INVPCID insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-keylocker-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-keylocker-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-keylocker-intel.d 2024-01-18 12:12:23.829946090 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-keylocker-intel.d 2024-01-18 13:32:46.389889354 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 KEYLOCKER insns (Intel disassembly) + #source: x86-64-keylocker.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-keylocker.d binutils-2.41/gas/testsuite/gas/i386/x86-64-keylocker.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-keylocker.d 2024-01-18 12:12:23.829946090 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-keylocker.d 2024-01-18 13:32:46.389889354 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 KEYLOCKER insns + #source: x86-64-keylocker.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-lfence-byte.e binutils-2.41/gas/testsuite/gas/i386/x86-64-lfence-byte.e +--- binutils.orig/gas/testsuite/gas/i386/x86-64-lfence-byte.e 2024-01-18 12:12:23.829946090 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-lfence-byte.e 2024-01-18 13:32:46.389889354 +0000 +@@ -1,9 +1,6 @@ + .*: Assembler messages: + .*:5: Warning: `rep` skips -mlfence-before-ret on `ret` + .*:7: Warning: `rep` skips -mlfence-before-ret on `ret` +-.*:10: Warning: constant directive skips -mlfence-before-ret and -mlfence-before-indirect-branch + .*:13: Warning: `rep` skips -mlfence-before-ret on `ret` +-.*:17: Warning: constant directive skips -mlfence-before-ret and -mlfence-before-indirect-branch +-.*:17: Warning: `constant directive` skips -mlfence-before-ret on `ret` +-.*:20: Warning: constant directive skips -mlfence-before-ret and -mlfence-before-indirect-branch ++.*:18: Warning: `constant directive` skips -mlfence-before-ret on `ret` + .*:20: Warning: `constant directive` skips -mlfence-before-indirect-branch on `call` +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-lfence-load.d binutils-2.41/gas/testsuite/gas/i386/x86-64-lfence-load.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-lfence-load.d 2024-01-18 12:12:23.829946090 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-lfence-load.d 2024-01-18 13:32:46.389889354 +0000 +@@ -90,7 +90,7 @@ Disassembly of section .text: + +[a-f0-9]+: 0f ae e8 lfence + +[a-f0-9]+: 58 pop %rax + +[a-f0-9]+: 0f ae e8 lfence +- +[a-f0-9]+: 66 d1 11 rclw \(%rcx\) ++ +[a-f0-9]+: 66 d1 11 rclw \$1,\(%rcx\) + +[a-f0-9]+: 0f ae e8 lfence + +[a-f0-9]+: f7 01 01 00 00 00 testl \$0x1,\(%rcx\) + +[a-f0-9]+: 0f ae e8 lfence +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-lkgs-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-lkgs-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-lkgs-intel.d 2024-01-18 12:12:23.829946090 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-lkgs-intel.d 2024-01-18 13:32:46.389889354 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 LKGS insns (Intel disassembly) + #source: x86-64-lkgs.s +@@ -8,16 +7,16 @@ + Disassembly of section \.text: + + 0+ <_start>: +-\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12w +-\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12w +-\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12w ++\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12d ++\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12d ++\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12d + \s*[a-f0-9]+:\s*f2 42 0f 00 b4 f5 00 00 00 10\s+lkgs WORD PTR \[rbp\+r14\*8\+0x10000000\] + \s*[a-f0-9]+:\s*f2 41 0f 00 31\s+lkgs WORD PTR \[r9\] + \s*[a-f0-9]+:\s*f2 0f 00 b1 fe 00 00 00\s+lkgs WORD PTR \[rcx\+0xfe\] + \s*[a-f0-9]+:\s*f2 0f 00 b2 00 ff ff ff\s+lkgs WORD PTR \[rdx-0x100\] +-\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12w +-\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12w +-\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12w ++\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12d ++\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12d ++\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12d + \s*[a-f0-9]+:\s*f2 42 0f 00 b4 f5 00 00 00 10\s+lkgs WORD PTR \[rbp\+r14\*8\+0x10000000\] + \s*[a-f0-9]+:\s*f2 41 0f 00 31\s+lkgs WORD PTR \[r9\] + \s*[a-f0-9]+:\s*f2 0f 00 b1 fe 00 00 00\s+lkgs WORD PTR \[rcx\+0xfe\] +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-lkgs.d binutils-2.41/gas/testsuite/gas/i386/x86-64-lkgs.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-lkgs.d 2024-01-18 12:12:23.830946091 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-lkgs.d 2024-01-18 13:32:46.389889354 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 LKGS insns + #source: x86-64-lkgs.s +@@ -8,16 +7,16 @@ + Disassembly of section \.text: + + 0+ <_start>: +-\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12w +-\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12w +-\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12w ++\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12d ++\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12d ++\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12d + \s*[a-f0-9]+:\s*f2 42 0f 00 b4 f5 00 00 00 10\s+lkgs 0x10000000\(%rbp,%r14,8\) + \s*[a-f0-9]+:\s*f2 41 0f 00 31\s+lkgs \(%r9\) + \s*[a-f0-9]+:\s*f2 0f 00 b1 fe 00 00 00\s+lkgs 0xfe\(%rcx\) + \s*[a-f0-9]+:\s*f2 0f 00 b2 00 ff ff ff\s+lkgs -0x100\(%rdx\) +-\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12w +-\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12w +-\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12w ++\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12d ++\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12d ++\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12d + \s*[a-f0-9]+:\s*f2 42 0f 00 b4 f5 00 00 00 10\s+lkgs 0x10000000\(%rbp,%r14,8\) + \s*[a-f0-9]+:\s*f2 41 0f 00 31\s+lkgs \(%r9\) + \s*[a-f0-9]+:\s*f2 0f 00 b1 fe 00 00 00\s+lkgs 0xfe\(%rcx\) +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-lkgs.s binutils-2.41/gas/testsuite/gas/i386/x86-64-lkgs.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-lkgs.s 2024-01-18 12:12:23.830946091 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-lkgs.s 2024-01-18 13:32:46.389889354 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit LKGS instructions + +- .allow_index_reg + .text + _start: + lkgs %r12 #LKGS +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-localpic.d binutils-2.41/gas/testsuite/gas/i386/x86-64-localpic.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-localpic.d 2024-01-18 12:12:23.830946091 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-localpic.d 2024-01-18 13:32:46.389889354 +0000 +@@ -2,10 +2,12 @@ + #readelf: -rsW + #name: x86-64 local PIC + +-Relocation section '.rela.text' at offset 0x[0-9a-f]+ contains 2 entries: ++Relocation section '.rela.text' at offset 0x[0-9a-f]+ contains 4 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend + [0-9a-f]+ +[0-9a-f]+ R_X86_64_REX_GOTPCRELX +[0-9a-f]+ +foo - 4 + [0-9a-f]+ +[0-9a-f]+ R_X86_64_REX_GOTPCRELX +[0-9a-f]+ +bar - 4 ++[0-9a-f]+ +[0-9a-f]+ R_X86_64_CODE_4_GOTPCRELX +[0-9a-f]+ +foo - 4 ++[0-9a-f]+ +[0-9a-f]+ R_X86_64_CODE_4_GOTPCRELX +[0-9a-f]+ +bar - 4 + #... + +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +NOTYPE +LOCAL +DEFAULT +[0-9]+ +foo + +[0-9]+: +0+fffffff0 +[0-9a-f]+ +NOTYPE +LOCAL +DEFAULT +ABS +bar +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-localpic.s binutils-2.41/gas/testsuite/gas/i386/x86-64-localpic.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-localpic.s 2024-01-18 12:12:23.830946091 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-localpic.s 2024-01-18 13:32:46.389889354 +0000 +@@ -3,4 +3,6 @@ foo: + .quad 0 + movq foo@GOTPCREL(%rip), %rax + movq bar@GOTPCREL(%rip), %rax ++ movq foo@GOTPCREL(%rip), %r26 ++ movq bar@GOTPCREL(%rip), %r26 + bar = 0xfffffff0 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-lwp.s binutils-2.41/gas/testsuite/gas/i386/x86-64-lwp.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-lwp.s 2024-01-18 12:12:23.830946091 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-lwp.s 2024-01-18 13:32:46.389889354 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit LWP instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-movdir.s binutils-2.41/gas/testsuite/gas/i386/x86-64-movdir.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-movdir.s 2024-01-18 12:12:23.830946091 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-movdir.s 2024-01-18 13:32:46.389889354 +0000 +@@ -1,6 +1,5 @@ + # Check MOVDIR[I,64B] 64-bit instructions + +- .allow_index_reg + .text + _start: + movdiri %rax, (%rcx) +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-movdir64b-reg.l binutils-2.41/gas/testsuite/gas/i386/x86-64-movdir64b-reg.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-movdir64b-reg.l 2024-01-18 12:12:23.831946092 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-movdir64b-reg.l 2024-01-18 13:32:46.390889355 +0000 +@@ -1,7 +1,7 @@ + .*: Assembler messages: ++.*:5: Error: invalid register operand size for `movdir64b' + .*:6: Error: invalid register operand size for `movdir64b' + .*:7: Error: invalid register operand size for `movdir64b' + .*:8: Error: invalid register operand size for `movdir64b' +-.*:9: Error: invalid register operand size for `movdir64b' ++.*:11: Error: invalid register operand size for `movdir64b' + .*:12: Error: invalid register operand size for `movdir64b' +-.*:13: Error: invalid register operand size for `movdir64b' +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-movdir64b-reg.s binutils-2.41/gas/testsuite/gas/i386/x86-64-movdir64b-reg.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-movdir64b-reg.s 2024-01-18 12:12:23.831946092 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-movdir64b-reg.s 2024-01-18 13:32:46.390889355 +0000 +@@ -1,6 +1,5 @@ + # Check error for MOVDIR64B 32-bit instructions + +- .allow_index_reg + .text + _start: + movdir64b (%esi),%rax +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-movsxd-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-movsxd-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-movsxd-intel.d 2024-01-18 12:12:23.831946092 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-movsxd-intel.d 2024-01-18 13:32:46.390889355 +0000 +@@ -1,5 +1,4 @@ + #source: x86-64-movsxd.s +-#as: + #objdump: -dw -Mintel + #name: x86-64 movsxd (AMD64) (Intel mode) + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-movsxd.d binutils-2.41/gas/testsuite/gas/i386/x86-64-movsxd.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-movsxd.d 2024-01-18 12:12:23.831946092 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-movsxd.d 2024-01-18 13:32:46.390889355 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86-64 movsxd (AMD64) + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-mpx-inval-1.l binutils-2.41/gas/testsuite/gas/i386/x86-64-mpx-inval-1.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-mpx-inval-1.l 2024-01-18 12:12:23.831946092 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-mpx-inval-1.l 2024-01-18 13:32:46.390889355 +0000 +@@ -1,34 +1,33 @@ + .*: Assembler messages: ++.*:3: Error: expecting valid branch instruction after `bnd' + .*:4: Error: expecting valid branch instruction after `bnd' + .*:5: Error: expecting valid branch instruction after `bnd' + .*:6: Error: expecting valid branch instruction after `bnd' +-.*:7: Error: expecting valid branch instruction after `bnd' ++.*:9: Error: expecting valid branch instruction after `bnd' + .*:10: Error: expecting valid branch instruction after `bnd' + .*:11: Error: expecting valid branch instruction after `bnd' + .*:12: Error: expecting valid branch instruction after `bnd' +-.*:13: Error: expecting valid branch instruction after `bnd' + GAS LISTING .* + + + [ ]*1[ ]+\# MPX instructions +-[ ]*2[ ]+\.allow_index_reg +-[ ]*3[ ]+\.text +-[ ]*4[ ]+\?\?\?\? F24801C3 bnd add %rax, %rbx \# Bad ++[ ]*2[ ]+\.text ++[ ]*3[ ]+\?\?\?\? F24801C3 bnd add %rax, %rbx \# Bad + .* Error: expecting valid branch instruction after `bnd' +-[ ]*5[ ]+\?\?\?\? 6766F2AB bnd stosw \(%edi\) \# Bad ++[ ]*4[ ]+\?\?\?\? 6766F2AB bnd stosw \(%edi\) \# Bad + .* Error: expecting valid branch instruction after `bnd' +-[ ]*6[ ]+\?\?\?\? F2E2(00|0A) bnd loop foo ++[ ]*5[ ]+\?\?\?\? F2E2(00|0A) bnd loop foo + .* Error: expecting valid branch instruction after `bnd' +-[ ]*7[ ]+\?\?\?\? F2E3(00|0D) bnd jrcxz foo ++[ ]*6[ ]+\?\?\?\? F2E3(00|0D) bnd jrcxz foo + .* Error: expecting valid branch instruction after `bnd' +-[ ]*8[ ]+ +-[ ]*9[ ]+\.intel_syntax noprefix +-[ ]*10[ ]+\?\?\?\? F24801C3 bnd add rbx, rax \# Bad ++[ ]*7[ ]+ ++[ ]*8[ ]+\.intel_syntax noprefix ++[ ]*9[ ]+\?\?\?\? F24801C3 bnd add rbx, rax \# Bad + .* Error: expecting valid branch instruction after `bnd' +-[ ]*11[ ]+\?\?\?\? 6766F2AB bnd stos WORD PTR \[edi] \# Bad ++[ ]*10[ ]+\?\?\?\? 6766F2AB bnd stos WORD PTR \[edi] \# Bad + .* Error: expecting valid branch instruction after `bnd' +-[ ]*12[ ]+\?\?\?\? F2E2(00|18) bnd loop foo ++[ ]*11[ ]+\?\?\?\? F2E2(00|18) bnd loop foo + .* Error: expecting valid branch instruction after `bnd' +-[ ]*13[ ]+\?\?\?\? F2E3(00|1B)( |90) bnd jrcxz foo ++[ ]*12[ ]+\?\?\?\? F2E3(00|1B)( |90) bnd jrcxz foo + .* Error: expecting valid branch instruction after `bnd' + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-mpx-inval-1.s binutils-2.41/gas/testsuite/gas/i386/x86-64-mpx-inval-1.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-mpx-inval-1.s 2024-01-18 12:12:23.831946092 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-mpx-inval-1.s 2024-01-18 13:32:46.390889355 +0000 +@@ -1,5 +1,4 @@ + # MPX instructions +- .allow_index_reg + .text + bnd add %rax, %rbx # Bad + bnd stosw (%edi) # Bad +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-mpx-inval-2.l binutils-2.41/gas/testsuite/gas/i386/x86-64-mpx-inval-2.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-mpx-inval-2.l 2024-01-18 12:12:23.831946092 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-mpx-inval-2.l 2024-01-18 13:32:46.390889355 +0000 +@@ -1,74 +1,73 @@ + .*: Assembler messages: ++.*:5: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:6: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:7: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:8: Error: `\(%rip\)' cannot be used here +-.*:9: Error: .* ++.*:7: Error: `\(%rip\)' cannot be used here ++.*:8: Error: .* ++.*:11: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:12: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:13: Error: 32-bit address isn't allowed in 64-bit MPX instructions. ++.*:14: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:15: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:16: Error: 32-bit address isn't allowed in 64-bit MPX instructions. ++.*:18: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:19: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:20: Error: 32-bit address isn't allowed in 64-bit MPX instructions. ++.*:20: Error: .* `bndcl' + .*:21: Error: .* `bndcl' +-.*:22: Error: .* `bndcl' ++.*:24: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:25: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:26: Error: 32-bit address isn't allowed in 64-bit MPX instructions. ++.*:26: Error: .* `bndcu' + .*:27: Error: .* `bndcu' +-.*:28: Error: .* `bndcu' ++.*:30: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:31: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:32: Error: 32-bit address isn't allowed in 64-bit MPX instructions. ++.*:32: Error: .* `bndcn' + .*:33: Error: .* `bndcn' +-.*:34: Error: .* `bndcn' ++.*:36: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:37: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:38: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:39: Warning: register scaling is being ignored here +-.*:40: Error: `base\(%rip\)' cannot be used here +-.*:41: Error: .* ++.*:38: Warning: register scaling is being ignored here ++.*:39: Error: `base\(%rip\)' cannot be used here ++.*:40: Error: .* ++.*:43: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:44: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:45: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:46: Warning: register scaling is being ignored here +-.*:47: Error: `base\(%rip\)' cannot be used here +-.*:48: Error: .* ++.*:45: Warning: register scaling is being ignored here ++.*:46: Error: `base\(%rip\)' cannot be used here ++.*:47: Error: .* ++.*:50: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:51: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:52: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:53: Error: `\[rip\]' cannot be used here +-.*:54: Error: .* +-.*:55: Error: `\[rax\+rsp\]' is not a valid base/index expression ++.*:52: Error: `\[rip\]' cannot be used here ++.*:53: Error: .* ++.*:54: Error: `\[rax\+rsp\]' is not a valid base/index expression ++.*:57: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:58: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:59: Error: 32-bit address isn't allowed in 64-bit MPX instructions. ++.*:60: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:61: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:62: Error: 32-bit address isn't allowed in 64-bit MPX instructions. ++.*:64: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:65: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:66: Error: 32-bit address isn't allowed in 64-bit MPX instructions. ++.*:66: Error: .* `bndcl' + .*:67: Error: .* `bndcl' +-.*:68: Error: .* `bndcl' ++.*:70: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:71: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:72: Error: 32-bit address isn't allowed in 64-bit MPX instructions. ++.*:72: Error: .* `bndcu' + .*:73: Error: .* `bndcu' +-.*:74: Error: .* `bndcu' ++.*:76: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:77: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:78: Error: 32-bit address isn't allowed in 64-bit MPX instructions. ++.*:78: Error: .* `bndcn' + .*:79: Error: .* `bndcn' +-.*:80: Error: .* `bndcn' ++.*:82: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:83: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:84: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:85: Warning: register scaling is being ignored here +-.*:86: Error: `\[rip\+base\]' cannot be used here +-.*:87: Error: .* +-.*:88: Error: `\[rax\+rsp\]' is not a valid base/index expression ++.*:84: Warning: register scaling is being ignored here ++.*:85: Error: `\[rip\+base\]' cannot be used here ++.*:86: Error: .* ++.*:87: Error: `\[rax\+rsp\]' is not a valid base/index expression ++.*:90: Error: 32-bit address isn't allowed in 64-bit MPX instructions. + .*:91: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:92: Error: 32-bit address isn't allowed in 64-bit MPX instructions. +-.*:93: Warning: register scaling is being ignored here +-.*:94: Error: `\[rip\+base\]' cannot be used here +-.*:95: Error: .* +-.*:96: Error: `\[rax\+rsp\]' is not a valid base/index expression ++.*:92: Warning: register scaling is being ignored here ++.*:93: Error: `\[rip\+base\]' cannot be used here ++.*:94: Error: .* ++.*:95: Error: `\[rax\+rsp\]' is not a valid base/index expression + GAS LISTING .* + + + [ ]*1[ ]+\# MPX instructions +-[ ]*2[ ]+\.allow_index_reg +-[ ]*3[ ]+\.text +-[ ]*4[ ]+ ++[ ]*2[ ]+\.text ++[ ]*3[ ]+ + [ ]*[1-9][0-9]*[ ]+\#\#\# bndmk + [ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F30F1B bndmk \(%eax\), %bnd1 + .* Error: 32-bit address isn't allowed in 64-bit MPX instructions\. +@@ -122,10 +121,10 @@ GAS LISTING .* + .* Error: 32-bit address isn't allowed in 64-bit MPX instructions\. + [ ]*[1-9][0-9]*[ ]+4C0103 + [ ]*[1-9][0-9]*[ ]+bndcn %ecx, %bnd1 ++[ ]*[1-9][0-9]*[ ]+bndcn %cx, %bnd1 + GAS LISTING .* + + +-[ ]*[1-9][0-9]*[ ]+bndcn %cx, %bnd1 + [ ]*[1-9][0-9]*[ ]+ + [ ]*[1-9][0-9]*[ ]+\#\#\# bndstx + [ ]*[1-9][0-9]*[ ]+\?\?\?\? 670F1B44 bndstx %bnd0, 0x3\(%eax,%ebx,1\) +@@ -182,10 +181,10 @@ GAS LISTING .* + [ ]*[1-9][0-9]*[ ]+\#\#\# bndcl + [ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F30F1A bndcl bnd1, \[eax\] + .* Error: 32-bit address isn't allowed in 64-bit MPX instructions\. ++[ ]*[1-9][0-9]*[ ]+08 + GAS LISTING .* + + +-[ ]*[1-9][0-9]*[ ]+08 + [ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F30F1A bndcl bnd1, \[edx\+1\*eax\+0x3\] + .* Error: 32-bit address isn't allowed in 64-bit MPX instructions\. + [ ]*[1-9][0-9]*[ ]+4C0203 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-mpx-inval-2.s binutils-2.41/gas/testsuite/gas/i386/x86-64-mpx-inval-2.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-mpx-inval-2.s 2024-01-18 12:12:23.831946092 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-mpx-inval-2.s 2024-01-18 13:32:46.390889355 +0000 +@@ -1,5 +1,4 @@ + # MPX instructions +- .allow_index_reg + .text + + ### bndmk +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-mpx.s binutils-2.41/gas/testsuite/gas/i386/x86-64-mpx.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-mpx.s 2024-01-18 12:12:23.831946092 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-mpx.s 2024-01-18 13:32:46.390889355 +0000 +@@ -1,5 +1,4 @@ + # MPX instructions +- .allow_index_reg + .text + start: + ### bndmk +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-msrlist-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-msrlist-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-msrlist-intel.d 2024-01-18 12:12:23.831946092 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-msrlist-intel.d 2024-01-18 13:32:46.390889355 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 MSRLIST insns (Intel disassembly) + #source: x86-64-msrlist.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-msrlist.d binutils-2.41/gas/testsuite/gas/i386/x86-64-msrlist.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-msrlist.d 2024-01-18 12:12:23.832946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-msrlist.d 2024-01-18 13:32:46.390889355 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 MSRLIST insns + #source: x86-64-msrlist.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nop-2.d binutils-2.41/gas/testsuite/gas/i386/x86-64-nop-2.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nop-2.d 2024-01-18 12:12:23.832946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nop-2.d 2024-01-18 13:32:46.390889355 +0000 +@@ -1,79 +1,4 @@ + #source: nop-2.s + #objdump: -drw -Mi8086 + #name: x86-64 .nops 2 +- +-.*: +file format .* +- +- +-Disassembly of section .text: +- +-0+ : +- +[a-f0-9]+: 90 nop +- +-0+1 : +- +[a-f0-9]+: 90 nop +- +-0+2 : +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +-0+a : +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +-0+12 : +- +[a-f0-9]+: eb 12 jmp 26 +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 66 90 xchg %eax,%eax +- +-0+26 : +- +[a-f0-9]+: eb 1c jmp 44 +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +-0+44 : +- +[a-f0-9]+: eb 7f jmp c5 +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si +- +[a-f0-9]+: 8d 74 00 lea 0x0\(%si\),%si +- +-0+c5 : +- +[a-f0-9]+: 66 31 c0 xor %eax,%eax +-#pass ++#dump: nop-2.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nops-1-core2.d binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-1-core2.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nops-1-core2.d 2024-01-18 12:12:23.832946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-1-core2.d 2024-01-18 13:32:46.390889355 +0000 +@@ -2,160 +2,4 @@ + #source: nops-1.s + #objdump: -drw + #name: x86-64 -mtune=core2 nops 1 +- +-.*: +file format .* +- +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+10 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+30 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +- +-0+50 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+70 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+90 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+b0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+d0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: x86-64-nops-1.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nops-1-g64.d binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-1-g64.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nops-1-g64.d 2024-01-18 12:12:23.832946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-1-g64.d 2024-01-18 13:32:46.390889355 +0000 +@@ -2,160 +2,4 @@ + #as: -mtune=generic64 + #objdump: -drw + #name: x86-64 -mtune=generic64 nops 1 +- +-.*: +file format .* +- +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+10 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+30 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +- +-0+50 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+70 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+90 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+b0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+d0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: x86-64-nops-1.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nops-1-k8.d binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-1-k8.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nops-1-k8.d 2024-01-18 12:12:23.832946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-1-k8.d 2024-01-18 13:32:46.390889355 +0000 +@@ -2,159 +2,4 @@ + #source: nops-1.s + #objdump: -drw + #name: x86-64 -mtune=k8 nops 1 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+10 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+30 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +- +-0+50 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+70 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+90 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+b0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+d0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: x86-64-nops-1.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nops-1-pentium.d binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-1-pentium.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nops-1-pentium.d 2024-01-18 12:12:23.832946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-1-pentium.d 2024-01-18 13:32:46.390889355 +0000 +@@ -9,31 +9,29 @@ Disassembly of section .text: + + 0+ : + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi ++[ ]*[a-f0-9]+: 2e 48 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi + + 0+10 : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi ++[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi ++[ ]*[a-f0-9]+: 48 8d 74 26 00 lea (0x)?0\(%rsi,%riz,1\),%rsi + + 0+20 : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi ++[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi ++[ ]*[a-f0-9]+: 48 8d 76 00 lea (0x)?0\(%rsi\),%rsi + + 0+30 : + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi ++[ ]*[a-f0-9]+: 48 89 f6 mov %rsi,%rsi + + 0+40 : + [ ]*[a-f0-9]+: 90 nop +@@ -41,8 +39,8 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%rsi,%riz,1\),%esi ++[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi ++[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax + + 0+50 : + [ ]*[a-f0-9]+: 90 nop +@@ -51,8 +49,8 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%rsi\),%esi ++[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi ++[ ]*[a-f0-9]+: 90 nop + + 0+60 : + [ ]*[a-f0-9]+: 90 nop +@@ -62,8 +60,7 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax ++[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi + + 0+70 : + [ ]*[a-f0-9]+: 90 nop +@@ -74,8 +71,7 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 48 8d b4 26 00 00 00 00 lea (0x)?0\(%rsi,%riz,1\),%rsi + + 0+80 : + [ ]*[a-f0-9]+: 90 nop +@@ -87,7 +83,7 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi ++[ ]*[a-f0-9]+: 48 8d b6 00 00 00 00 lea (0x)?0\(%rsi\),%rsi + + 0+90 : + [ ]*[a-f0-9]+: 90 nop +@@ -100,7 +96,7 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi ++[ ]*[a-f0-9]+: 2e 48 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi + + 0+a0 : + [ ]*[a-f0-9]+: 90 nop +@@ -114,8 +110,7 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 90 nop ++[ ]*[a-f0-9]+: 48 8d 74 26 00 lea (0x)?0\(%rsi,%riz,1\),%rsi + + 0+b0 : + [ ]*[a-f0-9]+: 90 nop +@@ -130,7 +125,7 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d 74 26 00 lea 0x0\(%rsi,%riz,1\),%esi ++[ ]*[a-f0-9]+: 48 8d 76 00 lea (0x)?0\(%rsi\),%rsi + + 0+c0 : + [ ]*[a-f0-9]+: 90 nop +@@ -146,7 +141,7 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop + [ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 8d 76 00 lea 0x0\(%rsi\),%esi ++[ ]*[a-f0-9]+: 48 89 f6 mov %rsi,%rsi + + 0+d0 : + [ ]*[a-f0-9]+: 90 nop +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nops-1a-core2.d binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-1a-core2.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nops-1a-core2.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-1a-core2.d 2024-01-18 13:32:46.390889355 +0000 +@@ -0,0 +1,5 @@ ++#as: -march=core2+nonop ++#source: nops-1.s ++#objdump: -drw ++#name: x86-64 -march=core2+nonop nops 1 ++#dump: x86-64-nops-1-pentium.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nops-1a-g64.d binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-1a-g64.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nops-1a-g64.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-1a-g64.d 2024-01-18 13:32:46.390889355 +0000 +@@ -0,0 +1,5 @@ ++#as: -march=generic64+nonop ++#source: nops-1.s ++#objdump: -drw ++#name: x86-64 -march=generic64+nonop nops 1 ++#dump: x86-64-nops-1-pentium.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nops-4-core2.d binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-4-core2.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nops-4-core2.d 2024-01-18 12:12:23.832946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-4-core2.d 2024-01-18 13:32:46.390889355 +0000 +@@ -2,218 +2,4 @@ + #source: nops-4.s + #objdump: -drw + #name: x86-64 nops -mtune=core2 4 +- +-.*: +file format .* +- +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+100 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+120 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +- +-0+140 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\) +- +-0+160 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+180 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+1a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+1c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+1e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +-#pass ++#dump: x86-64-nops-4.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nops-4-k8.d binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-4-k8.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nops-4-k8.d 2024-01-18 12:12:23.832946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-4-k8.d 2024-01-18 13:32:46.390889355 +0000 +@@ -2,217 +2,4 @@ + #source: nops-4.s + #objdump: -drw + #name: x86-64 nops -mtune=k8 4 +- +-.*: +file format .* +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+20 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+40 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+60 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+80 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +- +-0+c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +- +-0+e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+100 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 90 nop +- +-0+120 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +- +-0+140 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\) +- +-0+160 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+180 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) +- +-0+1a0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +- +-0+1c0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +- +-0+1e0 : +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 90 nop +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +-#pass ++#dump: x86-64-nops-4.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nops-5-k8.d binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-5-k8.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nops-5-k8.d 2024-01-18 12:12:23.833946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-5-k8.d 2024-01-18 13:32:46.390889355 +0000 +@@ -2,79 +2,4 @@ + #source: nops-5.s + #objdump: -drw + #name: x86-64 -march=k8 nops 5 +- +-.*: +file format .* +- +- +-Disassembly of section .text: +- +-0+ : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+10 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+20 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+30 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+40 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+50 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+60 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+70 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+80 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+90 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+a0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+b0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi +- +-0+c0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +- +-0+d0 : +-[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\) +-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +-#pass ++#dump: x86-64-nops-5.d +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nops-5.d binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-5.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nops-5.d 2024-01-18 12:12:23.833946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-5.d 2024-01-18 13:32:46.390889355 +0000 +@@ -9,23 +9,23 @@ Disassembly of section .text: + + 0+ : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi + + 0+10 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi + + 0+20 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi + + 0+30 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi + + 0+40 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +@@ -49,8 +49,8 @@ Disassembly of section .text: + + 0+80 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi + + 0+90 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +@@ -64,8 +64,8 @@ Disassembly of section .text: + + 0+b0 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%rsi,%riz,1\),%esi +-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%rsi\),%esi ++[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi ++[ ]*[a-f0-9]+: 2e 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi + + 0+c0 : + [ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nops-6.d binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-6.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nops-6.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-6.d 2024-01-18 13:32:46.390889355 +0000 +@@ -0,0 +1,13 @@ ++#objdump: -drw ++#name: x86-64 nops 6 ++ ++.*: +file format .* ++ ++ ++Disassembly of section .text: ++ ++0+ : ++[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi ++[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw (0x)?0\(%rax,%rax,1\) ++[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-nops-6.s binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-6.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-nops-6.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-nops-6.s 2024-01-18 13:32:46.391889356 +0000 +@@ -0,0 +1,7 @@ ++ .text ++default: ++ movsbl %al,%esi ++ .p2align 4 ++ ++ .code32 ++ .arch generic32 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-notrack.s binutils-2.41/gas/testsuite/gas/i386/x86-64-notrack.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-notrack.s 2024-01-18 12:12:23.833946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-notrack.s 2024-01-18 13:32:46.391889356 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit NOTRACK prefix + +- .allow_index_reg + .text + _start: + notrack call *%rax +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-notrackbad.l binutils-2.41/gas/testsuite/gas/i386/x86-64-notrackbad.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-notrackbad.l 2024-01-18 12:12:23.833946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-notrackbad.l 2024-01-18 13:32:46.391889356 +0000 +@@ -1,31 +1,30 @@ + .*: Assembler messages: ++.*:5: Error: expecting indirect branch instruction after `notrack' ++.*:5: Warning: skipping prefixes on `call' + .*:6: Error: expecting indirect branch instruction after `notrack' +-.*:6: Warning: skipping prefixes on `call' +-.*:7: Error: expecting indirect branch instruction after `notrack' ++.*:8: Error: same type of prefix used twice + .*:9: Error: same type of prefix used twice +-.*:10: Error: same type of prefix used twice ++.*:12: Error: same type of prefix used twice + .*:13: Error: same type of prefix used twice +-.*:14: Error: same type of prefix used twice + GAS LISTING .* + + + [ ]*1[ ]+\# Check 64bit unsupported NOTRACK prefix + [ ]*2[ ]+ +-[ ]*3[ ]+\.allow_index_reg +-[ ]*4[ ]+\.text +-[ ]*5[ ]+_start: +-[ ]*6[ ]+\?\?\?\? [0-9A-F]* notrack call foo ++[ ]*3[ ]+\.text ++[ ]*4[ ]+_start: ++[ ]*5[ ]+\?\?\?\? [0-9A-F]* notrack call foo + \*\*\*\* Error: expecting indirect branch instruction after `notrack' + \*\*\*\* Warning: skipping prefixes on `call' +-[ ]*6[ ]+[0-9A-F]* +-[ ]*7[ ]+\?\?\?\? [0-9A-F]* notrack jmp foo ++[ ]*5[ ]+[0-9A-F]* ++[ ]*6[ ]+\?\?\?\? [0-9A-F]* notrack jmp foo + \*\*\*\* Error: expecting indirect branch instruction after `notrack' +-[ ]*7[ ]+[0-9A-F]* +-[ ]*8[ ]+ +-[ ]*9[ ]+fs notrack call \*%rax +-[ ]*10[ ]+notrack fs call \*%rax +-[ ]*11[ ]+ +-[ ]*12[ ]+\.intel_syntax noprefix +-[ ]*13[ ]+fs notrack call rax +-[ ]*14[ ]+notrack fs call rax ++[ ]*6[ ]+[0-9A-F]* ++[ ]*7[ ]+ ++[ ]*8[ ]+fs notrack call \*%rax ++[ ]*9[ ]+notrack fs call \*%rax ++[ ]*10[ ]+ ++[ ]*11[ ]+\.intel_syntax noprefix ++[ ]*12[ ]+fs notrack call rax ++[ ]*13[ ]+notrack fs call rax + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-notrackbad.s binutils-2.41/gas/testsuite/gas/i386/x86-64-notrackbad.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-notrackbad.s 2024-01-18 12:12:23.833946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-notrackbad.s 2024-01-18 13:32:46.391889356 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit unsupported NOTRACK prefix + +- .allow_index_reg + .text + _start: + notrack call foo +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-opcode-inval-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-opcode-inval-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-opcode-inval-intel.d 2024-01-18 12:12:23.833946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-opcode-inval-intel.d 2024-01-18 13:32:46.391889356 +0000 +@@ -10,41 +10,33 @@ Disassembly of section .text: + 0+ : + [ ]*[a-f0-9]+: 37 \(bad\) + +-0+1 : +-[ ]*[a-f0-9]+: d5 \(bad\) +-[ ]*[a-f0-9]+: 0a .byte 0xa +- +-0+3 : +-[ ]*[a-f0-9]+: d5 \(bad\) +-[ ]*[a-f0-9]+: 02 .byte 0x2 +- +-0+5 : ++0+1 : + [ ]*[a-f0-9]+: d4 \(bad\) + [ ]*[a-f0-9]+: 0a .byte 0xa + +-0+7 : ++0+3 : + [ ]*[a-f0-9]+: d4 \(bad\) + [ ]*[a-f0-9]+: 02 .byte 0x2 + +-0+9 : ++0+5 : + [ ]*[a-f0-9]+: 3f \(bad\) + +-0+a : ++0+6 : + [ ]*[a-f0-9]+: 62 .byte 0x62 + [ ]*[a-f0-9]+: 10 .byte 0x10 + +-0+c : ++0+8 : + [ ]*[a-f0-9]+: 27 \(bad\) + +-0+d : ++0+9 : + [ ]*[a-f0-9]+: 2f \(bad\) + +-0+e : ++0+a : + [ ]*[a-f0-9]+: ce \(bad\) + +-0+f : ++0+b : + [ ]*[a-f0-9]+: 60 \(bad\) + +-0+10 : ++0+c : + [ ]*[a-f0-9]+: 61 \(bad\) + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-opcode-inval.d binutils-2.41/gas/testsuite/gas/i386/x86-64-opcode-inval.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-opcode-inval.d 2024-01-18 12:12:23.833946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-opcode-inval.d 2024-01-18 13:32:46.391889356 +0000 +@@ -9,41 +9,33 @@ Disassembly of section .text: + 0+ : + [ ]*[a-f0-9]+: 37 \(bad\) + +-0+1 : +-[ ]*[a-f0-9]+: d5 \(bad\) +-[ ]*[a-f0-9]+: 0a .byte 0xa +- +-0+3 : +-[ ]*[a-f0-9]+: d5 \(bad\) +-[ ]*[a-f0-9]+: 02 .byte 0x2 +- +-0+5 : ++0+1 : + [ ]*[a-f0-9]+: d4 \(bad\) + [ ]*[a-f0-9]+: 0a .byte 0xa + +-0+7 : ++0+3 : + [ ]*[a-f0-9]+: d4 \(bad\) + [ ]*[a-f0-9]+: 02 .byte 0x2 + +-0+9 : ++0+5 : + [ ]*[a-f0-9]+: 3f \(bad\) + +-0+a : ++0+6 : + [ ]*[a-f0-9]+: 62 .byte 0x62 + [ ]*[a-f0-9]+: 10 .byte 0x10 + +-0+c : ++0+8 : + [ ]*[a-f0-9]+: 27 \(bad\) + +-0+d : ++0+9 : + [ ]*[a-f0-9]+: 2f \(bad\) + +-0+e : ++0+a : + [ ]*[a-f0-9]+: ce \(bad\) + +-0+f : ++0+b : + [ ]*[a-f0-9]+: 60 \(bad\) + +-0+10 : ++0+c : + [ ]*[a-f0-9]+: 61 \(bad\) + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-opcode-inval.s binutils-2.41/gas/testsuite/gas/i386/x86-64-opcode-inval.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-opcode-inval.s 2024-01-18 12:12:23.833946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-opcode-inval.s 2024-01-18 13:32:46.391889356 +0000 +@@ -2,10 +2,6 @@ + # All the followings are illegal opcodes for x86-64. + aaa: + aaa +-aad0: +- aad +-aad1: +- aad $2 + aam0: + aam + aam1: +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-opcode.d binutils-2.41/gas/testsuite/gas/i386/x86-64-opcode.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-opcode.d 2024-01-18 12:12:23.833946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-opcode.d 2024-01-18 13:32:46.391889356 +0000 +@@ -335,9 +335,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: c0 f0 02 shl \$0x2,%al + [ ]*[a-f0-9]+: c1 f0 01 shl \$0x1,%eax + [ ]*[a-f0-9]+: 48 c1 f0 01 shl \$0x1,%rax +-[ ]*[a-f0-9]+: d0 f0 shl %al +-[ ]*[a-f0-9]+: d1 f0 shl %eax +-[ ]*[a-f0-9]+: 48 d1 f0 shl %rax ++[ ]*[a-f0-9]+: d0 f0 shl \$1,%al ++[ ]*[a-f0-9]+: d1 f0 shl \$1,%eax ++[ ]*[a-f0-9]+: 48 d1 f0 shl \$1,%rax + [ ]*[a-f0-9]+: d2 f0 shl %cl,%al + [ ]*[a-f0-9]+: d3 f0 shl %cl,%eax + [ ]*[a-f0-9]+: 48 d3 f0 shl %cl,%rax +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-1.s binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-1.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-1.s 2024-01-18 12:12:23.833946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-1.s 2024-01-18 13:32:46.391889356 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit instructions with optimized encoding + +- .allow_index_reg + .text + _start: + andq $foo, %rax +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-2.d binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-2.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-2.d 2024-01-18 12:12:23.833946093 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-2.d 2024-01-18 13:32:46.391889356 +0000 +@@ -203,4 +203,24 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxord 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxorq 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: c4 .* vfnmadd231sd %xmm9,%xmm2,%xmm0 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-2.s binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-2.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-2.s 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-2.s 2024-01-18 13:32:46.391889356 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit instructions with optimized encoding + +- .allow_index_reg + .text + _start: + vandnpd %zmm1, %zmm1, %zmm15{%k7} +@@ -226,3 +225,29 @@ _start: + vporq 128(%rax), %ymm2, %ymm3 + vpxord 128(%rax), %ymm2, %ymm3 + vpxorq 128(%rax), %ymm2, %ymm3 ++ ++ pcmpgtb %mm2, %mm2 ++ pcmpgtb %xmm2, %xmm2 ++ pcmpgtb %xmm12, %xmm12 ++ vpcmpgtb %xmm2, %xmm2, %xmm8 ++ vpcmpgtb %ymm12, %ymm12, %ymm1 ++ ++ pcmpgtw %mm2, %mm2 ++ pcmpgtw %xmm2, %xmm2 ++ pcmpgtw %xmm12, %xmm12 ++ vpcmpgtw %xmm2, %xmm2, %xmm8 ++ vpcmpgtw %ymm12, %ymm12, %ymm1 ++ ++ pcmpgtd %mm2, %mm2 ++ pcmpgtd %xmm2, %xmm2 ++ pcmpgtd %xmm12, %xmm12 ++ vpcmpgtd %xmm2, %xmm2, %xmm8 ++ vpcmpgtd %ymm12, %ymm12, %ymm1 ++ ++ pcmpgtq %xmm2, %xmm2 ++ pcmpgtq %xmm12, %xmm12 ++ vpcmpgtq %xmm2, %xmm2, %xmm8 ++ vpcmpgtq %ymm12, %ymm12, %ymm1 ++ ++ # PR gas/31178 ++ vfnmadd231sd %xmm9, %xmm2, %xmm0 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-2a.d binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-2a.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-2a.d 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-2a.d 2024-01-18 13:32:46.391889356 +0000 +@@ -204,4 +204,24 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxord 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxorq 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: c4 .* vfnmadd231sd %xmm9,%xmm2,%xmm0 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-2b.d binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-2b.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-2b.d 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-2b.d 2024-01-18 13:32:46.391889356 +0000 +@@ -203,4 +203,24 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxord 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxorq 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: c4 .* vfnmadd231sd %xmm9,%xmm2,%xmm0 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-2c.d binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-2c.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-2c.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-2c.d 2024-01-18 13:32:46.391889356 +0000 +@@ -0,0 +1,227 @@ ++#source: x86-64-optimize-2.s ++#as: -O -msse2avx ++#objdump: -drw ++#name: x86-64 optimized encoding 2c with -O and SSE2AVX ++ ++.*: +file format .* ++ ++ ++Disassembly of section .text: ++ ++0+ <_start>: ++ +[a-f0-9]+: 62 71 f5 4f 55 f9 vandnpd %zmm1,%zmm1,%zmm15\{%k7\} ++ +[a-f0-9]+: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 e1 f5 48 55 c1 vandnpd %zmm1,%zmm1,%zmm16 ++ +[a-f0-9]+: 62 e1 f5 28 55 c1 vandnpd %ymm1,%ymm1,%ymm16 ++ +[a-f0-9]+: 62 b1 f5 40 55 c9 vandnpd %zmm17,%zmm17,%zmm1 ++ +[a-f0-9]+: 62 b1 f5 20 55 c9 vandnpd %ymm17,%ymm17,%ymm1 ++ +[a-f0-9]+: 62 71 74 4f 55 f9 vandnps %zmm1,%zmm1,%zmm15\{%k7\} ++ +[a-f0-9]+: c5 70 55 f9 vandnps %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 70 55 f9 vandnps %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 70 55 f9 vandnps %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 e1 74 48 55 c1 vandnps %zmm1,%zmm1,%zmm16 ++ +[a-f0-9]+: 62 e1 74 28 55 c1 vandnps %ymm1,%ymm1,%ymm16 ++ +[a-f0-9]+: 62 b1 74 40 55 c9 vandnps %zmm17,%zmm17,%zmm1 ++ +[a-f0-9]+: 62 b1 74 20 55 c9 vandnps %ymm17,%ymm17,%ymm1 ++ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 71 75 4f df f9 vpandnd %zmm1,%zmm1,%zmm15\{%k7\} ++ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 e1 75 48 df c1 vpandnd %zmm1,%zmm1,%zmm16 ++ +[a-f0-9]+: 62 e1 75 28 df c1 vpandnd %ymm1,%ymm1,%ymm16 ++ +[a-f0-9]+: 62 b1 75 40 df c9 vpandnd %zmm17,%zmm17,%zmm1 ++ +[a-f0-9]+: 62 b1 75 20 df c9 vpandnd %ymm17,%ymm17,%ymm1 ++ +[a-f0-9]+: 62 71 f5 4f df f9 vpandnq %zmm1,%zmm1,%zmm15\{%k7\} ++ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 e1 f5 48 df c1 vpandnq %zmm1,%zmm1,%zmm16 ++ +[a-f0-9]+: 62 e1 f5 28 df c1 vpandnq %ymm1,%ymm1,%ymm16 ++ +[a-f0-9]+: 62 b1 f5 40 df c9 vpandnq %zmm17,%zmm17,%zmm1 ++ +[a-f0-9]+: 62 b1 f5 20 df c9 vpandnq %ymm17,%ymm17,%ymm1 ++ +[a-f0-9]+: 62 71 f5 4f 57 f9 vxorpd %zmm1,%zmm1,%zmm15\{%k7\} ++ +[a-f0-9]+: c5 71 57 f9 vxorpd %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 57 f9 vxorpd %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 57 f9 vxorpd %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 e1 f5 48 57 c1 vxorpd %zmm1,%zmm1,%zmm16 ++ +[a-f0-9]+: 62 e1 f5 28 57 c1 vxorpd %ymm1,%ymm1,%ymm16 ++ +[a-f0-9]+: 62 b1 f5 40 57 c9 vxorpd %zmm17,%zmm17,%zmm1 ++ +[a-f0-9]+: 62 b1 f5 20 57 c9 vxorpd %ymm17,%ymm17,%ymm1 ++ +[a-f0-9]+: 62 71 74 4f 57 f9 vxorps %zmm1,%zmm1,%zmm15\{%k7\} ++ +[a-f0-9]+: c5 70 57 f9 vxorps %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 70 57 f9 vxorps %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 70 57 f9 vxorps %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 e1 74 48 57 c1 vxorps %zmm1,%zmm1,%zmm16 ++ +[a-f0-9]+: 62 e1 74 28 57 c1 vxorps %ymm1,%ymm1,%ymm16 ++ +[a-f0-9]+: 62 b1 74 40 57 c9 vxorps %zmm17,%zmm17,%zmm1 ++ +[a-f0-9]+: 62 b1 74 20 57 c9 vxorps %ymm17,%ymm17,%ymm1 ++ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 71 75 4f ef f9 vpxord %zmm1,%zmm1,%zmm15\{%k7\} ++ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 e1 75 48 ef c1 vpxord %zmm1,%zmm1,%zmm16 ++ +[a-f0-9]+: 62 e1 75 28 ef c1 vpxord %ymm1,%ymm1,%ymm16 ++ +[a-f0-9]+: 62 b1 75 40 ef c9 vpxord %zmm17,%zmm17,%zmm1 ++ +[a-f0-9]+: 62 b1 75 20 ef c9 vpxord %ymm17,%ymm17,%ymm1 ++ +[a-f0-9]+: 62 71 f5 4f ef f9 vpxorq %zmm1,%zmm1,%zmm15\{%k7\} ++ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 e1 f5 48 ef c1 vpxorq %zmm1,%zmm1,%zmm16 ++ +[a-f0-9]+: 62 e1 f5 28 ef c1 vpxorq %ymm1,%ymm1,%ymm16 ++ +[a-f0-9]+: 62 b1 f5 40 ef c9 vpxorq %zmm17,%zmm17,%zmm1 ++ +[a-f0-9]+: 62 b1 f5 20 ef c9 vpxorq %ymm17,%ymm17,%ymm1 ++ +[a-f0-9]+: 62 71 75 4f f8 f9 vpsubb %zmm1,%zmm1,%zmm15\{%k7\} ++ +[a-f0-9]+: c5 71 f8 f9 vpsubb %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 f8 f9 vpsubb %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 f8 f9 vpsubb %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 e1 75 48 f8 c1 vpsubb %zmm1,%zmm1,%zmm16 ++ +[a-f0-9]+: 62 e1 75 28 f8 c1 vpsubb %ymm1,%ymm1,%ymm16 ++ +[a-f0-9]+: 62 b1 75 40 f8 c9 vpsubb %zmm17,%zmm17,%zmm1 ++ +[a-f0-9]+: 62 b1 75 20 f8 c9 vpsubb %ymm17,%ymm17,%ymm1 ++ +[a-f0-9]+: 62 71 75 4f f9 f9 vpsubw %zmm1,%zmm1,%zmm15\{%k7\} ++ +[a-f0-9]+: c5 71 f9 f9 vpsubw %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 f9 f9 vpsubw %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 f9 f9 vpsubw %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 e1 75 48 f9 c1 vpsubw %zmm1,%zmm1,%zmm16 ++ +[a-f0-9]+: 62 e1 75 28 f9 c1 vpsubw %ymm1,%ymm1,%ymm16 ++ +[a-f0-9]+: 62 b1 75 40 f9 c9 vpsubw %zmm17,%zmm17,%zmm1 ++ +[a-f0-9]+: 62 b1 75 20 f9 c9 vpsubw %ymm17,%ymm17,%ymm1 ++ +[a-f0-9]+: 62 71 75 4f fa f9 vpsubd %zmm1,%zmm1,%zmm15\{%k7\} ++ +[a-f0-9]+: c5 71 fa f9 vpsubd %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 fa f9 vpsubd %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 fa f9 vpsubd %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 e1 75 48 fa c1 vpsubd %zmm1,%zmm1,%zmm16 ++ +[a-f0-9]+: 62 e1 75 28 fa c1 vpsubd %ymm1,%ymm1,%ymm16 ++ +[a-f0-9]+: 62 b1 75 40 fa c9 vpsubd %zmm17,%zmm17,%zmm1 ++ +[a-f0-9]+: 62 b1 75 20 fa c9 vpsubd %ymm17,%ymm17,%ymm1 ++ +[a-f0-9]+: 62 71 f5 4f fb f9 vpsubq %zmm1,%zmm1,%zmm15\{%k7\} ++ +[a-f0-9]+: c5 71 fb f9 vpsubq %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 fb f9 vpsubq %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: c5 71 fb f9 vpsubq %xmm1,%xmm1,%xmm15 ++ +[a-f0-9]+: 62 e1 f5 48 fb c1 vpsubq %zmm1,%zmm1,%zmm16 ++ +[a-f0-9]+: 62 e1 f5 28 fb c1 vpsubq %ymm1,%ymm1,%ymm16 ++ +[a-f0-9]+: 62 b1 f5 40 fb c9 vpsubq %zmm17,%zmm17,%zmm1 ++ +[a-f0-9]+: 62 b1 f5 20 fb c9 vpsubq %ymm17,%ymm17,%ymm1 ++ +[a-f0-9]+: c5 f9 6f d1 vmovdqa %xmm1,%xmm2 ++ +[a-f0-9]+: c5 f9 6f d1 vmovdqa %xmm1,%xmm2 ++ +[a-f0-9]+: c5 fa 6f d1 vmovdqu %xmm1,%xmm2 ++ +[a-f0-9]+: c5 fa 6f d1 vmovdqu %xmm1,%xmm2 ++ +[a-f0-9]+: c5 fa 6f d1 vmovdqu %xmm1,%xmm2 ++ +[a-f0-9]+: c5 fa 6f d1 vmovdqu %xmm1,%xmm2 ++ +[a-f0-9]+: c4 41 79 6f e3 vmovdqa %xmm11,%xmm12 ++ +[a-f0-9]+: c4 41 79 6f e3 vmovdqa %xmm11,%xmm12 ++ +[a-f0-9]+: c4 41 7a 6f e3 vmovdqu %xmm11,%xmm12 ++ +[a-f0-9]+: c4 41 7a 6f e3 vmovdqu %xmm11,%xmm12 ++ +[a-f0-9]+: c4 41 7a 6f e3 vmovdqu %xmm11,%xmm12 ++ +[a-f0-9]+: c4 41 7a 6f e3 vmovdqu %xmm11,%xmm12 ++ +[a-f0-9]+: c5 f9 6f 50 7f vmovdqa 0x7f\(%rax\),%xmm2 ++ +[a-f0-9]+: c5 f9 6f 50 7f vmovdqa 0x7f\(%rax\),%xmm2 ++ +[a-f0-9]+: c5 fa 6f 50 7f vmovdqu 0x7f\(%rax\),%xmm2 ++ +[a-f0-9]+: c5 fa 6f 50 7f vmovdqu 0x7f\(%rax\),%xmm2 ++ +[a-f0-9]+: c5 fa 6f 50 7f vmovdqu 0x7f\(%rax\),%xmm2 ++ +[a-f0-9]+: c5 fa 6f 50 7f vmovdqu 0x7f\(%rax\),%xmm2 ++ +[a-f0-9]+: 62 f1 7d 08 7f 48 08 vmovdqa32 %xmm1,0x80\(%rax\) ++ +[a-f0-9]+: 62 f1 fd 08 7f 48 08 vmovdqa64 %xmm1,0x80\(%rax\) ++ +[a-f0-9]+: 62 f1 7f 08 7f 48 08 vmovdqu8 %xmm1,0x80\(%rax\) ++ +[a-f0-9]+: 62 f1 ff 08 7f 48 08 vmovdqu16 %xmm1,0x80\(%rax\) ++ +[a-f0-9]+: 62 f1 7e 08 7f 48 08 vmovdqu32 %xmm1,0x80\(%rax\) ++ +[a-f0-9]+: 62 f1 fe 08 7f 48 08 vmovdqu64 %xmm1,0x80\(%rax\) ++ +[a-f0-9]+: c5 fd 6f d1 vmovdqa %ymm1,%ymm2 ++ +[a-f0-9]+: c5 fd 6f d1 vmovdqa %ymm1,%ymm2 ++ +[a-f0-9]+: c5 fe 6f d1 vmovdqu %ymm1,%ymm2 ++ +[a-f0-9]+: c5 fe 6f d1 vmovdqu %ymm1,%ymm2 ++ +[a-f0-9]+: c5 fe 6f d1 vmovdqu %ymm1,%ymm2 ++ +[a-f0-9]+: c5 fe 6f d1 vmovdqu %ymm1,%ymm2 ++ +[a-f0-9]+: c4 41 7d 6f e3 vmovdqa %ymm11,%ymm12 ++ +[a-f0-9]+: c4 41 7d 6f e3 vmovdqa %ymm11,%ymm12 ++ +[a-f0-9]+: c4 41 7e 6f e3 vmovdqu %ymm11,%ymm12 ++ +[a-f0-9]+: c4 41 7e 6f e3 vmovdqu %ymm11,%ymm12 ++ +[a-f0-9]+: c4 41 7e 6f e3 vmovdqu %ymm11,%ymm12 ++ +[a-f0-9]+: c4 41 7e 6f e3 vmovdqu %ymm11,%ymm12 ++ +[a-f0-9]+: c5 fd 6f 50 7f vmovdqa 0x7f\(%rax\),%ymm2 ++ +[a-f0-9]+: c5 fd 6f 50 7f vmovdqa 0x7f\(%rax\),%ymm2 ++ +[a-f0-9]+: c5 fe 6f 50 7f vmovdqu 0x7f\(%rax\),%ymm2 ++ +[a-f0-9]+: c5 fe 6f 50 7f vmovdqu 0x7f\(%rax\),%ymm2 ++ +[a-f0-9]+: c5 fe 6f 50 7f vmovdqu 0x7f\(%rax\),%ymm2 ++ +[a-f0-9]+: c5 fe 6f 50 7f vmovdqu 0x7f\(%rax\),%ymm2 ++ +[a-f0-9]+: 62 f1 7d 28 7f 48 04 vmovdqa32 %ymm1,0x80\(%rax\) ++ +[a-f0-9]+: 62 f1 fd 28 7f 48 04 vmovdqa64 %ymm1,0x80\(%rax\) ++ +[a-f0-9]+: 62 f1 7f 28 7f 48 04 vmovdqu8 %ymm1,0x80\(%rax\) ++ +[a-f0-9]+: 62 f1 ff 28 7f 48 04 vmovdqu16 %ymm1,0x80\(%rax\) ++ +[a-f0-9]+: 62 f1 7e 28 7f 48 04 vmovdqu32 %ymm1,0x80\(%rax\) ++ +[a-f0-9]+: 62 f1 fe 28 7f 48 04 vmovdqu64 %ymm1,0x80\(%rax\) ++ +[a-f0-9]+: 62 f1 7d 48 6f 10 vmovdqa32 \(%rax\),%zmm2 ++ +[a-f0-9]+: c5 .* vpand %xmm2,%xmm3,%xmm4 ++ +[a-f0-9]+: c4 .* vpand %xmm12,%xmm3,%xmm4 ++ +[a-f0-9]+: c5 .* vpandn %xmm2,%xmm13,%xmm4 ++ +[a-f0-9]+: c5 .* vpandn %xmm2,%xmm3,%xmm14 ++ +[a-f0-9]+: c5 .* vpor %xmm2,%xmm3,%xmm4 ++ +[a-f0-9]+: c4 .* vpor %xmm12,%xmm3,%xmm4 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm13,%xmm4 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm3,%xmm14 ++ +[a-f0-9]+: c5 .* vpand %ymm2,%ymm3,%ymm4 ++ +[a-f0-9]+: c4 .* vpand %ymm12,%ymm3,%ymm4 ++ +[a-f0-9]+: c5 .* vpandn %ymm2,%ymm13,%ymm4 ++ +[a-f0-9]+: c5 .* vpandn %ymm2,%ymm3,%ymm14 ++ +[a-f0-9]+: c5 .* vpor %ymm2,%ymm3,%ymm4 ++ +[a-f0-9]+: c4 .* vpor %ymm12,%ymm3,%ymm4 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm13,%ymm4 ++ +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm3,%ymm14 ++ +[a-f0-9]+: c5 .* vpand 0x70\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: c5 .* vpand 0x70\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: c5 .* vpandn 0x70\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: c5 .* vpandn 0x70\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: c5 .* vpor 0x70\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: c5 .* vpor 0x70\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: c5 .* vpxor 0x70\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: c5 .* vpxor 0x70\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: 62 .* vpandd 0x80\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: 62 .* vpandq 0x80\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: 62 .* vpandnd 0x80\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: 62 .* vpandnq 0x80\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: 62 .* vpord 0x80\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: 62 .* vporq 0x80\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: 62 .* vpxord 0x80\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: 62 .* vpxorq 0x80\(%rax\),%xmm2,%xmm3 ++ +[a-f0-9]+: c5 .* vpand 0x60\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: c5 .* vpand 0x60\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: c5 .* vpandn 0x60\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: c5 .* vpandn 0x60\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: c5 .* vpor 0x60\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: c5 .* vpor 0x60\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: c5 .* vpxor 0x60\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: c5 .* vpxor 0x60\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 62 .* vpandd 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 62 .* vpandq 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 62 .* vpandnd 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 62 .* vpandnq 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 62 .* vpord 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 62 .* vporq 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 62 .* vpxord 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 62 .* vpxorq 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm0,%xmm0,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm0,%xmm0,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm0,%xmm0,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpxor %xmm0,%xmm0,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: c4 .* vfnmadd231sd %xmm9,%xmm2,%xmm0 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-3.d binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-3.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-3.d 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-3.d 2024-01-18 13:32:46.391889356 +0000 +@@ -199,4 +199,12 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq \(%rax\)\{1to2\},%xmm2,%xmm3 + +[a-f0-9]+: 62 .* vpxord \(%rax\)\{1to4\},%xmm2,%xmm3 + +[a-f0-9]+: 62 .* vpxorq \(%rax\)\{1to4\},%ymm2,%ymm3 ++ +[a-f0-9]+: 66 .* pcmpeqd %xmm2,%xmm2 ++ +[a-f0-9]+: c5 .* vpcmpeqd %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c5 .* vpcmpeqd %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 66 .* pcmpeqd %xmm12,%xmm12 ++ +[a-f0-9]+: c4 .* vpcmpeqq %xmm12,%xmm12,%xmm0 ++ +[a-f0-9]+: c4 .* vpcmpeqq %ymm12,%ymm12,%ymm0 ++ +[a-f0-9]+: c5 .* vpunpcklqdq %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c4 .* vpbroadcastq %xmm12,%xmm0 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-3.s binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-3.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-3.s 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-3.s 2024-01-18 13:32:46.391889356 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit instructions with optimized encoding + +- .allow_index_reg + .text + _start: + testq $0x7f, %rax +@@ -221,3 +220,14 @@ _start: + vporq (%rax){1to2}, %xmm2, %xmm3 + vpxord (%rax){1to4}, %xmm2, %xmm3 + vpxorq (%rax){1to4}, %ymm2, %ymm3 ++ ++ pcmpeqq %xmm2, %xmm2 ++ vpcmpeqq %xmm2, %xmm2, %xmm0 ++ vpcmpeqq %ymm2, %ymm2, %ymm0 ++ ++ pcmpeqq %xmm12, %xmm12 ++ vpcmpeqq %xmm12, %xmm12, %xmm0 ++ vpcmpeqq %ymm12, %ymm12, %ymm0 ++ ++ vpbroadcastq %xmm2, %xmm0 ++ vpbroadcastq %xmm12, %xmm0 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-3b.d binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-3b.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-3b.d 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-3b.d 2024-01-18 13:32:46.391889356 +0000 +@@ -200,4 +200,12 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq \(%rax\)\{1to2\},%xmm2,%xmm3 + +[a-f0-9]+: 62 .* vpxord \(%rax\)\{1to4\},%xmm2,%xmm3 + +[a-f0-9]+: 62 .* vpxorq \(%rax\)\{1to4\},%ymm2,%ymm3 ++ +[a-f0-9]+: 66 .* pcmpeqq %xmm2,%xmm2 ++ +[a-f0-9]+: c4 .* vpcmpeqq %xmm2,%xmm2,%xmm0 ++ +[a-f0-9]+: c4 .* vpcmpeqq %ymm2,%ymm2,%ymm0 ++ +[a-f0-9]+: 66 .* pcmpeqq %xmm12,%xmm12 ++ +[a-f0-9]+: c4 .* vpcmpeqq %xmm12,%xmm12,%xmm0 ++ +[a-f0-9]+: c4 .* vpcmpeqq %ymm12,%ymm12,%ymm0 ++ +[a-f0-9]+: c4 .* vpbroadcastq %xmm2,%xmm0 ++ +[a-f0-9]+: c4 .* vpbroadcastq %xmm12,%xmm0 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-4.s binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-4.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-4.s 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-4.s 2024-01-18 13:32:46.391889356 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit instructions with optimized encoding + +- .allow_index_reg + .text + _start: + {nooptimize} testl $0x7f, %eax +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-5.d binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-5.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-5.d 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-5.d 2024-01-18 13:32:46.391889356 +0000 +@@ -203,6 +203,26 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxord 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxorq 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: c4 .* vfnmadd231sd %xmm9,%xmm2,%xmm0 + +[a-f0-9]+: 62 f1 f5 08 55 e9 \{evex\} vandnpd %xmm1,%xmm1,%xmm5 + +[a-f0-9]+: 62 f1 f5 08 55 e9 \{evex\} vandnpd %xmm1,%xmm1,%xmm5 + +[a-f0-9]+: 62 f1 7d 28 6f d1 vmovdqa32 %ymm1,%ymm2 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-6.d binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-6.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-6.d 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-6.d 2024-01-18 13:32:46.391889356 +0000 +@@ -203,6 +203,26 @@ Disassembly of section .text: + +[a-f0-9]+: 62 .* vporq 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxord 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 62 .* vpxorq 0x80\(%rax\),%ymm2,%ymm3 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 0f .* pxor %mm2,%mm2 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 ++ +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 ++ +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 ++ +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 ++ +[a-f0-9]+: c4 .* vfnmadd231sd %xmm9,%xmm2,%xmm0 + +[a-f0-9]+: 62 f1 f5 08 55 e9 \{evex\} vandnpd %xmm1,%xmm1,%xmm5 + +[a-f0-9]+: 62 f1 f5 08 55 e9 \{evex\} vandnpd %xmm1,%xmm1,%xmm5 + +[a-f0-9]+: 62 f1 7d 28 6f d1 vmovdqa32 %ymm1,%ymm2 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-7.s binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-7.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-7.s 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-7.s 2024-01-18 13:32:46.391889356 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit instructions with optimized encoding + +- .allow_index_reg + .text + _start: + vandnpd %zmm1, %zmm1, %zmm15{%k7} +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-7a.l binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-7a.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-7a.l 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-7a.l 2024-01-18 13:32:46.391889356 +0000 +@@ -1,52 +1,52 @@ + .*: Assembler messages: ++.*:5: Error: .* + .*:6: Error: .* + .*:7: Error: .* + .*:8: Error: .* +-.*:9: Error: .* ++.*:10: Error: .* + .*:11: Error: .* + .*:12: Error: .* + .*:13: Error: .* +-.*:14: Error: .* ++.*:15: Error: .* + .*:16: Error: .* + .*:17: Error: .* + .*:18: Error: .* +-.*:19: Error: .* ++.*:20: Error: .* + .*:21: Error: .* + .*:22: Error: .* + .*:23: Error: .* +-.*:24: Error: .* ++.*:25: Error: .* + .*:26: Error: .* + .*:27: Error: .* + .*:28: Error: .* +-.*:29: Error: .* ++.*:30: Error: .* + .*:31: Error: .* + .*:32: Error: .* + .*:33: Error: .* +-.*:34: Error: .* ++.*:35: Error: .* + .*:36: Error: .* + .*:37: Error: .* + .*:38: Error: .* +-.*:39: Error: .* ++.*:40: Error: .* + .*:41: Error: .* + .*:42: Error: .* + .*:43: Error: .* +-.*:44: Error: .* ++.*:45: Error: .* + .*:46: Error: .* + .*:47: Error: .* + .*:48: Error: .* +-.*:49: Error: .* ++.*:50: Error: .* + .*:51: Error: .* + .*:52: Error: .* + .*:53: Error: .* +-.*:54: Error: .* ++.*:55: Error: .* + .*:56: Error: .* + .*:57: Error: .* + .*:58: Error: .* +-.*:59: Error: .* ++.*:60: Error: .* + .*:61: Error: .* + .*:62: Error: .* + .*:63: Error: .* +-.*:64: Error: .* + GAS LISTING .* + + +@@ -55,69 +55,68 @@ GAS LISTING .* + [ ]*3[ ]+\.include "x86-64-optimize-7\.s" + [ ]*1[ ]+\# Check 64bit instructions with optimized encoding + [ ]*2[ ]+ +-[ ]*3[ ]+\.allow_index_reg +-[ ]*4[ ]+\.text +-[ ]*5[ ]+_start: +-[ ]*6[ ]+vandnpd %zmm1, %zmm1, %zmm15\{%k7\} +-[ ]*7[ ]+vandnpd %zmm1, %zmm1, %zmm15 +-[ ]*8[ ]+vandnpd %zmm1, %zmm1, %zmm16 +-[ ]*9[ ]+vandnpd %zmm17, %zmm17, %zmm1 +-[ ]*10[ ]+ +-[ ]*11[ ]+vandnps %zmm1, %zmm1, %zmm15\{%k7\} +-[ ]*12[ ]+vandnps %zmm1, %zmm1, %zmm15 +-[ ]*13[ ]+vandnps %zmm1, %zmm1, %zmm16 +-[ ]*14[ ]+vandnps %zmm17, %zmm17, %zmm1 +-[ ]*15[ ]+ +-[ ]*16[ ]+vpandnd %zmm1, %zmm1, %zmm15\{%k7\} +-[ ]*17[ ]+vpandnd %zmm1, %zmm1, %zmm15 +-[ ]*18[ ]+vpandnd %zmm1, %zmm1, %zmm16 +-[ ]*19[ ]+vpandnd %zmm17, %zmm17, %zmm1 +-[ ]*20[ ]+ +-[ ]*21[ ]+vpandnq %zmm1, %zmm1, %zmm15\{%k7\} +-[ ]*22[ ]+vpandnq %zmm1, %zmm1, %zmm15 +-[ ]*23[ ]+vpandnq %zmm1, %zmm1, %zmm16 +-[ ]*24[ ]+vpandnq %zmm17, %zmm17, %zmm1 +-[ ]*25[ ]+ +-[ ]*26[ ]+vxorpd %zmm1, %zmm1, %zmm15\{%k7\} +-[ ]*27[ ]+vxorpd %zmm1, %zmm1, %zmm15 +-[ ]*28[ ]+vxorpd %zmm1, %zmm1, %zmm16 +-[ ]*29[ ]+vxorpd %zmm17, %zmm17, %zmm1 +-[ ]*30[ ]+ +-[ ]*31[ ]+vxorps %zmm1, %zmm1, %zmm15\{%k7\} +-[ ]*32[ ]+vxorps %zmm1, %zmm1, %zmm15 +-[ ]*33[ ]+vxorps %zmm1, %zmm1, %zmm16 +-[ ]*34[ ]+vxorps %zmm17, %zmm17, %zmm1 +-[ ]*35[ ]+ +-[ ]*36[ ]+vpxord %zmm1, %zmm1, %zmm15\{%k7\} +-[ ]*37[ ]+vpxord %zmm1, %zmm1, %zmm15 +-[ ]*38[ ]+vpxord %zmm1, %zmm1, %zmm16 +-[ ]*39[ ]+vpxord %zmm17, %zmm17, %zmm1 +-[ ]*40[ ]+ +-[ ]*41[ ]+vpxorq %zmm1, %zmm1, %zmm15\{%k7\} +-[ ]*42[ ]+vpxorq %zmm1, %zmm1, %zmm15 +-[ ]*43[ ]+vpxorq %zmm1, %zmm1, %zmm16 +-[ ]*44[ ]+vpxorq %zmm17, %zmm17, %zmm1 +-[ ]*45[ ]+ +-[ ]*46[ ]+vpsubb %zmm1, %zmm1, %zmm15\{%k7\} +-[ ]*47[ ]+vpsubb %zmm1, %zmm1, %zmm15 +-[ ]*48[ ]+vpsubb %zmm1, %zmm1, %zmm16 +-[ ]*49[ ]+vpsubb %zmm17, %zmm17, %zmm1 +-[ ]*50[ ]+ +-[ ]*51[ ]+vpsubw %zmm1, %zmm1, %zmm15\{%k7\} +-[ ]*52[ ]+vpsubw %zmm1, %zmm1, %zmm15 +-[ ]*53[ ]+vpsubw %zmm1, %zmm1, %zmm16 +-[ ]*54[ ]+vpsubw %zmm17, %zmm17, %zmm1 ++[ ]*3[ ]+\.text ++[ ]*4[ ]+_start: ++[ ]*5[ ]+vandnpd %zmm1, %zmm1, %zmm15\{%k7\} ++[ ]*6[ ]+vandnpd %zmm1, %zmm1, %zmm15 ++[ ]*7[ ]+vandnpd %zmm1, %zmm1, %zmm16 ++[ ]*8[ ]+vandnpd %zmm17, %zmm17, %zmm1 ++[ ]*9[ ]+ ++[ ]*10[ ]+vandnps %zmm1, %zmm1, %zmm15\{%k7\} ++[ ]*11[ ]+vandnps %zmm1, %zmm1, %zmm15 ++[ ]*12[ ]+vandnps %zmm1, %zmm1, %zmm16 ++[ ]*13[ ]+vandnps %zmm17, %zmm17, %zmm1 ++[ ]*14[ ]+ ++[ ]*15[ ]+vpandnd %zmm1, %zmm1, %zmm15\{%k7\} ++[ ]*16[ ]+vpandnd %zmm1, %zmm1, %zmm15 ++[ ]*17[ ]+vpandnd %zmm1, %zmm1, %zmm16 ++[ ]*18[ ]+vpandnd %zmm17, %zmm17, %zmm1 ++[ ]*19[ ]+ ++[ ]*20[ ]+vpandnq %zmm1, %zmm1, %zmm15\{%k7\} ++[ ]*21[ ]+vpandnq %zmm1, %zmm1, %zmm15 ++[ ]*22[ ]+vpandnq %zmm1, %zmm1, %zmm16 ++[ ]*23[ ]+vpandnq %zmm17, %zmm17, %zmm1 ++[ ]*24[ ]+ ++[ ]*25[ ]+vxorpd %zmm1, %zmm1, %zmm15\{%k7\} ++[ ]*26[ ]+vxorpd %zmm1, %zmm1, %zmm15 ++[ ]*27[ ]+vxorpd %zmm1, %zmm1, %zmm16 ++[ ]*28[ ]+vxorpd %zmm17, %zmm17, %zmm1 ++[ ]*29[ ]+ ++[ ]*30[ ]+vxorps %zmm1, %zmm1, %zmm15\{%k7\} ++[ ]*31[ ]+vxorps %zmm1, %zmm1, %zmm15 ++[ ]*32[ ]+vxorps %zmm1, %zmm1, %zmm16 ++[ ]*33[ ]+vxorps %zmm17, %zmm17, %zmm1 ++[ ]*34[ ]+ ++[ ]*35[ ]+vpxord %zmm1, %zmm1, %zmm15\{%k7\} ++[ ]*36[ ]+vpxord %zmm1, %zmm1, %zmm15 ++[ ]*37[ ]+vpxord %zmm1, %zmm1, %zmm16 ++[ ]*38[ ]+vpxord %zmm17, %zmm17, %zmm1 ++[ ]*39[ ]+ ++[ ]*40[ ]+vpxorq %zmm1, %zmm1, %zmm15\{%k7\} ++[ ]*41[ ]+vpxorq %zmm1, %zmm1, %zmm15 ++[ ]*42[ ]+vpxorq %zmm1, %zmm1, %zmm16 ++[ ]*43[ ]+vpxorq %zmm17, %zmm17, %zmm1 ++[ ]*44[ ]+ ++[ ]*45[ ]+vpsubb %zmm1, %zmm1, %zmm15\{%k7\} ++[ ]*46[ ]+vpsubb %zmm1, %zmm1, %zmm15 ++[ ]*47[ ]+vpsubb %zmm1, %zmm1, %zmm16 ++[ ]*48[ ]+vpsubb %zmm17, %zmm17, %zmm1 ++[ ]*49[ ]+ ++[ ]*50[ ]+vpsubw %zmm1, %zmm1, %zmm15\{%k7\} ++[ ]*51[ ]+vpsubw %zmm1, %zmm1, %zmm15 ++[ ]*52[ ]+vpsubw %zmm1, %zmm1, %zmm16 ++[ ]*53[ ]+vpsubw %zmm17, %zmm17, %zmm1 ++[ ]*54[ ]+ + GAS LISTING .* + + +-[ ]*55[ ]+ +-[ ]*56[ ]+vpsubd %zmm1, %zmm1, %zmm15\{%k7\} +-[ ]*57[ ]+vpsubd %zmm1, %zmm1, %zmm15 +-[ ]*58[ ]+vpsubd %zmm1, %zmm1, %zmm16 +-[ ]*59[ ]+vpsubd %zmm17, %zmm17, %zmm1 +-[ ]*60[ ]+ +-[ ]*61[ ]+vpsubq %zmm1, %zmm1, %zmm15\{%k7\} +-[ ]*62[ ]+vpsubq %zmm1, %zmm1, %zmm15 +-[ ]*63[ ]+vpsubq %zmm1, %zmm1, %zmm16 +-[ ]*64[ ]+vpsubq %zmm17, %zmm17, %zmm1 ++[ ]*55[ ]+vpsubd %zmm1, %zmm1, %zmm15\{%k7\} ++[ ]*56[ ]+vpsubd %zmm1, %zmm1, %zmm15 ++[ ]*57[ ]+vpsubd %zmm1, %zmm1, %zmm16 ++[ ]*58[ ]+vpsubd %zmm17, %zmm17, %zmm1 ++[ ]*59[ ]+ ++[ ]*60[ ]+vpsubq %zmm1, %zmm1, %zmm15\{%k7\} ++[ ]*61[ ]+vpsubq %zmm1, %zmm1, %zmm15 ++[ ]*62[ ]+vpsubq %zmm1, %zmm1, %zmm16 ++[ ]*63[ ]+vpsubq %zmm17, %zmm17, %zmm1 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-8.l binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-8.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-8.l 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-8.l 2024-01-18 13:32:46.392889356 +0000 +@@ -1,12 +1,11 @@ + .*: Assembler messages: +-.*:6: Error: .* ++.*:5: Error: .* + GAS LISTING .* + + + [ ]*1[ ]+\# Check 64bit instructions with optimized encoding + [ ]*2[ ]+ +-[ ]*3[ ]+\.allow_index_reg +-[ ]*4[ ]+\.text +-[ ]*5[ ]+_start: +-[ ]*6[ ]+vmovdqa32 %ymm1, %ymm2 ++[ ]*3[ ]+\.text ++[ ]*4[ ]+_start: ++[ ]*5[ ]+vmovdqa32 %ymm1, %ymm2 + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-8.s binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-8.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-optimize-8.s 2024-01-18 12:12:23.834946094 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-optimize-8.s 2024-01-18 13:32:46.392889356 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit instructions with optimized encoding + +- .allow_index_reg + .text + _start: + vmovdqa32 %ymm1, %ymm2 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-opts.s binutils-2.41/gas/testsuite/gas/i386/x86-64-opts.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-opts.s 2024-01-18 12:12:23.835946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-opts.s 2024-01-18 13:32:46.392889356 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit instructions with encoding options + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-pbndkb-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-pbndkb-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-pbndkb-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-pbndkb-intel.d 2024-01-18 13:32:46.392889356 +0000 +@@ -0,0 +1,12 @@ ++#objdump: -dw -Mintel ++#name: x86_64 PBNDKB insns (Intel disassembly) ++#source: x86-64-pbndkb.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*0f 01 c7\s+pbndkb ++\s*[a-f0-9]+:\s*0f 01 c7\s+pbndkb ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-pbndkb.d binutils-2.41/gas/testsuite/gas/i386/x86-64-pbndkb.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-pbndkb.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-pbndkb.d 2024-01-18 13:32:46.392889356 +0000 +@@ -0,0 +1,12 @@ ++#objdump: -dw ++#name: x86_64 PBNDKB insns ++#source: x86-64-pbndkb.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*0f 01 c7\s+pbndkb ++\s*[a-f0-9]+:\s*0f 01 c7\s+pbndkb ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-pbndkb.s binutils-2.41/gas/testsuite/gas/i386/x86-64-pbndkb.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-pbndkb.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-pbndkb.s 2024-01-18 13:32:46.392889356 +0000 +@@ -0,0 +1,8 @@ ++# Check 64bit PBNDKB instructions ++ ++ .text ++_start: ++ pbndkb #PBNDKB ++ ++ .intel_syntax noprefix ++ pbndkb #PBNDKB +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchi-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchi-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchi-intel.d 2024-01-18 12:12:23.835946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchi-intel.d 2024-01-18 13:32:46.392889356 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: x86-64 PREFETCHI insns (Intel disassembly) + #source: x86-64-prefetchi.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchi-warn.s binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchi-warn.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchi-warn.s 2024-01-18 12:12:23.835946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchi-warn.s 2024-01-18 13:32:46.392889356 +0000 +@@ -1,6 +1,5 @@ + # Check error for ICACHE-PREFETCH 64-bit instruction + +- .allow_index_reg + .text + _start: + prefetchit0 0x12345678(%rax) +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchi.d binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchi.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchi.d 2024-01-18 12:12:23.835946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchi.d 2024-01-18 13:32:46.392889356 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86-64 PREFETCHI insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchi.s binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchi.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchi.s 2024-01-18 12:12:23.835946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchi.s 2024-01-18 13:32:46.392889356 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit PREFETCHI instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchwt1-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchwt1-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchwt1-intel.d 2024-01-18 12:12:23.835946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchwt1-intel.d 2024-01-18 13:32:46.392889356 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: x86_64 PREFETCHWT1 insns (Intel disassembly) + #source: x86-64-prefetchwt1.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchwt1.d binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchwt1.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchwt1.d 2024-01-18 12:12:23.835946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchwt1.d 2024-01-18 13:32:46.392889356 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 PREFETCHWT1 insns + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchwt1.s binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchwt1.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-prefetchwt1.s 2024-01-18 12:12:23.835946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-prefetchwt1.s 2024-01-18 13:32:46.392889356 +0000 +@@ -1,6 +1,5 @@ +-# Check 64bit AVX512PF instructions ++# Check 64bit PREFETCHWT1 instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-pseudos-bad.l binutils-2.41/gas/testsuite/gas/i386/x86-64-pseudos-bad.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-pseudos-bad.l 2024-01-18 12:12:23.836946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-pseudos-bad.l 2024-01-18 13:32:46.392889356 +0000 +@@ -1,6 +1,71 @@ + .*: Assembler messages: +-.*:3: Error: .*`vmovaps'.* +-.*:4: Error: .*`vmovaps'.* +-.*:5: Error: .*`vmovaps'.* +-.*:6: Error: .*`vmovaps'.* +-.*:7: Error: .*`rorx'.* ++.*:[0-9]+: Error: .*`vmovaps'.* ++.*:[0-9]+: Error: .*`vmovaps'.* ++.*:[0-9]+: Error: .*`vmovaps'.* ++.*:[0-9]+: Error: .*`vmovaps'.* ++.*:[0-9]+: Error: .*`rorx'.* ++.*:[0-9]+: Error: .*`vmovaps'.* ++.*:[0-9]+: Error: .*`xsave'.* ++.*:[0-9]+: Error: .*`xsaves'.* ++.*:[0-9]+: Error: .*`xsaves64'.* ++.*:[0-9]+: Error: .*`xsavec'.* ++.*:[0-9]+: Error: .*`xrstors'.* ++.*:[0-9]+: Error: .*`xrstors64'.* ++.*:[0-9]+: Error: .*`mov'.* ++.*:[0-9]+: Error: .*`movabs'.* ++.*:[0-9]+: Error: .*`cmps'.* ++.*:[0-9]+: Error: .*`lods'.* ++.*:[0-9]+: Error: .*`lods'.* ++.*:[0-9]+: Error: .*`lods'.* ++.*:[0-9]+: Error: .*`movs'.* ++.*:[0-9]+: Error: .*`movs'.* ++.*:[0-9]+: Error: .*`scas'.* ++.*:[0-9]+: Error: .*`scas'.* ++.*:[0-9]+: Error: .*`scas'.* ++.*:[0-9]+: Error: .*`stos'.* ++.*:[0-9]+: Error: .*`stos'.* ++.*:[0-9]+: Error: .*`stos'.* ++.*:[0-9]+: Error: .*`jo'.* ++.*:[0-9]+: Error: .*`jno'.* ++.*:[0-9]+: Error: .*`jb'.* ++.*:[0-9]+: Error: .*`jae'.* ++.*:[0-9]+: Error: .*`je'.* ++.*:[0-9]+: Error: .*`jne'.* ++.*:[0-9]+: Error: .*`jbe'.* ++.*:[0-9]+: Error: .*`ja'.* ++.*:[0-9]+: Error: .*`js'.* ++.*:[0-9]+: Error: .*`jns'.* ++.*:[0-9]+: Error: .*`jp'.* ++.*:[0-9]+: Error: .*`jnp'.* ++.*:[0-9]+: Error: .*`jl'.* ++.*:[0-9]+: Error: .*`jge'.* ++.*:[0-9]+: Error: .*`jle'.* ++.*:[0-9]+: Error: .*`jg'.* ++.*:[0-9]+: Error: .*`jo'.* ++.*:[0-9]+: Error: .*`jno'.* ++.*:[0-9]+: Error: .*`jb'.* ++.*:[0-9]+: Error: .*`jae'.* ++.*:[0-9]+: Error: .*`je'.* ++.*:[0-9]+: Error: .*`jne'.* ++.*:[0-9]+: Error: .*`jbe'.* ++.*:[0-9]+: Error: .*`ja'.* ++.*:[0-9]+: Error: .*`js'.* ++.*:[0-9]+: Error: .*`jns'.* ++.*:[0-9]+: Error: .*`jp'.* ++.*:[0-9]+: Error: .*`jnp'.* ++.*:[0-9]+: Error: .*`jl'.* ++.*:[0-9]+: Error: .*`jge'.* ++.*:[0-9]+: Error: .*`jle'.* ++.*:[0-9]+: Error: .*`jg'.* ++.*:[0-9]+: Error: .*`in'.* ++.*:[0-9]+: Error: .*`in'.* ++.*:[0-9]+: Error: .*`out'.* ++.*:[0-9]+: Error: .*`out'.* ++.*:[0-9]+: Error: .*`jmp'.* ++.*:[0-9]+: Error: .*`loop'.* ++.*:[0-9]+: Error: .*`wrmsr'.* ++.*:[0-9]+: Error: .*`rdtsc'.* ++.*:[0-9]+: Error: .*`rdmsr'.* ++.*:[0-9]+: Error: .*`sysenter'.* ++.*:[0-9]+: Error: .*`sysexit'.* ++.*:[0-9]+: Error: .*`rdpmc'.* +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-pseudos-bad.s binutils-2.41/gas/testsuite/gas/i386/x86-64-pseudos-bad.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-pseudos-bad.s 2024-01-18 12:12:23.836946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-pseudos-bad.s 2024-01-18 13:32:46.392889356 +0000 +@@ -5,3 +5,77 @@ pseudos: + {rex} vmovaps %xmm7,%xmm2 + {rex} vmovaps %xmm17,%xmm2 + {rex} rorx $7,%eax,%ebx ++ {rex2} vmovaps %xmm7,%xmm2 ++ {rex2} xsave (%rax) ++ {rex2} xsaves (%ecx) ++ {rex2} xsaves64 (%ecx) ++ {rex2} xsavec (%ecx) ++ {rex2} xrstors (%ecx) ++ {rex2} xrstors64 (%ecx) ++ ++ #All opcodes in the row 0xA* (map0) prefixed REX2 are illegal. ++ #{rex2} test (0xa8) is a special case, it will remap to test (0xf6) ++ {rex2} mov 0x90909090,%al ++ {rex2} movabs 0x1,%al ++ {rex2} cmpsb %es:(%edi),%ds:(%esi) ++ {rex2} lodsb ++ {rex2} lods %ds:(%esi),%al ++ {rex2} lodsb (%esi) ++ {rex2} movs ++ {rex2} movs (%esi), (%edi) ++ {rex2} scasl ++ {rex2} scas %es:(%edi),%eax ++ {rex2} scasb (%edi) ++ {rex2} stosb ++ {rex2} stosb (%edi) ++ {rex2} stos %eax,%es:(%edi) ++ ++ #All opcodes in the row 0x7* (map0) and 0x8* (map1) prefixed REX2 are illegal. ++ {rex2} jo .+2-0x70 ++ {rex2} jno .+2-0x70 ++ {rex2} jb .+2-0x70 ++ {rex2} jae .+2-0x70 ++ {rex2} je .+2-0x70 ++ {rex2} jne .+2-0x70 ++ {rex2} jbe .+2-0x70 ++ {rex2} ja .+2-0x70 ++ {rex2} js .+2-0x70 ++ {rex2} jns .+2-0x70 ++ {rex2} jp .+2-0x70 ++ {rex2} jnp .+2-0x70 ++ {rex2} jl .+2-0x70 ++ {rex2} jge .+2-0x70 ++ {rex2} jle .+2-0x70 ++ {rex2} jg .+2-0x70 ++ {rex2} jo .+6+0x90909090 ++ {rex2} jno .+6+0x90909090 ++ {rex2} jb .+6+0x90909090 ++ {rex2} jae .+6+0x90909090 ++ {rex2} je .+6+0x90909090 ++ {rex2} jne .+6+0x90909090 ++ {rex2} jbe .+6+0x90909090 ++ {rex2} ja .+6+0x90909090 ++ {rex2} js .+6+0x90909090 ++ {rex2} jns .+6+0x90909090 ++ {rex2} jp .+6+0x90909090 ++ {rex2} jnp .+6+0x90909090 ++ {rex2} jl .+6+0x90909090 ++ {rex2} jge .+6+0x90909090 ++ {rex2} jle .+6+0x90909090 ++ {rex2} jg .+6+0x90909090 ++ ++ #All opcodes in the row 0xE* (map0) prefixed REX2 are illegal. ++ {rex2} in $0x90,%al ++ {rex2} in $0x90 ++ {rex2} out $0x90,%al ++ {rex2} out $0x90 ++ {rex2} jmp *%eax ++ {rex2} loop foo ++ ++ #All opcodes in the row 0x3* (map1) prefixed REX2 are illegal. ++ {rex2} wrmsr ++ {rex2} rdtsc ++ {rex2} rdmsr ++ {rex2} sysenter ++ {rex2} sysexitl ++ {rex2} rdpmc +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-pseudos.d binutils-2.41/gas/testsuite/gas/i386/x86-64-pseudos.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-pseudos.d 2024-01-18 12:12:23.836946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-pseudos.d 2024-01-18 13:32:46.392889356 +0000 +@@ -137,6 +137,48 @@ Disassembly of section .text: + +[a-f0-9]+: 33 07 xor \(%rdi\),%eax + +[a-f0-9]+: 31 07 xor %eax,\(%rdi\) + +[a-f0-9]+: 33 07 xor \(%rdi\),%eax ++ +[a-f0-9]+: 62 44 fc 10 01 38 add %r31,\(%r8\),%r16 ++ +[a-f0-9]+: 62 44 fc 10 03 38 add \(%r8\),%r31,%r16 ++ +[a-f0-9]+: 62 44 fc 10 01 38 add %r31,\(%r8\),%r16 ++ +[a-f0-9]+: 62 44 fc 10 03 38 add \(%r8\),%r31,%r16 ++ +[a-f0-9]+: 62 54 6c 10 29 38 sub %r15d,\(%r8\),%r18d ++ +[a-f0-9]+: 62 54 6c 10 2b 38 sub \(%r8\),%r15d,%r18d ++ +[a-f0-9]+: 62 54 6c 10 29 38 sub %r15d,\(%r8\),%r18d ++ +[a-f0-9]+: 62 54 6c 10 2b 38 sub \(%r8\),%r15d,%r18d ++ +[a-f0-9]+: 62 54 6c 10 19 38 sbb %r15d,\(%r8\),%r18d ++ +[a-f0-9]+: 62 54 6c 10 1b 38 sbb \(%r8\),%r15d,%r18d ++ +[a-f0-9]+: 62 54 6c 10 19 38 sbb %r15d,\(%r8\),%r18d ++ +[a-f0-9]+: 62 54 6c 10 1b 38 sbb \(%r8\),%r15d,%r18d ++ +[a-f0-9]+: 62 54 6c 10 21 38 and %r15d,\(%r8\),%r18d ++ +[a-f0-9]+: 62 54 6c 10 23 38 and \(%r8\),%r15d,%r18d ++ +[a-f0-9]+: 62 54 6c 10 21 38 and %r15d,\(%r8\),%r18d ++ +[a-f0-9]+: 62 54 6c 10 23 38 and \(%r8\),%r15d,%r18d ++ +[a-f0-9]+: 62 54 6c 10 09 38 or %r15d,\(%r8\),%r18d ++ +[a-f0-9]+: 62 54 6c 10 0b 38 or \(%r8\),%r15d,%r18d ++ +[a-f0-9]+: 62 54 6c 10 09 38 or %r15d,\(%r8\),%r18d ++ +[a-f0-9]+: 62 54 6c 10 0b 38 or \(%r8\),%r15d,%r18d ++ +[a-f0-9]+: 62 54 6c 10 31 38 xor %r15d,\(%r8\),%r18d ++ +[a-f0-9]+: 62 54 6c 10 33 38 xor \(%r8\),%r15d,%r18d ++ +[a-f0-9]+: 62 54 6c 10 31 38 xor %r15d,\(%r8\),%r18d ++ +[a-f0-9]+: 62 54 6c 10 33 38 xor \(%r8\),%r15d,%r18d ++ +[a-f0-9]+: 62 54 6c 10 11 38 adc %r15d,\(%r8\),%r18d ++ +[a-f0-9]+: 62 54 6c 10 13 38 adc \(%r8\),%r15d,%r18d ++ +[a-f0-9]+: 62 54 6c 10 11 38 adc %r15d,\(%r8\),%r18d ++ +[a-f0-9]+: 62 54 6c 10 13 38 adc \(%r8\),%r15d,%r18d ++ +[a-f0-9]+: 62 44 fc 10 01 f8 add %r31,%r8,%r16 ++ +[a-f0-9]+: 62 5c fc 10 03 c7 add %r31,%r8,%r16 ++ +[a-f0-9]+: 62 7c 6c 10 28 f9 sub %r15b,%r17b,%r18b ++ +[a-f0-9]+: 62 c4 6c 10 2a cf sub %r15b,%r17b,%r18b ++ +[a-f0-9]+: 62 7c 6c 10 18 f9 sbb %r15b,%r17b,%r18b ++ +[a-f0-9]+: 62 c4 6c 10 1a cf sbb %r15b,%r17b,%r18b ++ +[a-f0-9]+: 62 7c 6c 10 20 f9 and %r15b,%r17b,%r18b ++ +[a-f0-9]+: 62 c4 6c 10 22 cf and %r15b,%r17b,%r18b ++ +[a-f0-9]+: 62 7c 6c 10 08 f9 or %r15b,%r17b,%r18b ++ +[a-f0-9]+: 62 c4 6c 10 0a cf or %r15b,%r17b,%r18b ++ +[a-f0-9]+: 62 7c 6c 10 30 f9 xor %r15b,%r17b,%r18b ++ +[a-f0-9]+: 62 c4 6c 10 32 cf xor %r15b,%r17b,%r18b ++ +[a-f0-9]+: 62 7c 6c 10 10 f9 adc %r15b,%r17b,%r18b ++ +[a-f0-9]+: 62 c4 6c 10 12 cf adc %r15b,%r17b,%r18b + +[a-f0-9]+: b0 12 mov \$0x12,%al + +[a-f0-9]+: b8 45 03 00 00 mov \$0x345,%eax + +[a-f0-9]+: b0 12 mov \$0x12,%al +@@ -404,6 +446,18 @@ Disassembly of section .text: + +[a-f0-9]+: 41 0f 28 10 movaps \(%r8\),%xmm2 + +[a-f0-9]+: 40 0f 38 01 01 rex phaddw \(%rcx\),%mm0 + +[a-f0-9]+: 41 0f 38 01 00 phaddw \(%r8\),%mm0 ++ +[a-f0-9]+: 88 c4 mov %al,%ah ++ +[a-f0-9]+: d5 00 d3 e0 {rex2 0x0} shl %cl,%eax ++ +[a-f0-9]+: d5 00 38 ca {rex2 0x0} cmp %cl,%dl ++ +[a-f0-9]+: d5 00 b3 01 {rex2 0x0} mov \$(0x)?1,%bl ++ +[a-f0-9]+: d5 00 89 c3 {rex2 0x0} mov %eax,%ebx ++ +[a-f0-9]+: d5 01 89 c6 {rex2 0x1} mov %eax,%r14d ++ +[a-f0-9]+: d5 01 89 00 {rex2 0x1} mov %eax,\(%r8\) ++ +[a-f0-9]+: d5 80 28 d7 {rex2 0x80} movaps %xmm7,%xmm2 ++ +[a-f0-9]+: d5 84 28 e7 {rex2 0x84} movaps %xmm7,%xmm12 ++ +[a-f0-9]+: d5 80 28 11 {rex2 0x80} movaps \(%rcx\),%xmm2 ++ +[a-f0-9]+: d5 81 28 10 {rex2 0x81} movaps \(%r8\),%xmm2 ++ +[a-f0-9]+: d5 80 d5 f0 {rex2 0x80} pmullw %mm0,%mm6 + +[a-f0-9]+: 8a 45 00 mov 0x0\(%rbp\),%al + +[a-f0-9]+: 8a 45 00 mov 0x0\(%rbp\),%al + +[a-f0-9]+: 8a 85 00 00 00 00 mov 0x0\(%rbp\),%al +@@ -458,6 +512,15 @@ Disassembly of section .text: + +[a-f0-9]+: 41 0f 28 10 movaps \(%r8\),%xmm2 + +[a-f0-9]+: 40 0f 38 01 01 rex phaddw \(%rcx\),%mm0 + +[a-f0-9]+: 41 0f 38 01 00 phaddw \(%r8\),%mm0 ++ +[a-f0-9]+: 88 c4 mov %al,%ah ++ +[a-f0-9]+: d5 00 89 c3 {rex2 0x0} mov %eax,%ebx ++ +[a-f0-9]+: d5 01 89 c6 {rex2 0x1} mov %eax,%r14d ++ +[a-f0-9]+: d5 01 89 00 {rex2 0x1} mov %eax,\(%r8\) ++ +[a-f0-9]+: d5 80 28 d7 {rex2 0x80} movaps %xmm7,%xmm2 ++ +[a-f0-9]+: d5 84 28 e7 {rex2 0x84} movaps %xmm7,%xmm12 ++ +[a-f0-9]+: d5 80 28 11 {rex2 0x80} movaps \(%rcx\),%xmm2 ++ +[a-f0-9]+: d5 81 28 10 {rex2 0x81} movaps \(%r8\),%xmm2 ++ +[a-f0-9]+: d5 80 d5 f0 {rex2 0x80} pmullw %mm0,%mm6 + +[a-f0-9]+: 8a 45 00 mov 0x0\(%rbp\),%al + +[a-f0-9]+: 8a 45 00 mov 0x0\(%rbp\),%al + +[a-f0-9]+: 8a 85 00 00 00 00 mov 0x0\(%rbp\),%al +@@ -470,4 +533,5 @@ Disassembly of section .text: + +[a-f0-9]+: 41 8a 45 00 mov 0x0\(%r13\),%al + +[a-f0-9]+: 67 41 8a 45 00 mov 0x0\(%r13d\),%al + +[a-f0-9]+: 67 41 8a 85 00 00 00 00 mov 0x0\(%r13d\),%al ++ +[a-f0-9]+: 40 8a c1 rex mov %cl,%al + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-pseudos.s binutils-2.41/gas/testsuite/gas/i386/x86-64-pseudos.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-pseudos.s 2024-01-18 12:12:23.836946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-pseudos.s 2024-01-18 13:32:46.392889356 +0000 +@@ -134,6 +134,49 @@ _start: + {load} xor (%rdi), %eax + {store} xor %eax, (%rdi) + {store} xor (%rdi), %eax ++ {load} add %r31,(%r8),%r16 ++ {load} add (%r8),%r31,%r16 ++ {store} add %r31,(%r8),%r16 ++ {store} add (%r8),%r31,%r16 ++ {load} sub %r15d,(%r8),%r18d ++ {load} sub (%r8),%r15d,%r18d ++ {store} sub %r15d,(%r8),%r18d ++ {store} sub (%r8),%r15d,%r18d ++ {load} sbb %r15d,(%r8),%r18d ++ {load} sbb (%r8),%r15d,%r18d ++ {store} sbb %r15d,(%r8),%r18d ++ {store} sbb (%r8),%r15d,%r18d ++ {load} and %r15d,(%r8),%r18d ++ {load} and (%r8),%r15d,%r18d ++ {store} and %r15d,(%r8),%r18d ++ {store} and (%r8),%r15d,%r18d ++ {load} or %r15d,(%r8),%r18d ++ {load} or (%r8),%r15d,%r18d ++ {store} or %r15d,(%r8),%r18d ++ {store} or (%r8),%r15d,%r18d ++ {load} xor %r15d,(%r8),%r18d ++ {load} xor (%r8),%r15d,%r18d ++ {store} xor %r15d,(%r8),%r18d ++ {store} xor (%r8),%r15d,%r18d ++ {load} adc %r15d,(%r8),%r18d ++ {load} adc (%r8),%r15d,%r18d ++ {store} adc %r15d,(%r8),%r18d ++ {store} adc (%r8),%r15d,%r18d ++ ++ {store} add %r31,%r8,%r16 ++ {load} add %r31,%r8,%r16 ++ {store} sub %r15b,%r17b,%r18b ++ {load} sub %r15b,%r17b,%r18b ++ {store} sbb %r15b,%r17b,%r18b ++ {load} sbb %r15b,%r17b,%r18b ++ {store} and %r15b,%r17b,%r18b ++ {load} and %r15b,%r17b,%r18b ++ {store} or %r15b,%r17b,%r18b ++ {load} or %r15b,%r17b,%r18b ++ {store} xor %r15b,%r17b,%r18b ++ {load} xor %r15b,%r17b,%r18b ++ {store} adc %r15b,%r17b,%r18b ++ {load} adc %r15b,%r17b,%r18b + + .irp m, mov, adc, add, and, cmp, or, sbb, sub, test, xor + \m $0x12, %al +@@ -360,6 +403,18 @@ _start: + {rex} movaps (%r8),%xmm2 + {rex} phaddw (%rcx),%mm0 + {rex} phaddw (%r8),%mm0 ++ {rex2} mov %al,%ah ++ {rex2} shl %cl, %eax ++ {rex2} cmp %cl, %dl ++ {rex2} mov $1, %bl ++ {rex2} movl %eax,%ebx ++ {rex2} movl %eax,%r14d ++ {rex2} movl %eax,(%r8) ++ {rex2} movaps %xmm7,%xmm2 ++ {rex2} movaps %xmm7,%xmm12 ++ {rex2} movaps (%rcx),%xmm2 ++ {rex2} movaps (%r8),%xmm2 ++ {rex2} pmullw %mm0,%mm6 + + movb (%rbp),%al + {disp8} movb (%rbp),%al +@@ -422,6 +477,15 @@ _start: + {rex} movaps xmm2,XMMWORD PTR [r8] + {rex} phaddw mm0,QWORD PTR [rcx] + {rex} phaddw mm0,QWORD PTR [r8] ++ {rex2} mov ah,al ++ {rex2} mov ebx,eax ++ {rex2} mov r14d,eax ++ {rex2} mov DWORD PTR [r8],eax ++ {rex2} movaps xmm2,xmm7 ++ {rex2} movaps xmm12,xmm7 ++ {rex2} movaps xmm2,XMMWORD PTR [rcx] ++ {rex2} movaps xmm2,XMMWORD PTR [r8] ++ {rex2} pmullw mm6,mm0 + + mov al, BYTE PTR [rbp] + {disp8} mov al, BYTE PTR [rbp] +@@ -438,3 +502,5 @@ _start: + mov al, BYTE PTR [r13] + {disp8} mov al, BYTE PTR [r13d] + {disp32} mov al, BYTE PTR [r13d] ++ ++ .insn {rex} 0x8a, al, cl +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-ptwrite-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-ptwrite-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-ptwrite-intel.d 2024-01-18 12:12:23.836946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-ptwrite-intel.d 2024-01-18 13:32:46.392889356 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 PTWRITE insns (Intel disassembly) + #source: x86-64-ptwrite.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-ptwrite.d binutils-2.41/gas/testsuite/gas/i386/x86-64-ptwrite.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-ptwrite.d 2024-01-18 12:12:23.836946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-ptwrite.d 2024-01-18 13:32:46.392889356 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 PTWRITE insns + #source: x86-64-ptwrite.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-raoint-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-raoint-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-raoint-intel.d 2024-01-18 12:12:23.836946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-raoint-intel.d 2024-01-18 13:32:46.392889356 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 RAO_INT insns (Intel disassembly) + #source: x86-64-raoint.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-raoint.d binutils-2.41/gas/testsuite/gas/i386/x86-64-raoint.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-raoint.d 2024-01-18 12:12:23.836946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-raoint.d 2024-01-18 13:32:46.392889356 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 RAO_INT insns + #source: x86-64-raoint.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-raoint.s binutils-2.41/gas/testsuite/gas/i386/x86-64-raoint.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-raoint.s 2024-01-18 12:12:23.836946095 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-raoint.s 2024-01-18 13:32:46.392889356 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit RAO_INT instructions + +- .allow_index_reg + .text + _start: + aadd %rdx, (%rax) #RAO-INT +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-serialize.d binutils-2.41/gas/testsuite/gas/i386/x86-64-serialize.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-serialize.d 2024-01-18 12:12:23.837946096 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-serialize.d 2024-01-18 13:32:46.393889357 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 SERIALIZE insns + #source: serialize.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sha.s binutils-2.41/gas/testsuite/gas/i386/x86-64-sha.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sha.s 2024-01-18 12:12:23.837946096 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sha.s 2024-01-18 13:32:46.393889357 +0000 +@@ -1,6 +1,5 @@ + # Check SHA instructions + +- .allow_index_reg + .text + _start: + sha1rnds4 $9, %xmm2, %xmm1 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sha512-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-sha512-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sha512-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sha512-intel.d 2024-01-18 13:32:46.393889357 +0000 +@@ -0,0 +1,16 @@ ++#objdump: -dw -Mintel ++#name: x86_64 SHA512 insns (Intel disassembly) ++#source: x86-64-sha512.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 c2 7f cc f7\s+vsha512msg1 ymm6,xmm15 ++\s*[a-f0-9]+:\s*c4 62 7f cd fd\s+vsha512msg2 ymm15,ymm5 ++\s*[a-f0-9]+:\s*c4 62 57 cb f4\s+vsha512rnds2 ymm14,ymm5,xmm4 ++\s*[a-f0-9]+:\s*c4 c2 7f cc f7\s+vsha512msg1 ymm6,xmm15 ++\s*[a-f0-9]+:\s*c4 62 7f cd fd\s+vsha512msg2 ymm15,ymm5 ++\s*[a-f0-9]+:\s*c4 62 57 cb f4\s+vsha512rnds2 ymm14,ymm5,xmm4 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sha512-inval.l binutils-2.41/gas/testsuite/gas/i386/x86-64-sha512-inval.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sha512-inval.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sha512-inval.l 2024-01-18 13:32:46.393889357 +0000 +@@ -0,0 +1,4 @@ ++.* Assembler messages: ++.*:5: Error: operand .* mismatch for `vsha512msg1' ++.*:6: Error: operand .* mismatch for `vsha512msg2' ++.*:7: Error: operand .* mismatch for `vsha512rnds2' +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sha512-inval.s binutils-2.41/gas/testsuite/gas/i386/x86-64-sha512-inval.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sha512-inval.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sha512-inval.s 2024-01-18 13:32:46.393889357 +0000 +@@ -0,0 +1,7 @@ ++# Check Illegal SHA512 instructions ++ ++ .text ++_start: ++ vsha512msg1 (%ecx), %ymm6 ++ vsha512msg2 (%ecx), %ymm6 ++ vsha512rnds2 (%ecx), %ymm5, %ymm6 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sha512.d binutils-2.41/gas/testsuite/gas/i386/x86-64-sha512.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sha512.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sha512.d 2024-01-18 13:32:46.393889357 +0000 +@@ -0,0 +1,16 @@ ++#objdump: -dw ++#name: x86_64 SHA512 insns ++#source: x86-64-sha512.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 c2 7f cc f7\s+vsha512msg1 %xmm15,%ymm6 ++\s*[a-f0-9]+:\s*c4 62 7f cd fd\s+vsha512msg2 %ymm5,%ymm15 ++\s*[a-f0-9]+:\s*c4 62 57 cb f4\s+vsha512rnds2 %xmm4,%ymm5,%ymm14 ++\s*[a-f0-9]+:\s*c4 c2 7f cc f7\s+vsha512msg1 %xmm15,%ymm6 ++\s*[a-f0-9]+:\s*c4 62 7f cd fd\s+vsha512msg2 %ymm5,%ymm15 ++\s*[a-f0-9]+:\s*c4 62 57 cb f4\s+vsha512rnds2 %xmm4,%ymm5,%ymm14 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sha512.s binutils-2.41/gas/testsuite/gas/i386/x86-64-sha512.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sha512.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sha512.s 2024-01-18 13:32:46.393889357 +0000 +@@ -0,0 +1,12 @@ ++# Check 64bit SHA512 instructions ++ ++ .text ++_start: ++ vsha512msg1 %xmm15, %ymm6 #SHA512 ++ vsha512msg2 %ymm5, %ymm15 #SHA512 ++ vsha512rnds2 %xmm4, %ymm5, %ymm14 #SHA512 ++ ++ .intel_syntax noprefix ++ vsha512msg1 ymm6, xmm15 #SHA512 ++ vsha512msg2 ymm15, ymm5 #SHA512 ++ vsha512rnds2 ymm14, ymm5, xmm4 #SHA512 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sm3-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-sm3-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sm3-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sm3-intel.d 2024-01-18 13:32:46.394889357 +0000 +@@ -0,0 +1,28 @@ ++#objdump: -dw -Mintel ++#name: x86_64 SM3 insns (Intel disassembly) ++#source: x86-64-sm3.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 c2 50 da f6\s+vsm3msg1 xmm6,xmm5,xmm14 ++\s*[a-f0-9]+:\s*c4 a2 00 da b4 f5 00 00 00 10\s+vsm3msg1 xmm6,xmm15,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 00 da 31\s+vsm3msg1 xmm6,xmm15,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 c2 51 da f6\s+vsm3msg2 xmm6,xmm5,xmm14 ++\s*[a-f0-9]+:\s*c4 a2 01 da b4 f5 00 00 00 10\s+vsm3msg2 xmm6,xmm15,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 01 da 31\s+vsm3msg2 xmm6,xmm15,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 c3 51 de f6 7b\s+vsm3rnds2 xmm6,xmm5,xmm14,0x7b ++\s*[a-f0-9]+:\s*c4 a3 01 de b4 f5 00 00 00 10 7b\s+vsm3rnds2 xmm6,xmm15,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b ++\s*[a-f0-9]+:\s*c4 c3 01 de 31 7b\s+vsm3rnds2 xmm6,xmm15,XMMWORD PTR \[r9\],0x7b ++\s*[a-f0-9]+:\s*c4 c2 50 da f6\s+vsm3msg1 xmm6,xmm5,xmm14 ++\s*[a-f0-9]+:\s*c4 a2 00 da b4 f5 00 00 00 10\s+vsm3msg1 xmm6,xmm15,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 00 da 31\s+vsm3msg1 xmm6,xmm15,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 c2 51 da f6\s+vsm3msg2 xmm6,xmm5,xmm14 ++\s*[a-f0-9]+:\s*c4 a2 01 da b4 f5 00 00 00 10\s+vsm3msg2 xmm6,xmm15,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 01 da 31\s+vsm3msg2 xmm6,xmm15,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 c3 51 de f6 7b\s+vsm3rnds2 xmm6,xmm5,xmm14,0x7b ++\s*[a-f0-9]+:\s*c4 a3 01 de b4 f5 00 00 00 10 7b\s+vsm3rnds2 xmm6,xmm15,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b ++\s*[a-f0-9]+:\s*c4 c3 01 de 31 7b\s+vsm3rnds2 xmm6,xmm15,XMMWORD PTR \[r9\],0x7b ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sm3.d binutils-2.41/gas/testsuite/gas/i386/x86-64-sm3.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sm3.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sm3.d 2024-01-18 13:32:46.394889357 +0000 +@@ -0,0 +1,28 @@ ++#objdump: -dw ++#name: x86_64 SM3 insns ++#source: x86-64-sm3.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 c2 50 da f6\s+vsm3msg1 %xmm14,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 00 da b4 f5 00 00 00 10\s+vsm3msg1 0x10000000\(%rbp,%r14,8\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 00 da 31\s+vsm3msg1 \(%r9\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 51 da f6\s+vsm3msg2 %xmm14,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 01 da b4 f5 00 00 00 10\s+vsm3msg2 0x10000000\(%rbp,%r14,8\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 01 da 31\s+vsm3msg2 \(%r9\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c3 51 de f6 7b\s+vsm3rnds2 \$0x7b,%xmm14,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a3 01 de b4 f5 00 00 00 10 7b\s+vsm3rnds2 \$0x7b,0x10000000\(%rbp,%r14,8\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c3 01 de 31 7b\s+vsm3rnds2 \$0x7b,\(%r9\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 50 da f6\s+vsm3msg1 %xmm14,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 00 da b4 f5 00 00 00 10\s+vsm3msg1 0x10000000\(%rbp,%r14,8\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 00 da 31\s+vsm3msg1 \(%r9\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 51 da f6\s+vsm3msg2 %xmm14,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 01 da b4 f5 00 00 00 10\s+vsm3msg2 0x10000000\(%rbp,%r14,8\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 01 da 31\s+vsm3msg2 \(%r9\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c3 51 de f6 7b\s+vsm3rnds2 \$0x7b,%xmm14,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a3 01 de b4 f5 00 00 00 10 7b\s+vsm3rnds2 \$0x7b,0x10000000\(%rbp,%r14,8\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c3 01 de 31 7b\s+vsm3rnds2 \$0x7b,\(%r9\),%xmm15,%xmm6 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sm3.s binutils-2.41/gas/testsuite/gas/i386/x86-64-sm3.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sm3.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sm3.s 2024-01-18 13:32:46.394889357 +0000 +@@ -0,0 +1,24 @@ ++# Check 64bit SM3 instructions ++ ++ .text ++_start: ++ vsm3msg1 %xmm14, %xmm5, %xmm6 #SM3 ++ vsm3msg1 0x10000000(%rbp, %r14, 8), %xmm15, %xmm6 #SM3 ++ vsm3msg1 (%r9), %xmm15, %xmm6 #SM3 ++ vsm3msg2 %xmm14, %xmm5, %xmm6 #SM3 ++ vsm3msg2 0x10000000(%rbp, %r14, 8), %xmm15, %xmm6 #SM3 ++ vsm3msg2 (%r9), %xmm15, %xmm6 #SM3 ++ vsm3rnds2 $123, %xmm14, %xmm5, %xmm6 #SM3 ++ vsm3rnds2 $123, 0x10000000(%rbp, %r14, 8), %xmm15, %xmm6 #SM3 ++ vsm3rnds2 $123, (%r9), %xmm15, %xmm6 #SM3 ++ ++ .intel_syntax noprefix ++ vsm3msg1 xmm6, xmm5, xmm14 #SM3 ++ vsm3msg1 xmm6, xmm15, XMMWORD PTR [rbp+r14*8+0x10000000] #SM3 ++ vsm3msg1 xmm6, xmm15, XMMWORD PTR [r9] #SM3 ++ vsm3msg2 xmm6, xmm5, xmm14 #SM3 ++ vsm3msg2 xmm6, xmm15, XMMWORD PTR [rbp+r14*8+0x10000000] #SM3 ++ vsm3msg2 xmm6, xmm15, XMMWORD PTR [r9] #SM3 ++ vsm3rnds2 xmm6, xmm5, xmm14, 123 #SM3 ++ vsm3rnds2 xmm6, xmm15, XMMWORD PTR [rbp+r14*8+0x10000000], 123 #SM3 ++ vsm3rnds2 xmm6, xmm15, XMMWORD PTR [r9], 123 #SM3 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sm4-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-sm4-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sm4-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sm4-intel.d 2024-01-18 13:32:46.394889357 +0000 +@@ -0,0 +1,33 @@ ++#objdump: -dw -Mintel ++#name: x86_64 SM4 insns (Intel disassembly) ++#source: x86-64-sm4.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 c2 56 da f6\s+vsm4key4 ymm6,ymm5,ymm14 ++\s*[a-f0-9]+:\s*c4 c2 52 da f6\s+vsm4key4 xmm6,xmm5,xmm14 ++\s*[a-f0-9]+:\s*c4 a2 06 da b4 f5 00 00 00 10\s+vsm4key4 ymm6,ymm15,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 06 da 31\s+vsm4key4 ymm6,ymm15,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 a2 02 da b4 f5 00 00 00 10\s+vsm4key4 xmm6,xmm15,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 02 da 31\s+vsm4key4 xmm6,xmm15,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 c2 57 da f6\s+vsm4rnds4 ymm6,ymm5,ymm14 ++\s*[a-f0-9]+:\s*c4 c2 53 da f6\s+vsm4rnds4 xmm6,xmm5,xmm14 ++\s*[a-f0-9]+:\s*c4 a2 07 da b4 f5 00 00 00 10\s+vsm4rnds4 ymm6,ymm15,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 07 da 31\s+vsm4rnds4 ymm6,ymm15,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 a2 03 da b4 f5 00 00 00 10\s+vsm4rnds4 xmm6,xmm15,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 03 da 31\s+vsm4rnds4 xmm6,xmm15,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 c2 56 da f6\s+vsm4key4 ymm6,ymm5,ymm14 ++\s*[a-f0-9]+:\s*c4 c2 52 da f6\s+vsm4key4 xmm6,xmm5,xmm14 ++\s*[a-f0-9]+:\s*c4 a2 06 da b4 f5 00 00 00 10\s+vsm4key4 ymm6,ymm15,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 06 da 31\s+vsm4key4 ymm6,ymm15,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 a2 02 da b4 f5 00 00 00 10\s+vsm4key4 xmm6,xmm15,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 02 da 31\s+vsm4key4 xmm6,xmm15,XMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 c2 57 da f6\s+vsm4rnds4 ymm6,ymm5,ymm14 ++\s*[a-f0-9]+:\s*c4 c2 53 da f6\s+vsm4rnds4 xmm6,xmm5,xmm14 ++\s*[a-f0-9]+:\s*c4 a2 07 da b4 f5 00 00 00 10\s+vsm4rnds4 ymm6,ymm15,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 07 da 31\s+vsm4rnds4 ymm6,ymm15,YMMWORD PTR \[r9\] ++\s*[a-f0-9]+:\s*c4 a2 03 da b4 f5 00 00 00 10\s+vsm4rnds4 xmm6,xmm15,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] ++\s*[a-f0-9]+:\s*c4 c2 03 da 31\s+vsm4rnds4 xmm6,xmm15,XMMWORD PTR \[r9\] +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sm4.d binutils-2.41/gas/testsuite/gas/i386/x86-64-sm4.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sm4.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sm4.d 2024-01-18 13:32:46.394889357 +0000 +@@ -0,0 +1,33 @@ ++#objdump: -dw ++#name: x86_64 SM4 insns ++#source: x86-64-sm4.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*c4 c2 56 da f6\s+vsm4key4 %ymm14,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 52 da f6\s+vsm4key4 %xmm14,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 06 da b4 f5 00 00 00 10\s+vsm4key4 0x10000000\(%rbp,%r14,8\),%ymm15,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 06 da 31\s+vsm4key4 \(%r9\),%ymm15,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 02 da b4 f5 00 00 00 10\s+vsm4key4 0x10000000\(%rbp,%r14,8\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 02 da 31\s+vsm4key4 \(%r9\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 57 da f6\s+vsm4rnds4 %ymm14,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 53 da f6\s+vsm4rnds4 %xmm14,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 07 da b4 f5 00 00 00 10\s+vsm4rnds4 0x10000000\(%rbp,%r14,8\),%ymm15,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 07 da 31\s+vsm4rnds4 \(%r9\),%ymm15,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 03 da b4 f5 00 00 00 10\s+vsm4rnds4 0x10000000\(%rbp,%r14,8\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 03 da 31\s+vsm4rnds4 \(%r9\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 56 da f6\s+vsm4key4 %ymm14,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 52 da f6\s+vsm4key4 %xmm14,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 06 da b4 f5 00 00 00 10\s+vsm4key4 0x10000000\(%rbp,%r14,8\),%ymm15,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 06 da 31\s+vsm4key4 \(%r9\),%ymm15,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 02 da b4 f5 00 00 00 10\s+vsm4key4 0x10000000\(%rbp,%r14,8\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 02 da 31\s+vsm4key4 \(%r9\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 57 da f6\s+vsm4rnds4 %ymm14,%ymm5,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 53 da f6\s+vsm4rnds4 %xmm14,%xmm5,%xmm6 ++\s*[a-f0-9]+:\s*c4 a2 07 da b4 f5 00 00 00 10\s+vsm4rnds4 0x10000000\(%rbp,%r14,8\),%ymm15,%ymm6 ++\s*[a-f0-9]+:\s*c4 c2 07 da 31\s+vsm4rnds4 \(%r9\),%ymm15,%ymm6 ++\s*[a-f0-9]+:\s*c4 a2 03 da b4 f5 00 00 00 10\s+vsm4rnds4 0x10000000\(%rbp,%r14,8\),%xmm15,%xmm6 ++\s*[a-f0-9]+:\s*c4 c2 03 da 31\s+vsm4rnds4 \(%r9\),%xmm15,%xmm6 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sm4.s binutils-2.41/gas/testsuite/gas/i386/x86-64-sm4.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sm4.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sm4.s 2024-01-18 13:32:46.394889357 +0000 +@@ -0,0 +1,30 @@ ++# Check 64bit SM4 instructions ++ ++ .text ++_start: ++ vsm4key4 %ymm14, %ymm5, %ymm6 ++ vsm4key4 %xmm14, %xmm5, %xmm6 ++ vsm4key4 0x10000000(%rbp, %r14, 8), %ymm15, %ymm6 ++ vsm4key4 (%r9), %ymm15, %ymm6 ++ vsm4key4 0x10000000(%rbp, %r14, 8), %xmm15, %xmm6 ++ vsm4key4 (%r9), %xmm15, %xmm6 ++ vsm4rnds4 %ymm14, %ymm5, %ymm6 ++ vsm4rnds4 %xmm14, %xmm5, %xmm6 ++ vsm4rnds4 0x10000000(%rbp, %r14, 8), %ymm15, %ymm6 ++ vsm4rnds4 (%r9), %ymm15, %ymm6 ++ vsm4rnds4 0x10000000(%rbp, %r14, 8), %xmm15, %xmm6 ++ vsm4rnds4 (%r9), %xmm15, %xmm6 ++ ++ .intel_syntax noprefix ++ vsm4key4 ymm6, ymm5, ymm14 ++ vsm4key4 xmm6, xmm5, xmm14 ++ vsm4key4 ymm6, ymm15, YMMWORD PTR [rbp+r14*8+0x10000000] ++ vsm4key4 ymm6, ymm15, YMMWORD PTR [r9] ++ vsm4key4 xmm6, xmm15, XMMWORD PTR [rbp+r14*8+0x10000000] ++ vsm4key4 xmm6, xmm15, XMMWORD PTR [r9] ++ vsm4rnds4 ymm6, ymm5, ymm14 ++ vsm4rnds4 xmm6, xmm5, xmm14 ++ vsm4rnds4 ymm6, ymm15, YMMWORD PTR [rbp+r14*8+0x10000000] ++ vsm4rnds4 ymm6, ymm15, YMMWORD PTR [r9] ++ vsm4rnds4 xmm6, xmm15, XMMWORD PTR [rbp+r14*8+0x10000000] ++ vsm4rnds4 xmm6, xmm15, XMMWORD PTR [r9] +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sse2avx.s binutils-2.41/gas/testsuite/gas/i386/x86-64-sse2avx.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sse2avx.s 2024-01-18 12:12:23.839946098 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sse2avx.s 2024-01-18 13:32:46.394889357 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit SSE to AVX instructions + +- .allow_index_reg + .text + _start: + # Tests for op mem64 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-suffix.d binutils-2.41/gas/testsuite/gas/i386/x86-64-suffix.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-suffix.d 2024-01-18 12:12:23.840946098 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-suffix.d 2024-01-18 13:32:46.395889358 +0000 +@@ -26,4 +26,8 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 0f 07 sysretl + [ ]*[a-f0-9]+: 48 89 e5 movq %rsp,%rbp + [ ]*[a-f0-9]+: 48 0f 07 sysretq ++[ ]*[a-f0-9]+: 66 0f 38 f6 d1 adcxl %ecx,%edx ++[ ]*[a-f0-9]+: f3 0f 38 f6 d1 adoxl %ecx,%edx ++[ ]*[a-f0-9]+: 66 48 0f 38 f6 d1 adcxq %rcx,%rdx ++[ ]*[a-f0-9]+: f3 48 0f 38 f6 d1 adoxq %rcx,%rdx + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-suffix.s binutils-2.41/gas/testsuite/gas/i386/x86-64-suffix.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-suffix.s 2024-01-18 12:12:23.840946098 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-suffix.s 2024-01-18 13:32:46.395889358 +0000 +@@ -25,3 +25,9 @@ foo: + sysretd + mov rbp,rsp + sysretq ++ ++ .att_syntax prefix ++ adcxl %ecx, %edx ++ adoxl %ecx, %edx ++ adcxq %rcx, %rdx ++ adoxq %rcx, %rdx +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-sysenter.d binutils-2.41/gas/testsuite/gas/i386/x86-64-sysenter.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-sysenter.d 2024-01-18 12:12:23.840946098 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-sysenter.d 2024-01-18 13:32:46.395889358 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86-64 sysenter (Default) + #source: x86-64-sysenter-amd.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-tbm-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-tbm-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-tbm-intel.d 2024-01-18 12:12:23.840946098 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-tbm-intel.d 2024-01-18 13:32:46.395889358 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dwMintel + #name: x86-64 TBM insns (Intel disassembly) + #source: x86-64-tbm.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-tbm.s binutils-2.41/gas/testsuite/gas/i386/x86-64-tbm.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-tbm.s 2024-01-18 12:12:23.840946098 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-tbm.s 2024-01-18 13:32:46.395889358 +0000 +@@ -1,4 +1,3 @@ +- .allow_index_reg + .text + + _start: +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-tdx.d binutils-2.41/gas/testsuite/gas/i386/x86-64-tdx.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-tdx.d 2024-01-18 12:12:23.840946098 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-tdx.d 2024-01-18 13:32:46.395889358 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 TDX insns + #source: x86-64-tdx.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-tlsdesc.d binutils-2.41/gas/testsuite/gas/i386/x86-64-tlsdesc.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-tlsdesc.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-tlsdesc.d 2024-01-18 13:32:46.395889358 +0000 +@@ -0,0 +1,17 @@ ++#as: ++#objdump: -dwr ++#name: x86-64 tlsdesc ++ ++.*: +file format .* ++ ++ ++Disassembly of section .text: ++ ++0+ <_start>: ++ +[a-f0-9]+: 48 8d 05 00 00 00 00 lea 0x0\(%rip\),%rax # 7 <_start\+0x7> 3: R_X86_64_GOTPC32_TLSDESC foo-0x4 ++ +[a-f0-9]+: d5 48 8d 05 00 00 00 00 lea 0x0\(%rip\),%r16 # f <_start\+0xf> b: R_X86_64_CODE_4_GOTPC32_TLSDESC foo-0x4 ++ +[a-f0-9]+: d5 48 8d 25 00 00 00 00 lea 0x0\(%rip\),%r20 # 17 <_start\+0x17> 13: R_X86_64_CODE_4_GOTPC32_TLSDESC foo-0x4 ++ +[a-f0-9]+: 48 8d 05 00 00 00 00 lea 0x0\(%rip\),%rax # 1e <_start\+0x1e> 1a: R_X86_64_GOTPC32_TLSDESC foo-0x4 ++ +[a-f0-9]+: d5 48 8d 05 00 00 00 00 lea 0x0\(%rip\),%r16 # 26 <_start\+0x26> 22: R_X86_64_CODE_4_GOTPC32_TLSDESC foo-0x4 ++ +[a-f0-9]+: d5 48 8d 25 00 00 00 00 lea 0x0\(%rip\),%r20 # 2e <_start\+0x2e> 2a: R_X86_64_CODE_4_GOTPC32_TLSDESC foo-0x4 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-tlsdesc.s binutils-2.41/gas/testsuite/gas/i386/x86-64-tlsdesc.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-tlsdesc.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-tlsdesc.s 2024-01-18 13:32:46.395889358 +0000 +@@ -0,0 +1,13 @@ ++ .text ++_start: ++ leaq foo@TLSDESC(%rip), %rax ++ ++ leaq foo@TLSDESC(%rip), %r16 ++ leaq foo@TLSDESC(%rip), %r20 ++ ++ .intel_syntax noprefix ++ ++ leaq rax, QWORD PTR [rip + foo@TLSDESC] ++ ++ leaq r16, QWORD PTR [rip + foo@TLSDESC] ++ leaq r20, QWORD PTR [rip + foo@TLSDESC] +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-tsxldtrk.d binutils-2.41/gas/testsuite/gas/i386/x86-64-tsxldtrk.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-tsxldtrk.d 2024-01-18 12:12:23.841946099 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-tsxldtrk.d 2024-01-18 13:32:46.395889358 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 TSXLDTRK insns + #source: tsxldtrk.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-uintr.d binutils-2.41/gas/testsuite/gas/i386/x86-64-uintr.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-uintr.d 2024-01-18 12:12:23.841946099 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-uintr.d 2024-01-18 13:32:46.395889358 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 UINTR insns + #source: x86-64-uintr.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr-intel.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr-intel.d 2024-01-18 13:32:46.395889358 +0000 +@@ -0,0 +1,46 @@ ++#as: ++#objdump: -dw -Mintel ++#name: x86_64 USER_MSR insns (Intel disassembly) ++#source: x86-64-user_msr.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*f2 45 0f 38 f8 f4\s+urdmsr r12,r14 ++\s*[a-f0-9]+:\s*f2 44 0f 38 f8 f0\s+urdmsr rax,r14 ++\s*[a-f0-9]+:\s*f2 41 0f 38 f8 d4\s+urdmsr r12,rdx ++\s*[a-f0-9]+:\s*f2 0f 38 f8 d0\s+urdmsr rax,rdx ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 0f 0f 12 03\s+urdmsr r12,0x3120f0f ++\s*[a-f0-9]+:\s*c4 e7 7b f8 c0 0f 0f 12 03\s+urdmsr rax,0x3120f0f ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 7f 00 00 00\s+urdmsr r12,0x7f ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 ff 7f 00 00\s+urdmsr r12,0x7fff ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 00 00 00 80\s+urdmsr r12,0x80000000 ++\s*[a-f0-9]+:\s*f3 45 0f 38 f8 f4\s+uwrmsr r14,r12 ++\s*[a-f0-9]+:\s*f3 44 0f 38 f8 f0\s+uwrmsr r14,rax ++\s*[a-f0-9]+:\s*f3 41 0f 38 f8 d4\s+uwrmsr rdx,r12 ++\s*[a-f0-9]+:\s*f3 0f 38 f8 d0\s+uwrmsr rdx,rax ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 0f 0f 12 03\s+uwrmsr 0x3120f0f,r12 ++\s*[a-f0-9]+:\s*c4 e7 7a f8 c0 0f 0f 12 03\s+uwrmsr 0x3120f0f,rax ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 7f 00 00 00\s+uwrmsr 0x7f,r12 ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 ff 7f 00 00\s+uwrmsr 0x7fff,r12 ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 00 00 00 80\s+uwrmsr 0x80000000,r12 ++\s*[a-f0-9]+:\s*f2 45 0f 38 f8 f4\s+urdmsr r12,r14 ++\s*[a-f0-9]+:\s*f2 44 0f 38 f8 f0\s+urdmsr rax,r14 ++\s*[a-f0-9]+:\s*f2 41 0f 38 f8 d4\s+urdmsr r12,rdx ++\s*[a-f0-9]+:\s*f2 0f 38 f8 d0\s+urdmsr rax,rdx ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 0f 0f 12 03\s+urdmsr r12,0x3120f0f ++\s*[a-f0-9]+:\s*c4 e7 7b f8 c0 0f 0f 12 03\s+urdmsr rax,0x3120f0f ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 7f 00 00 00\s+urdmsr r12,0x7f ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 ff 7f 00 00\s+urdmsr r12,0x7fff ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 00 00 00 80\s+urdmsr r12,0x80000000 ++\s*[a-f0-9]+:\s*f3 45 0f 38 f8 f4\s+uwrmsr r14,r12 ++\s*[a-f0-9]+:\s*f3 44 0f 38 f8 f0\s+uwrmsr r14,rax ++\s*[a-f0-9]+:\s*f3 41 0f 38 f8 d4\s+uwrmsr rdx,r12 ++\s*[a-f0-9]+:\s*f3 0f 38 f8 d0\s+uwrmsr rdx,rax ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 0f 0f 12 03\s+uwrmsr 0x3120f0f,r12 ++\s*[a-f0-9]+:\s*c4 e7 7a f8 c0 0f 0f 12 03\s+uwrmsr 0x3120f0f,rax ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 7f 00 00 00\s+uwrmsr 0x7f,r12 ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 ff 7f 00 00\s+uwrmsr 0x7fff,r12 ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 00 00 00 80\s+uwrmsr 0x80000000,r12 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr-inval.l binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr-inval.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr-inval.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr-inval.l 2024-01-18 13:32:46.395889358 +0000 +@@ -0,0 +1,9 @@ ++.* Assembler messages: ++.*:5: Error: operand type mismatch for `urdmsr' ++.*:6: Error: operand type mismatch for `urdmsr' ++.*:7: Error: operand type mismatch for `urdmsr' ++.*:8: Error: operand type mismatch for `urdmsr' ++.*:9: Error: operand type mismatch for `uwrmsr' ++.*:10: Error: operand type mismatch for `uwrmsr' ++.*:11: Error: operand type mismatch for `uwrmsr' ++.*:12: Error: operand type mismatch for `uwrmsr' +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr-inval.s binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr-inval.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr-inval.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr-inval.s 2024-01-18 13:32:46.395889358 +0000 +@@ -0,0 +1,12 @@ ++# Check Illegal 64bit USER_MSR instructions ++ ++ .text ++_start: ++ urdmsr $-1, %r14 ++ urdmsr $-32767, %r14 ++ urdmsr $-2147483648, %r14 ++ urdmsr $0x7fffffffffffffff, %r14 ++ uwrmsr %r12, $-1 ++ uwrmsr %r12, $-32767 ++ uwrmsr %r12, $-2147483648 ++ uwrmsr %r12, $0x7fffffffffffffff +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr.d binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr.d 2024-01-18 13:32:46.395889358 +0000 +@@ -0,0 +1,46 @@ ++#as: ++#objdump: -dw ++#name: x86_64 USER_MSR insns ++#source: x86-64-user_msr.s ++ ++.*: +file format .* ++ ++Disassembly of section \.text: ++ ++0+ <_start>: ++\s*[a-f0-9]+:\s*f2 45 0f 38 f8 f4\s+urdmsr %r14,%r12 ++\s*[a-f0-9]+:\s*f2 44 0f 38 f8 f0\s+urdmsr %r14,%rax ++\s*[a-f0-9]+:\s*f2 41 0f 38 f8 d4\s+urdmsr %rdx,%r12 ++\s*[a-f0-9]+:\s*f2 0f 38 f8 d0\s+urdmsr %rdx,%rax ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 0f 0f 12 03\s+urdmsr \$0x3120f0f,%r12 ++\s*[a-f0-9]+:\s*c4 e7 7b f8 c0 0f 0f 12 03\s+urdmsr \$0x3120f0f,%rax ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 7f 00 00 00\s+urdmsr \$0x7f,%r12 ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 ff 7f 00 00\s+urdmsr \$0x7fff,%r12 ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 00 00 00 80\s+urdmsr \$0x80000000,%r12 ++\s*[a-f0-9]+:\s*f3 45 0f 38 f8 f4\s+uwrmsr %r12,%r14 ++\s*[a-f0-9]+:\s*f3 44 0f 38 f8 f0\s+uwrmsr %rax,%r14 ++\s*[a-f0-9]+:\s*f3 41 0f 38 f8 d4\s+uwrmsr %r12,%rdx ++\s*[a-f0-9]+:\s*f3 0f 38 f8 d0\s+uwrmsr %rax,%rdx ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 0f 0f 12 03\s+uwrmsr %r12,\$0x3120f0f ++\s*[a-f0-9]+:\s*c4 e7 7a f8 c0 0f 0f 12 03\s+uwrmsr %rax,\$0x3120f0f ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 7f 00 00 00\s+uwrmsr %r12,\$0x7f ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 ff 7f 00 00\s+uwrmsr %r12,\$0x7fff ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 00 00 00 80\s+uwrmsr %r12,\$0x80000000 ++\s*[a-f0-9]+:\s*f2 45 0f 38 f8 f4\s+urdmsr %r14,%r12 ++\s*[a-f0-9]+:\s*f2 44 0f 38 f8 f0\s+urdmsr %r14,%rax ++\s*[a-f0-9]+:\s*f2 41 0f 38 f8 d4\s+urdmsr %rdx,%r12 ++\s*[a-f0-9]+:\s*f2 0f 38 f8 d0\s+urdmsr %rdx,%rax ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 0f 0f 12 03\s+urdmsr \$0x3120f0f,%r12 ++\s*[a-f0-9]+:\s*c4 e7 7b f8 c0 0f 0f 12 03\s+urdmsr \$0x3120f0f,%rax ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 7f 00 00 00\s+urdmsr \$0x7f,%r12 ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 ff 7f 00 00\s+urdmsr \$0x7fff,%r12 ++\s*[a-f0-9]+:\s*c4 c7 7b f8 c4 00 00 00 80\s+urdmsr \$0x80000000,%r12 ++\s*[a-f0-9]+:\s*f3 45 0f 38 f8 f4\s+uwrmsr %r12,%r14 ++\s*[a-f0-9]+:\s*f3 44 0f 38 f8 f0\s+uwrmsr %rax,%r14 ++\s*[a-f0-9]+:\s*f3 41 0f 38 f8 d4\s+uwrmsr %r12,%rdx ++\s*[a-f0-9]+:\s*f3 0f 38 f8 d0\s+uwrmsr %rax,%rdx ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 0f 0f 12 03\s+uwrmsr %r12,\$0x3120f0f ++\s*[a-f0-9]+:\s*c4 e7 7a f8 c0 0f 0f 12 03\s+uwrmsr %rax,\$0x3120f0f ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 7f 00 00 00\s+uwrmsr %r12,\$0x7f ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 ff 7f 00 00\s+uwrmsr %r12,\$0x7fff ++\s*[a-f0-9]+:\s*c4 c7 7a f8 c4 00 00 00 80\s+uwrmsr %r12,\$0x80000000 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr.s binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr.s 2024-01-18 13:32:46.395889358 +0000 +@@ -0,0 +1,42 @@ ++# Check 64bit USER_MSR instructions ++ ++ .text ++_start: ++ urdmsr %r14, %r12 ++ urdmsr %r14, %rax ++ urdmsr %rdx, %r12 ++ urdmsr %rdx, %rax ++ urdmsr $51515151, %r12 ++ urdmsr $51515151, %rax ++ urdmsr $0x7f, %r12 ++ urdmsr $0x7fff, %r12 ++ urdmsr $0x80000000, %r12 ++ uwrmsr %r12, %r14 ++ uwrmsr %rax, %r14 ++ uwrmsr %r12, %rdx ++ uwrmsr %rax, %rdx ++ uwrmsr %r12, $51515151 ++ uwrmsr %rax, $51515151 ++ uwrmsr %r12, $0x7f ++ uwrmsr %r12, $0x7fff ++ uwrmsr %r12, $0x80000000 ++ ++ .intel_syntax noprefix ++ urdmsr r12, r14 ++ urdmsr rax, r14 ++ urdmsr r12, rdx ++ urdmsr rax, rdx ++ urdmsr r12, 51515151 ++ urdmsr rax, 51515151 ++ urdmsr r12, 0x7f ++ urdmsr r12, 0x7fff ++ urdmsr r12, 0x80000000 ++ uwrmsr r14, r12 ++ uwrmsr r14, rax ++ uwrmsr rdx, r12 ++ uwrmsr rdx, rax ++ uwrmsr 51515151, r12 ++ uwrmsr 51515151, rax ++ uwrmsr 0x7f, r12 ++ uwrmsr 0x7fff, r12 ++ uwrmsr 0x80000000, r12 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-vaes.s binutils-2.41/gas/testsuite/gas/i386/x86-64-vaes.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-vaes.s 2024-01-18 12:12:23.841946099 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-vaes.s 2024-01-18 13:32:46.395889358 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit VAES instructions + +- .allow_index_reg + .text + _start: + # Tests for op ymm/mem256, ymm, ymm +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-vex-lig-2.s binutils-2.41/gas/testsuite/gas/i386/x86-64-vex-lig-2.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-vex-lig-2.s 2024-01-18 12:12:23.841946099 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-vex-lig-2.s 2024-01-18 13:32:46.395889358 +0000 +@@ -1,6 +1,5 @@ + # Check VEX non-LIG instructions with with -mavxscalar=256 + +- .allow_index_reg + .text + _start: + vmovd %eax, %xmm0 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-vp2intersect-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-vp2intersect-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-vp2intersect-intel.d 2024-01-18 12:12:23.841946099 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-vp2intersect-intel.d 2024-01-18 13:32:46.395889358 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 VP2INTERSECT insns (Intel disassembly) + #source: x86-64-vp2intersect.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.l binutils-2.41/gas/testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.l 2024-01-18 12:12:23.841946099 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.l 2024-01-18 13:32:46.395889358 +0000 +@@ -1,13 +1,13 @@ + .*: Assembler messages: ++.*:5: Error: unsupported broadcast for `vp2intersectd' + .*:6: Error: unsupported broadcast for `vp2intersectd' + .*:7: Error: unsupported broadcast for `vp2intersectd' +-.*:8: Error: unsupported broadcast for `vp2intersectd' ++.*:8: Error: unsupported broadcast for `vp2intersectq' + .*:9: Error: unsupported broadcast for `vp2intersectq' + .*:10: Error: unsupported broadcast for `vp2intersectq' +-.*:11: Error: unsupported broadcast for `vp2intersectq' ++.*:13: Error: unsupported broadcast for `vp2intersectd' + .*:14: Error: unsupported broadcast for `vp2intersectd' + .*:15: Error: unsupported broadcast for `vp2intersectd' +-.*:16: Error: unsupported broadcast for `vp2intersectd' ++.*:16: Error: unsupported broadcast for `vp2intersectq' + .*:17: Error: unsupported broadcast for `vp2intersectq' + .*:18: Error: unsupported broadcast for `vp2intersectq' +-.*:19: Error: unsupported broadcast for `vp2intersectq' +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.s binutils-2.41/gas/testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.s 2024-01-18 12:12:23.841946099 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.s 2024-01-18 13:32:46.395889358 +0000 +@@ -1,6 +1,5 @@ + # Check error for invalid {1toXX} and {2toXX} broadcasts. + +- .allow_index_reg + .text + _start: + vp2intersectd 8(%rax){1to8}, %zmm2, %k3 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-vp2intersect.d binutils-2.41/gas/testsuite/gas/i386/x86-64-vp2intersect.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-vp2intersect.d 2024-01-18 12:12:23.841946099 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-vp2intersect.d 2024-01-18 13:32:46.395889358 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 VP2INTERSECT insns + #source: x86-64-vp2intersect.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-vpclmulqdq-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-vpclmulqdq-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-vpclmulqdq-intel.d 2024-01-18 12:12:23.841946099 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-vpclmulqdq-intel.d 2024-01-18 13:32:46.395889358 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 VPCLMULQDQ insns (Intel disassembly) + #source: x86-64-vpclmulqdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-vpclmulqdq.d binutils-2.41/gas/testsuite/gas/i386/x86-64-vpclmulqdq.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-vpclmulqdq.d 2024-01-18 12:12:23.841946099 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-vpclmulqdq.d 2024-01-18 13:32:46.396889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 VPCLMULQDQ insns + #source: x86-64-vpclmulqdq.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-vpclmulqdq.s binutils-2.41/gas/testsuite/gas/i386/x86-64-vpclmulqdq.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-vpclmulqdq.s 2024-01-18 12:12:23.842946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-vpclmulqdq.s 2024-01-18 13:32:46.396889359 +0000 +@@ -1,6 +1,5 @@ ++# Check 64bit VPCLMULQDQ instructions + +- +- .allow_index_reg + .text + _start: + vpclmulqdq $0xab, %ymm8, %ymm9, %ymm10 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-waitpkg-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-waitpkg-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-waitpkg-intel.d 2024-01-18 12:12:23.842946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-waitpkg-intel.d 2024-01-18 13:32:46.396889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 WAITPKG insns (Intel disassembly) + #source: x86-64-waitpkg.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-waitpkg.d binutils-2.41/gas/testsuite/gas/i386/x86-64-waitpkg.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-waitpkg.d 2024-01-18 12:12:23.842946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-waitpkg.d 2024-01-18 13:32:46.396889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 WAITPKG insns + #source: x86-64-waitpkg.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-wrmsrns-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-wrmsrns-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-wrmsrns-intel.d 2024-01-18 12:12:23.842946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-wrmsrns-intel.d 2024-01-18 13:32:46.396889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 WRMSRNS insns (Intel disassembly) + #source: wrmsrns.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-wrmsrns.d binutils-2.41/gas/testsuite/gas/i386/x86-64-wrmsrns.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-wrmsrns.d 2024-01-18 12:12:23.842946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-wrmsrns.d 2024-01-18 13:32:46.396889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 WRMSRNS insns + #source: wrmsrns.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-xop.s binutils-2.41/gas/testsuite/gas/i386/x86-64-xop.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-xop.s 2024-01-18 12:12:23.842946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-xop.s 2024-01-18 13:32:46.396889359 +0000 +@@ -1,6 +1,5 @@ + # Check XOP instructions (maxcombos=16, maxops=3, archbits=64, seed=1) + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-xsavec-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-xsavec-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-xsavec-intel.d 2024-01-18 12:12:23.842946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-xsavec-intel.d 2024-01-18 13:32:46.396889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 XSAVEC insns (Intel disassembly) + #source: x86-64-xsavec.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-xsavec.d binutils-2.41/gas/testsuite/gas/i386/x86-64-xsavec.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-xsavec.d 2024-01-18 12:12:23.842946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-xsavec.d 2024-01-18 13:32:46.396889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 XSAVEC insns + #source: x86-64-xsavec.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-xsavec.s binutils-2.41/gas/testsuite/gas/i386/x86-64-xsavec.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-xsavec.s 2024-01-18 12:12:23.842946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-xsavec.s 2024-01-18 13:32:46.396889359 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit XSAVEC instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-xsaves-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-xsaves-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-xsaves-intel.d 2024-01-18 12:12:23.842946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-xsaves-intel.d 2024-01-18 13:32:46.396889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: x86_64 XSAVES insns (Intel disassembly) + #source: x86-64-xsaves.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-xsaves.d binutils-2.41/gas/testsuite/gas/i386/x86-64-xsaves.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-xsaves.d 2024-01-18 12:12:23.842946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-xsaves.d 2024-01-18 13:32:46.396889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: x86_64 XSAVES insns + #source: x86-64-xsaves.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-xsaves.s binutils-2.41/gas/testsuite/gas/i386/x86-64-xsaves.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-xsaves.s 2024-01-18 12:12:23.842946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-xsaves.s 2024-01-18 13:32:46.396889359 +0000 +@@ -1,6 +1,5 @@ + # Check 64bit XSAVES instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64.exp binutils-2.41/gas/testsuite/gas/i386/x86-64.exp +--- binutils.orig/gas/testsuite/gas/i386/x86-64.exp 2024-01-18 12:12:23.843946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64.exp 2024-01-18 13:58:43.334807930 +0000 +@@ -1,4 +1,4 @@ +-# Copyright (C) 2012-2023 Free Software Foundation, Inc. ++# Copyright (C) 2012-2024 Free Software Foundation, Inc. + + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -109,6 +109,8 @@ run_dump_test "x86-64-nops-1-g64" + run_dump_test "x86-64-nops-1-k8" + run_dump_test "x86-64-nops-1-core2" + run_dump_test "x86-64-nops-1-pentium" ++run_dump_test "x86-64-nops-1a-g64" ++run_dump_test "x86-64-nops-1a-core2" + run_dump_test "x86-64-nops-2" + run_dump_test "x86-64-nops-3" + run_dump_test "x86-64-nops-4" +@@ -116,6 +118,7 @@ run_dump_test "x86-64-nops-4-core2" + run_dump_test "x86-64-nops-4-k8" + run_dump_test "x86-64-nops-5" + run_dump_test "x86-64-nops-5-k8" ++run_dump_test "x86-64-nops-6" + run_dump_test "x86-64-nops-7" + run_dump_test "x86-64-sysenter" + run_dump_test "x86-64-sysenter-intel" +@@ -171,6 +174,7 @@ run_dump_test "x86-64-arch-3" + run_dump_test "x86-64-arch-4" + run_dump_test "x86-64-arch-4-1" + run_dump_test "rmpquery" ++run_dump_test "x86-64-arch-5" + run_dump_test "x86-64-arch-2-lzcnt" + run_dump_test "x86-64-arch-2-prefetchw" + run_dump_test "x86-64-arch-2-bdver1" +@@ -181,6 +185,7 @@ run_dump_test "x86-64-arch-3-znver1" + run_dump_test "x86-64-arch-3-znver2" + run_dump_test "x86-64-arch-4-znver3" + run_dump_test "x86-64-arch-4-znver4" ++run_dump_test "x86-64-arch-5-znver5" + run_dump_test "x86-64-arch-2-btver1" + run_dump_test "x86-64-arch-2-btver2" + run_list_test "x86-64-arch-2-1" "-march=generic64 -I${srcdir}/$subdir -al" +@@ -247,7 +252,7 @@ run_dump_test "x86-64-sse-noavx" + run_dump_test "x86-64-movbe" + run_dump_test "x86-64-movbe-intel" + run_dump_test "x86-64-movbe-suffix" +-run_list_test "x86-64-inval-movbe" "-al" ++run_list_test "x86-64-inval-movbe" "-march=+noapx_f -al" + run_dump_test "x86-64-ept" + run_dump_test "x86-64-ept-intel" + run_list_test "x86-64-inval-ept" "-al" +@@ -342,6 +347,12 @@ run_dump_test "x86-64-avx512dq-rcigrd-in + run_dump_test "x86-64-avx512dq-rcigrd" + run_dump_test "x86-64-avx512dq-rcigrne-intel" + run_dump_test "x86-64-avx512dq-rcigrne" ++run_dump_test "x86-64-apx-push2pop2" ++run_dump_test "x86-64-apx-push2pop2-intel" ++run_list_test "x86-64-apx-push2pop2-inval" ++run_dump_test "x86-64-apx-pushp-popp" ++run_dump_test "x86-64-apx-pushp-popp-intel" ++run_list_test "x86-64-apx-pushp-popp-inval" + run_dump_test "x86-64-avx512dq-rcigru-intel" + run_dump_test "x86-64-avx512dq-rcigru" + run_dump_test "x86-64-avx512dq-rcigrz-intel" +@@ -360,6 +371,17 @@ run_dump_test "x86-64-avx512f-rcigrne-in + run_dump_test "x86-64-avx512f-rcigrne" + run_dump_test "x86-64-avx512f-rcigru-intel" + run_dump_test "x86-64-avx512f-rcigru" ++run_list_test "x86-64-apx-egpr-inval" ++run_dump_test "x86-64-apx-evex-promoted-bad" ++run_list_test "x86-64-apx-egpr-promote-inval" "-al" ++run_dump_test "x86-64-apx-rex2" ++run_dump_test "x86-64-apx-evex-promoted" ++run_dump_test "x86-64-apx-evex-promoted-intel" ++run_dump_test "x86-64-apx-evex-egpr" ++run_dump_test "x86-64-apx-ndd" ++run_dump_test "x86-64-apx-jmpabs" ++run_dump_test "x86-64-apx-jmpabs-intel" ++run_dump_test "x86-64-apx-jmpabs-inval" + run_dump_test "x86-64-avx512f-rcigrz-intel" + run_dump_test "x86-64-avx512f-rcigrz" + run_dump_test "x86-64-clwb" +@@ -437,7 +459,22 @@ run_dump_test "x86-64-amx-complex-bad" + run_list_test "x86-64-amx-complex-inval" + run_dump_test "x86-64-fred" + run_dump_test "x86-64-lkgs" ++run_dump_test "x86-64-lkgs-intel" + run_list_test "x86-64-lkgs-inval" ++run_dump_test "x86-64-avx-vnni-int16" ++run_dump_test "x86-64-avx-vnni-int16-intel" ++run_dump_test "x86-64-sha512" ++run_dump_test "x86-64-sha512-intel" ++run_list_test "x86-64-sha512-inval" ++run_dump_test "x86-64-sm3" ++run_dump_test "x86-64-sm3-intel" ++run_dump_test "x86-64-sm4" ++run_dump_test "x86-64-sm4-intel" ++run_dump_test "x86-64-pbndkb" ++run_dump_test "x86-64-pbndkb-intel" ++run_dump_test "x86-64-user_msr" ++run_dump_test "x86-64-user_msr-intel" ++run_list_test "x86-64-user_msr-inval" + run_dump_test "x86-64-clzero" + run_dump_test "x86-64-mwaitx-bdver4" + run_list_test "x86-64-mwaitx-reg" +@@ -508,8 +545,8 @@ run_dump_test "x86-64-notrack-intel" + run_list_test "x86-64-notrackbad" "-al" + run_dump_test "x86-64-movd" + run_dump_test "x86-64-movd-intel" +-run_dump_test "x86-64-nop-1" +-run_dump_test "x86-64-nop-2" ++#run_dump_test "x86-64-nop-1" ++#run_dump_test "x86-64-nop-2" + run_dump_test "x86-64-movsxd" + run_dump_test "x86-64-movsxd-intel" + run_list_test "x86-64-movsxd-inval" "-al" +@@ -520,6 +557,7 @@ run_dump_test "x86-64-optimize-1" + run_dump_test "x86-64-optimize-2" + run_dump_test "x86-64-optimize-2a" + run_dump_test "x86-64-optimize-2b" ++run_dump_test "x86-64-optimize-2c" + run_dump_test "x86-64-optimize-3" + run_dump_test "x86-64-optimize-3b" + run_dump_test "x86-64-optimize-4" +@@ -528,6 +566,7 @@ run_dump_test "x86-64-optimize-6" + run_list_test "x86-64-optimize-7a" "-I${srcdir}/$subdir -march=+noavx -al" + run_dump_test "x86-64-optimize-7b" + run_list_test "x86-64-optimize-8" "-I${srcdir}/$subdir -march=+noavx2 -al" ++run_dump_test "x86-64-apx-ndd-optimize" + run_dump_test "x86-64-align-branch-1a" + run_dump_test "x86-64-align-branch-1b" + run_dump_test "x86-64-align-branch-1c" +@@ -547,7 +586,7 @@ if { ![istarget "*-*-darwin*"] } then { + run_dump_test "x86-64-align-branch-4a" + run_dump_test "x86-64-align-branch-4b" + run_dump_test "x86-64-align-branch-5" +-run_dump_test "x86-64-align-branch-6" ++#run_dump_test "x86-64-align-branch-6" + run_dump_test "x86-64-align-branch-7" + run_dump_test "x86-64-align-branch-8" + run_dump_test "x86-64-align-branch-9" +@@ -577,6 +616,7 @@ if { ![istarget "*-*-aix*"] + && ![istarget "*-*-solaris*"] + && ![istarget "*-*-sysv*"] } then { + run_dump_test "rex" ++ run_list_test "rex-bad" + } + + # ELF specific tests +@@ -627,13 +667,16 @@ if [is_elf_format] then { + run_dump_test "x86-64-gotpcrel-no-relax" + run_dump_test "x86-64-gotpcrel-2" + ++ run_dump_test "x86-64-gottpoff" ++ run_dump_test "x86-64-tlsdesc" ++ + run_dump_test "x86-64-no-got" + + run_dump_test "x86-64-addend" +- run_dump_test "x86-64-nop-3" +- run_dump_test "x86-64-nop-4" +- run_dump_test "x86-64-nop-5" +- run_dump_test "x86-64-nop-6" ++# run_dump_test "x86-64-nop-3" ++# run_dump_test "x86-64-nop-4" ++# run_dump_test "x86-64-nop-5" ++# run_dump_test "x86-64-nop-6" + run_dump_test "x86-64-unique" + + run_dump_test "x86-64-property-1" +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86_64-intel.d binutils-2.41/gas/testsuite/gas/i386/x86_64-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86_64-intel.d 2024-01-18 12:12:23.843946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86_64-intel.d 2024-01-18 13:32:46.396889359 +0000 +@@ -266,9 +266,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 66 0f 02 12 lar dx,WORD PTR \[rdx\] + [ ]*[a-f0-9]+: 0f 02 12 lar edx,WORD PTR \[rdx\] + [ ]*[a-f0-9]+: 0f 02 12 lar edx,WORD PTR \[rdx\] +-[ ]*[a-f0-9]+: 0f 00 d2 lldt dx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt dx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt dx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt edx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt edx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt edx + [ ]*[a-f0-9]+: 0f 00 12 lldt (WORD PTR )?\[rdx\] + [ ]*[a-f0-9]+: 66 0f 03 d2 lsl dx,dx + [ ]*[a-f0-9]+: 0f 03 d2 lsl edx,edx +@@ -278,17 +278,17 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 66 0f 03 12 lsl dx,WORD PTR \[rdx\] + [ ]*[a-f0-9]+: 0f 03 12 lsl edx,WORD PTR \[rdx\] + [ ]*[a-f0-9]+: 0f 03 12 lsl edx,WORD PTR \[rdx\] +-[ ]*[a-f0-9]+: 0f 00 da ltr dx +-[ ]*[a-f0-9]+: 0f 00 da ltr dx +-[ ]*[a-f0-9]+: 0f 00 da ltr dx ++[ ]*[a-f0-9]+: 0f 00 da ltr edx ++[ ]*[a-f0-9]+: 0f 00 da ltr edx ++[ ]*[a-f0-9]+: 0f 00 da ltr edx + [ ]*[a-f0-9]+: 0f 00 1a ltr (WORD PTR )?\[rdx\] +-[ ]*[a-f0-9]+: 0f 00 e2 verr dx +-[ ]*[a-f0-9]+: 0f 00 e2 verr dx +-[ ]*[a-f0-9]+: 0f 00 e2 verr dx ++[ ]*[a-f0-9]+: 0f 00 e2 verr edx ++[ ]*[a-f0-9]+: 0f 00 e2 verr edx ++[ ]*[a-f0-9]+: 0f 00 e2 verr edx + [ ]*[a-f0-9]+: 0f 00 22 verr (WORD PTR )?\[rdx\] +-[ ]*[a-f0-9]+: 0f 00 ea verw dx +-[ ]*[a-f0-9]+: 0f 00 ea verw dx +-[ ]*[a-f0-9]+: 0f 00 ea verw dx ++[ ]*[a-f0-9]+: 0f 00 ea verw edx ++[ ]*[a-f0-9]+: 0f 00 ea verw edx ++[ ]*[a-f0-9]+: 0f 00 ea verw edx + [ ]*[a-f0-9]+: 0f 00 2a verw (WORD PTR )?\[rdx\] + [ ]*[a-f0-9]+: 66 0f 02 d2 lar dx,dx + [ ]*[a-f0-9]+: 0f 02 d2 lar edx,edx +@@ -298,9 +298,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 66 0f 02 12 lar dx,WORD PTR \[rdx\] + [ ]*[a-f0-9]+: 0f 02 12 lar edx,WORD PTR \[rdx\] + [ ]*[a-f0-9]+: 0f 02 12 lar edx,WORD PTR \[rdx\] +-[ ]*[a-f0-9]+: 0f 00 d2 lldt dx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt dx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt dx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt edx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt edx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt edx + [ ]*[a-f0-9]+: 0f 00 12 lldt (WORD PTR )?\[rdx\] + [ ]*[a-f0-9]+: 0f 00 12 lldt (WORD PTR )?\[rdx\] + [ ]*[a-f0-9]+: 66 0f 03 d2 lsl dx,dx +@@ -311,19 +311,19 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 66 0f 03 12 lsl dx,WORD PTR \[rdx\] + [ ]*[a-f0-9]+: 0f 03 12 lsl edx,WORD PTR \[rdx\] + [ ]*[a-f0-9]+: 0f 03 12 lsl edx,WORD PTR \[rdx\] +-[ ]*[a-f0-9]+: 0f 00 da ltr dx +-[ ]*[a-f0-9]+: 0f 00 da ltr dx +-[ ]*[a-f0-9]+: 0f 00 da ltr dx ++[ ]*[a-f0-9]+: 0f 00 da ltr edx ++[ ]*[a-f0-9]+: 0f 00 da ltr edx ++[ ]*[a-f0-9]+: 0f 00 da ltr edx + [ ]*[a-f0-9]+: 0f 00 1a ltr (WORD PTR )?\[rdx\] + [ ]*[a-f0-9]+: 0f 00 1a ltr (WORD PTR )?\[rdx\] +-[ ]*[a-f0-9]+: 0f 00 e2 verr dx +-[ ]*[a-f0-9]+: 0f 00 e2 verr dx +-[ ]*[a-f0-9]+: 0f 00 e2 verr dx ++[ ]*[a-f0-9]+: 0f 00 e2 verr edx ++[ ]*[a-f0-9]+: 0f 00 e2 verr edx ++[ ]*[a-f0-9]+: 0f 00 e2 verr edx + [ ]*[a-f0-9]+: 0f 00 22 verr (WORD PTR )?\[rdx\] + [ ]*[a-f0-9]+: 0f 00 22 verr (WORD PTR )?\[rdx\] +-[ ]*[a-f0-9]+: 0f 00 ea verw dx +-[ ]*[a-f0-9]+: 0f 00 ea verw dx +-[ ]*[a-f0-9]+: 0f 00 ea verw dx ++[ ]*[a-f0-9]+: 0f 00 ea verw edx ++[ ]*[a-f0-9]+: 0f 00 ea verw edx ++[ ]*[a-f0-9]+: 0f 00 ea verw edx + [ ]*[a-f0-9]+: 0f 00 2a verw (WORD PTR )?\[rdx\] + [ ]*[a-f0-9]+: 0f 00 2a verw (WORD PTR )?\[rdx\] + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86_64.d binutils-2.41/gas/testsuite/gas/i386/x86_64.d +--- binutils.orig/gas/testsuite/gas/i386/x86_64.d 2024-01-18 12:12:23.843946100 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86_64.d 2024-01-18 13:32:46.396889359 +0000 +@@ -266,9 +266,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 66 0f 02 12 lar \(%rdx\),%dx + [ ]*[a-f0-9]+: 0f 02 12 lar \(%rdx\),%edx + [ ]*[a-f0-9]+: 0f 02 12 lar \(%rdx\),%edx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx + [ ]*[a-f0-9]+: 0f 00 12 lldt \(%rdx\) + [ ]*[a-f0-9]+: 66 0f 03 d2 lsl %dx,%dx + [ ]*[a-f0-9]+: 0f 03 d2 lsl %edx,%edx +@@ -278,17 +278,17 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 66 0f 03 12 lsl \(%rdx\),%dx + [ ]*[a-f0-9]+: 0f 03 12 lsl \(%rdx\),%edx + [ ]*[a-f0-9]+: 0f 03 12 lsl \(%rdx\),%edx +-[ ]*[a-f0-9]+: 0f 00 da ltr %dx +-[ ]*[a-f0-9]+: 0f 00 da ltr %dx +-[ ]*[a-f0-9]+: 0f 00 da ltr %dx ++[ ]*[a-f0-9]+: 0f 00 da ltr %edx ++[ ]*[a-f0-9]+: 0f 00 da ltr %edx ++[ ]*[a-f0-9]+: 0f 00 da ltr %edx + [ ]*[a-f0-9]+: 0f 00 1a ltr \(%rdx\) +-[ ]*[a-f0-9]+: 0f 00 e2 verr %dx +-[ ]*[a-f0-9]+: 0f 00 e2 verr %dx +-[ ]*[a-f0-9]+: 0f 00 e2 verr %dx ++[ ]*[a-f0-9]+: 0f 00 e2 verr %edx ++[ ]*[a-f0-9]+: 0f 00 e2 verr %edx ++[ ]*[a-f0-9]+: 0f 00 e2 verr %edx + [ ]*[a-f0-9]+: 0f 00 22 verr \(%rdx\) +-[ ]*[a-f0-9]+: 0f 00 ea verw %dx +-[ ]*[a-f0-9]+: 0f 00 ea verw %dx +-[ ]*[a-f0-9]+: 0f 00 ea verw %dx ++[ ]*[a-f0-9]+: 0f 00 ea verw %edx ++[ ]*[a-f0-9]+: 0f 00 ea verw %edx ++[ ]*[a-f0-9]+: 0f 00 ea verw %edx + [ ]*[a-f0-9]+: 0f 00 2a verw \(%rdx\) + [ ]*[a-f0-9]+: 66 0f 02 d2 lar %dx,%dx + [ ]*[a-f0-9]+: 0f 02 d2 lar %edx,%edx +@@ -298,9 +298,9 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 66 0f 02 12 lar \(%rdx\),%dx + [ ]*[a-f0-9]+: 0f 02 12 lar \(%rdx\),%edx + [ ]*[a-f0-9]+: 0f 02 12 lar \(%rdx\),%edx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx +-[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx ++[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx + [ ]*[a-f0-9]+: 0f 00 12 lldt \(%rdx\) + [ ]*[a-f0-9]+: 0f 00 12 lldt \(%rdx\) + [ ]*[a-f0-9]+: 66 0f 03 d2 lsl %dx,%dx +@@ -311,19 +311,19 @@ Disassembly of section .text: + [ ]*[a-f0-9]+: 66 0f 03 12 lsl \(%rdx\),%dx + [ ]*[a-f0-9]+: 0f 03 12 lsl \(%rdx\),%edx + [ ]*[a-f0-9]+: 0f 03 12 lsl \(%rdx\),%edx +-[ ]*[a-f0-9]+: 0f 00 da ltr %dx +-[ ]*[a-f0-9]+: 0f 00 da ltr %dx +-[ ]*[a-f0-9]+: 0f 00 da ltr %dx ++[ ]*[a-f0-9]+: 0f 00 da ltr %edx ++[ ]*[a-f0-9]+: 0f 00 da ltr %edx ++[ ]*[a-f0-9]+: 0f 00 da ltr %edx + [ ]*[a-f0-9]+: 0f 00 1a ltr \(%rdx\) + [ ]*[a-f0-9]+: 0f 00 1a ltr \(%rdx\) +-[ ]*[a-f0-9]+: 0f 00 e2 verr %dx +-[ ]*[a-f0-9]+: 0f 00 e2 verr %dx +-[ ]*[a-f0-9]+: 0f 00 e2 verr %dx ++[ ]*[a-f0-9]+: 0f 00 e2 verr %edx ++[ ]*[a-f0-9]+: 0f 00 e2 verr %edx ++[ ]*[a-f0-9]+: 0f 00 e2 verr %edx + [ ]*[a-f0-9]+: 0f 00 22 verr \(%rdx\) + [ ]*[a-f0-9]+: 0f 00 22 verr \(%rdx\) +-[ ]*[a-f0-9]+: 0f 00 ea verw %dx +-[ ]*[a-f0-9]+: 0f 00 ea verw %dx +-[ ]*[a-f0-9]+: 0f 00 ea verw %dx ++[ ]*[a-f0-9]+: 0f 00 ea verw %edx ++[ ]*[a-f0-9]+: 0f 00 ea verw %edx ++[ ]*[a-f0-9]+: 0f 00 ea verw %edx + [ ]*[a-f0-9]+: 0f 00 2a verw \(%rdx\) + [ ]*[a-f0-9]+: 0f 00 2a verw \(%rdx\) + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/xop.s binutils-2.41/gas/testsuite/gas/i386/xop.s +--- binutils.orig/gas/testsuite/gas/i386/xop.s 2024-01-18 12:12:23.844946101 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/xop.s 2024-01-18 13:32:46.397889359 +0000 +@@ -1,6 +1,5 @@ + # Check XOP instructions (maxcombos=16, maxops=3, archbits=32, seed=1) + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/xsavec-intel.d binutils-2.41/gas/testsuite/gas/i386/xsavec-intel.d +--- binutils.orig/gas/testsuite/gas/i386/xsavec-intel.d 2024-01-18 12:12:23.844946101 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/xsavec-intel.d 2024-01-18 13:32:46.397889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 XSAVEC insns (Intel disassembly) + #source: xsavec.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/xsavec.d binutils-2.41/gas/testsuite/gas/i386/xsavec.d +--- binutils.orig/gas/testsuite/gas/i386/xsavec.d 2024-01-18 12:12:23.844946101 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/xsavec.d 2024-01-18 13:32:46.397889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 XSAVEC insns + #source: xsavec.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/xsavec.s binutils-2.41/gas/testsuite/gas/i386/xsavec.s +--- binutils.orig/gas/testsuite/gas/i386/xsavec.s 2024-01-18 12:12:23.844946101 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/xsavec.s 2024-01-18 13:32:46.397889359 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit XSAVEC instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/testsuite/gas/i386/xsaves-intel.d binutils-2.41/gas/testsuite/gas/i386/xsaves-intel.d +--- binutils.orig/gas/testsuite/gas/i386/xsaves-intel.d 2024-01-18 12:12:23.844946101 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/xsaves-intel.d 2024-01-18 13:32:46.397889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw -Mintel + #name: i386 XSAVES insns (Intel disassembly) + #source: xsaves.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/xsaves.d binutils-2.41/gas/testsuite/gas/i386/xsaves.d +--- binutils.orig/gas/testsuite/gas/i386/xsaves.d 2024-01-18 12:12:23.844946101 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/xsaves.d 2024-01-18 13:32:46.397889359 +0000 +@@ -1,4 +1,3 @@ +-#as: + #objdump: -dw + #name: i386 XSAVES insns + #source: xsaves.s +diff -rupN binutils.orig/gas/testsuite/gas/i386/xsaves.s binutils-2.41/gas/testsuite/gas/i386/xsaves.s +--- binutils.orig/gas/testsuite/gas/i386/xsaves.s 2024-01-18 12:12:23.844946101 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/xsaves.s 2024-01-18 13:32:46.397889359 +0000 +@@ -1,6 +1,5 @@ + # Check 32bit XSAVES instructions + +- .allow_index_reg + .text + _start: + +diff -rupN binutils.orig/gas/write.h binutils-2.41/gas/write.h +--- binutils.orig/gas/write.h 2024-01-18 12:12:24.072946261 +0000 ++++ binutils-2.41/gas/write.h 2024-01-18 13:20:25.972473331 +0000 +@@ -81,9 +81,10 @@ struct fix + /* Some bits for the CPU specific code. */ + unsigned fx_tcbit : 1; + unsigned fx_tcbit2 : 1; ++ unsigned fx_tcbit3 : 1; + + /* Spare bits. */ +- unsigned fx_unused : 2; ++ unsigned fx_unused : 1; + + bfd_reloc_code_real_type fx_r_type; + +diff -rupN binutils.orig/gas/write.c binutils-2.41/gas/write.c +--- binutils.orig/gas/write.c ++++ binutils-2.41/gas/write.c +@@ -169,6 +169,7 @@ fix_new_internal (fragS *frag, /* Which frag? */ + fixP->fx_addnumber = 0; + fixP->fx_tcbit = 0; + fixP->fx_tcbit2 = 0; ++ fixP->fx_tcbit3 = 0; + fixP->fx_done = 0; + fixP->fx_no_overflow = 0; + fixP->fx_signed = 0; +diff -rupN binutils.orig/include/elf/x86-64.h binutils-2.41/include/elf/x86-64.h +--- binutils.orig/include/elf/x86-64.h 2024-01-18 12:12:24.187946342 +0000 ++++ binutils-2.41/include/elf/x86-64.h 2024-01-18 12:34:18.507470200 +0000 +@@ -77,11 +77,21 @@ START_RELOC_NUMBERS (elf_x86_64_reloc_ty + RELOC_NUMBER (R_X86_64_PLT32_BND, 40) /* 32 bit PLT address with + BND prefix */ + /* Load from 32 bit signed pc relative offset to GOT entry without +- REX prefix, relaxable. */ ++ REX nor REX2 prefixes, relaxable. */ + RELOC_NUMBER (R_X86_64_GOTPCRELX, 41) + /* Load from 32 bit signed pc relative offset to GOT entry with + REX prefix, relaxable. */ + RELOC_NUMBER (R_X86_64_REX_GOTPCRELX, 42) ++ /* Load from 32 bit signed pc relative offset to GOT entry if the ++ instruction starts at 4 bytes before the relocation offset, ++ relaxable. */ ++ RELOC_NUMBER (R_X86_64_CODE_4_GOTPCRELX, 43) ++ /* PC relative offset to IE GOT entry if the instruction starts at ++ 4 bytes before the relocation offset. */ ++ RELOC_NUMBER (R_X86_64_CODE_4_GOTTPOFF, 44) ++ /* 32 bit signed pc relative offset to TLS descriptor in the GOT if ++ instruction starts at 4 bytes before the relocation offset. */ ++ RELOC_NUMBER (R_X86_64_CODE_4_GOTPC32_TLSDESC, 45) + RELOC_NUMBER (R_X86_64_GNU_VTINHERIT, 250) /* GNU C++ hack */ + RELOC_NUMBER (R_X86_64_GNU_VTENTRY, 251) /* GNU C++ hack */ + END_RELOC_NUMBERS (R_X86_64_max) +diff -rupN binutils.orig/include/opcode/i386.h binutils-2.41/include/opcode/i386.h +--- binutils.orig/include/opcode/i386.h 2024-01-18 12:12:24.196946348 +0000 ++++ binutils-2.41/include/opcode/i386.h 2024-01-18 12:13:02.027972914 +0000 +@@ -1,5 +1,5 @@ + /* opcode/i386.h -- Intel 80386 opcode macros +- Copyright (C) 1989-2023 Free Software Foundation, Inc. ++ Copyright (C) 1989-2024 Free Software Foundation, Inc. + + This file is part of GAS, the GNU Assembler, and GDB, the GNU Debugger. + +@@ -112,9 +112,13 @@ + /* x86-64 extension prefix. */ + #define REX_OPCODE 0x40 + ++#define REX2_OPCODE 0xd5 ++ + /* Non-zero if OPCODE is the rex prefix. */ + #define REX_PREFIX_P(opcode) (((opcode) & 0xf0) == REX_OPCODE) + ++/* M0 in rex2 prefix represents map0 or map1. */ ++#define REX2_M 0x8 + /* Indicates 64 bit operand size. */ + #define REX_W 8 + /* High extension to reg field of modrm byte. */ +diff -rupN binutils.orig/ld/testsuite/ld-x86-64/pe-x86-64-6.od binutils-2.41/ld/testsuite/ld-x86-64/pe-x86-64-6.od +--- binutils.orig/ld/testsuite/ld-x86-64/pe-x86-64-6.od 2024-01-18 12:12:24.521946577 +0000 ++++ binutils-2.41/ld/testsuite/ld-x86-64/pe-x86-64-6.od 2024-01-18 14:14:16.286714811 +0000 +@@ -42,7 +42,7 @@ Disassembly of section .text\$mn: + +[a-f0-9]+: 2b 84 2b 48 30 00 00 sub 0x3048\(%rbx,%rbp,1\),%eax + +[a-f0-9]+: 99 cltd + +[a-f0-9]+: 2b c2 sub %edx,%eax +- +[a-f0-9]+: d1 f8 sar %eax ++ +[a-f0-9]+: d1 f8 sar \$1,%eax + +[a-f0-9]+: 48 63 d0 movslq %eax,%rdx + +[a-f0-9]+: 48 03 d6 add %rsi,%rdx + +[a-f0-9]+: 48 ff c1 inc %rcx +diff -rupN binutils.orig/ld/testsuite/ld-x86-64/x86-64.exp binutils-2.41/ld/testsuite/ld-x86-64/x86-64.exp +--- binutils.orig/ld/testsuite/ld-x86-64/x86-64.exp 2024-01-18 12:12:24.541946590 +0000 ++++ binutils-2.41/ld/testsuite/ld-x86-64/x86-64.exp 2024-01-18 14:10:52.270339288 +0000 +@@ -1382,30 +1382,6 @@ if { [isnative] && [check_compiler_avail + "libprotected-func-2b.so" \ + ] \ + [list \ +- "Build protected-func-2 without PIE" \ +- "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libprotected-func-2b.so" \ +- "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ +- { protected-func-1b.c } \ +- {} \ +- "protected-func-2" \ +- ] \ +- [list \ +- "Build libprotected-func-2c.so" \ +- "-shared" \ +- "-fPIC -Wa,-mx86-used-note=yes" \ +- { protected-func-2c.c } \ +- {} \ +- "libprotected-func-2c.so" \ +- ] \ +- [list \ +- "Build protected-func-2a without PIE" \ +- "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libprotected-func-2c.so" \ +- "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ +- { protected-func-1b.c } \ +- {} \ +- "protected-func-2a" \ +- ] \ +- [list \ + "Build libprotected-data-1a.so" \ + "-shared -z noindirect-extern-access" \ + "-fPIC -Wa,-mx86-used-note=yes" \ +diff -rupN binutils.orig/opcodes/i386-dis-evex-len.h binutils-2.41/opcodes/i386-dis-evex-len.h +--- binutils.orig/opcodes/i386-dis-evex-len.h 2024-01-18 12:12:24.601946633 +0000 ++++ binutils-2.41/opcodes/i386-dis-evex-len.h 2024-01-18 12:13:13.517911158 +0000 +@@ -13,18 +13,18 @@ static const struct dis386 evex_len_tabl + { VEX_W_TABLE (EVEX_W_0F3819_L_n) }, + }, + +- /* EVEX_LEN_0F381A_M_0 */ ++ /* EVEX_LEN_0F381A */ + { + { Bad_Opcode }, +- { VEX_W_TABLE (EVEX_W_0F381A_M_0_L_n) }, +- { VEX_W_TABLE (EVEX_W_0F381A_M_0_L_n) }, ++ { VEX_W_TABLE (EVEX_W_0F381A_L_n) }, ++ { VEX_W_TABLE (EVEX_W_0F381A_L_n) }, + }, + +- /* EVEX_LEN_0F381B_M_0 */ ++ /* EVEX_LEN_0F381B */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_W_TABLE (EVEX_W_0F381B_M_0_L_2) }, ++ { VEX_W_TABLE (EVEX_W_0F381B_L_2) }, + }, + + /* EVEX_LEN_0F3836 */ +@@ -34,32 +34,32 @@ static const struct dis386 evex_len_tabl + { "vperm%DQ", { XM, Vex, EXx }, PREFIX_DATA }, + }, + +- /* EVEX_LEN_0F385A_M_0 */ ++ /* EVEX_LEN_0F385A */ + { + { Bad_Opcode }, +- { VEX_W_TABLE (EVEX_W_0F385A_M_0_L_n) }, +- { VEX_W_TABLE (EVEX_W_0F385A_M_0_L_n) }, ++ { VEX_W_TABLE (EVEX_W_0F385A_L_n) }, ++ { VEX_W_TABLE (EVEX_W_0F385A_L_n) }, + }, + +- /* EVEX_LEN_0F385B_M_0 */ ++ /* EVEX_LEN_0F385B */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_W_TABLE (EVEX_W_0F385B_M_0_L_2) }, ++ { VEX_W_TABLE (EVEX_W_0F385B_L_2) }, + }, + +- /* EVEX_LEN_0F38C6_M_0 */ ++ /* EVEX_LEN_0F38C6 */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { REG_TABLE (REG_EVEX_0F38C6_M_0_L_2) }, ++ { REG_TABLE (REG_EVEX_0F38C6_L_2) }, + }, + +- /* EVEX_LEN_0F38C7_M_0 */ ++ /* EVEX_LEN_0F38C7 */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { REG_TABLE (REG_EVEX_0F38C7_M_0_L_2) }, ++ { REG_TABLE (REG_EVEX_0F38C7_L_2) }, + }, + + /* EVEX_LEN_0F3A00 */ +diff -rupN binutils.orig/opcodes/i386-dis-evex-mod.h binutils-2.41/opcodes/i386-dis-evex-mod.h +--- binutils.orig/opcodes/i386-dis-evex-mod.h 2024-01-18 12:12:24.601946633 +0000 ++++ binutils-2.41/opcodes/i386-dis-evex-mod.h 2024-01-18 12:13:13.517911158 +0000 +@@ -1,59 +1 @@ +- /* MOD_EVEX_0F381A */ +- { +- { EVEX_LEN_TABLE (EVEX_LEN_0F381A_M_0) }, +- }, +- /* MOD_EVEX_0F381B */ +- { +- { EVEX_LEN_TABLE (EVEX_LEN_0F381B_M_0) }, +- }, +- /* MOD_EVEX_0F3828_P_1 */ +- { +- { Bad_Opcode }, +- { "vpmovm2%BW", { XM, MaskE }, 0 }, +- }, +- /* MOD_EVEX_0F382A_P_1_W_1 */ +- { +- { Bad_Opcode }, +- { "vpbroadcastmb2q", { XM, MaskE }, 0 }, +- }, +- /* MOD_EVEX_0F3838_P_1 */ +- { +- { Bad_Opcode }, +- { "vpmovm2%DQ", { XM, MaskE }, 0 }, +- }, +- /* MOD_EVEX_0F383A_P_1_W_0 */ +- { +- { Bad_Opcode }, +- { "vpbroadcastmw2d", { XM, MaskE }, 0 }, +- }, +- /* MOD_EVEX_0F385A */ +- { +- { EVEX_LEN_TABLE (EVEX_LEN_0F385A_M_0) }, +- }, +- /* MOD_EVEX_0F385B */ +- { +- { EVEX_LEN_TABLE (EVEX_LEN_0F385B_M_0) }, +- }, +- /* MOD_EVEX_0F387A_W_0 */ +- { +- { Bad_Opcode }, +- { "vpbroadcastb", { XM, Ed }, PREFIX_DATA }, +- }, +- /* MOD_EVEX_0F387B_W_0 */ +- { +- { Bad_Opcode }, +- { "vpbroadcastw", { XM, Ed }, PREFIX_DATA }, +- }, +- /* MOD_EVEX_0F387C */ +- { +- { Bad_Opcode }, +- { "vpbroadcastK", { XM, Edq }, PREFIX_DATA }, +- }, +- { +- /* MOD_EVEX_0F38C6 */ +- { EVEX_LEN_TABLE (EVEX_LEN_0F38C6_M_0) }, +- }, +- { +- /* MOD_EVEX_0F38C7 */ +- { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_M_0) }, +- }, ++/* Nothing at present. */ +diff -rupN binutils.orig/opcodes/i386-dis-evex-prefix.h binutils-2.41/opcodes/i386-dis-evex-prefix.h +--- binutils.orig/opcodes/i386-dis-evex-prefix.h 2024-01-18 12:12:24.601946633 +0000 ++++ binutils-2.41/opcodes/i386-dis-evex-prefix.h 2024-01-18 12:13:13.517911158 +0000 +@@ -42,9 +42,9 @@ + /* PREFIX_EVEX_0F7B */ + { + { Bad_Opcode }, +- { "vcvtusi2ss{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, ++ { "vcvtusi2ssY{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, + { VEX_W_TABLE (EVEX_W_0F7B_P_2) }, +- { "vcvtusi2sd{%LQ|}", { XMScalar, VexScalar, EXxEVexR64, Edq }, 0 }, ++ { "vcvtusi2sdY{%LQ|}", { XMScalar, VexScalar, EXxEVexR64, Edq }, 0 }, + }, + /* PREFIX_EVEX_0F7E */ + { +@@ -160,13 +160,13 @@ + /* PREFIX_EVEX_0F3828 */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_EVEX_0F3828_P_1) }, ++ { "vpmovm2Y%BW", { XM, MaskR }, 0 }, + { VEX_W_TABLE (EVEX_W_0F3828_P_2) }, + }, + /* PREFIX_EVEX_0F3829 */ + { + { Bad_Opcode }, +- { "vpmov%BW2m", { MaskG, EXx }, 0 }, ++ { "vpmov%BW2mY", { MaskG, Ux }, 0 }, + { VEX_W_TABLE (EVEX_W_0F3829_P_2) }, + }, + /* PREFIX_EVEX_0F382A */ +@@ -214,13 +214,13 @@ + /* PREFIX_EVEX_0F3838 */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_EVEX_0F3838_P_1) }, ++ { "vpmovm2Y%DQ", { XM, MaskR }, 0 }, + { "%XEvpminsb", { XM, Vex, EXx }, 0 }, + }, + /* PREFIX_EVEX_0F3839 */ + { + { Bad_Opcode }, +- { "vpmov%DQ2m", { MaskG, EXx }, 0 }, ++ { "vpmov%DQ2mY", { MaskG, Ux }, 0 }, + { "%XEvpmins%DQ", { XM, Vex, EXx }, 0 }, + }, + /* PREFIX_EVEX_0F383A */ +@@ -248,7 +248,7 @@ + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { "vp2intersect%DQ", { MaskG, Vex, EXx, EXxEVexS }, 0 }, ++ { "vp2intersectY%DQ", { MaskG, Vex, EXx, EXxEVexS }, 0 }, + }, + /* PREFIX_EVEX_0F3872 */ + { +@@ -338,6 +338,64 @@ + { "vcmpp%XH", { MaskG, Vex, EXxh, EXxEVexS, CMP }, 0 }, + { "vcmps%XH", { MaskG, VexScalar, EXw, EXxEVexS, CMP }, 0 }, + }, ++ /* PREFIX_EVEX_MAP4_D8 */ ++ { ++ { "sha1nexte", { XM, EXxmm }, 0 }, ++ { REG_TABLE (REG_0F38D8_PREFIX_1) }, ++ }, ++ /* PREFIX_EVEX_MAP4_DA */ ++ { ++ { "sha1msg2", { XM, EXxmm }, 0 }, ++ { "encodekey128", { Gd, Rd }, 0 }, ++ }, ++ /* PREFIX_EVEX_MAP4_DB */ ++ { ++ { "sha256rnds2", { XM, EXxmm, XMM0 }, 0 }, ++ { "encodekey256", { Gd, Rd }, 0 }, ++ }, ++ /* PREFIX_EVEX_MAP4_DC */ ++ { ++ { "sha256msg1", { XM, EXxmm }, 0 }, ++ { "aesenc128kl", { XM, M }, 0 }, ++ }, ++ /* PREFIX_EVEX_MAP4_DD */ ++ { ++ { "sha256msg2", { XM, EXxmm }, 0 }, ++ { "aesdec128kl", { XM, M }, 0 }, ++ }, ++ /* PREFIX_EVEX_MAP4_DE */ ++ { ++ { Bad_Opcode }, ++ { "aesenc256kl", { XM, M }, 0 }, ++ }, ++ /* PREFIX_EVEX_MAP4_DF */ ++ { ++ { Bad_Opcode }, ++ { "aesdec256kl", { XM, M }, 0 }, ++ }, ++ /* PREFIX_EVEX_MAP4_F0 */ ++ { ++ { "crc32A", { Gdq, Eb }, 0 }, ++ { "invept", { Gm, Mo }, 0 }, ++ }, ++ /* PREFIX_EVEX_MAP4_F1 */ ++ { ++ { "crc32Q", { Gdq, Ev }, 0 }, ++ { "invvpid", { Gm, Mo }, 0 }, ++ { "crc32Q", { Gdq, Ev }, 0 }, ++ }, ++ /* PREFIX_EVEX_MAP4_F2 */ ++ { ++ { Bad_Opcode }, ++ { "invpcid", { Gm, M }, 0 }, ++ }, ++ /* PREFIX_EVEX_MAP4_F8 */ ++ { ++ { Bad_Opcode }, ++ { "enqcmds", { Gva, M }, 0 }, ++ { "movdir64b", { Gva, M }, 0 }, ++ { "enqcmd", { Gva, M }, 0 }, ++ }, + /* PREFIX_EVEX_MAP5_10 */ + { + { Bad_Opcode }, +@@ -357,7 +415,7 @@ + /* PREFIX_EVEX_MAP5_2A */ + { + { Bad_Opcode }, +- { "vcvtsi2sh{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, ++ { "vcvtsi2shY{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, + }, + /* PREFIX_EVEX_MAP5_2C */ + { +@@ -371,11 +429,11 @@ + }, + /* PREFIX_EVEX_MAP5_2E */ + { +- { "vucomis%XH", { XMScalar, EXw, EXxEVexS }, 0 }, ++ { "vucomisY%XH", { XMScalar, EXw, EXxEVexS }, 0 }, + }, + /* PREFIX_EVEX_MAP5_2F */ + { +- { "vcomis%XH", { XMScalar, EXw, EXxEVexS }, 0 }, ++ { "vcomisY%XH", { XMScalar, EXw, EXxEVexS }, 0 }, + }, + /* PREFIX_EVEX_MAP5_51 */ + { +@@ -447,7 +505,7 @@ + /* PREFIX_EVEX_MAP5_7B */ + { + { Bad_Opcode }, +- { "vcvtusi2sh{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, ++ { "vcvtusi2shY{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, + { "vcvtp%XH2qq", { XM, EXxmmqdh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP5_7C */ +diff -rupN binutils.orig/opcodes/i386-dis-evex-reg.h binutils-2.41/opcodes/i386-dis-evex-reg.h +--- binutils.orig/opcodes/i386-dis-evex-reg.h 2024-01-18 12:12:24.601946633 +0000 ++++ binutils-2.41/opcodes/i386-dis-evex-reg.h 2024-01-18 12:13:13.517911158 +0000 +@@ -23,13 +23,13 @@ + { Bad_Opcode }, + { Bad_Opcode }, + { VEX_W_TABLE (EVEX_W_0F73_R_2) }, +- { "%XEvpsrldq", { Vex, EXx, Ib }, PREFIX_DATA }, ++ { "%XEvpsrldqY", { Vex, EXx, Ib }, PREFIX_DATA }, + { Bad_Opcode }, + { Bad_Opcode }, + { VEX_W_TABLE (EVEX_W_0F73_R_6) }, +- { "%XEvpslldq", { Vex, EXx, Ib }, PREFIX_DATA }, ++ { "%XEvpslldqY", { Vex, EXx, Ib }, PREFIX_DATA }, + }, +- /* REG_EVEX_0F38C6_M_0_L_2 */ ++ /* REG_EVEX_0F38C6_L_2 */ + { + { Bad_Opcode }, + { "vgatherpf0dp%XW", { MVexVSIBDWpX }, PREFIX_DATA }, +@@ -39,7 +39,7 @@ + { "vscatterpf0dp%XW", { MVexVSIBDWpX }, PREFIX_DATA }, + { "vscatterpf1dp%XW", { MVexVSIBDWpX }, PREFIX_DATA }, + }, +- /* REG_EVEX_0F38C7_M_0_L_2_W_0 */ ++ /* REG_EVEX_0F38C7_L_2 */ + { + { Bad_Opcode }, + { "vgatherpf0qp%XW", { MVexVSIBQWpX }, PREFIX_DATA }, +@@ -49,3 +49,66 @@ + { "vscatterpf0qp%XW", { MVexVSIBQWpX }, PREFIX_DATA }, + { "vscatterpf1qp%XW", { MVexVSIBQWpX }, PREFIX_DATA }, + }, ++ /* REG_EVEX_MAP4_80 */ ++ { ++ { "addA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "orA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "adcA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "sbbA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "andA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "subA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "xorA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ }, ++ /* REG_EVEX_MAP4_81 */ ++ { ++ { "addQ", { VexGv, Ev, Iv }, PREFIX_NP_OR_DATA }, ++ { "orQ", { VexGv, Ev, Iv }, PREFIX_NP_OR_DATA }, ++ { "adcQ", { VexGv, Ev, Iv }, PREFIX_NP_OR_DATA }, ++ { "sbbQ", { VexGv, Ev, Iv }, PREFIX_NP_OR_DATA }, ++ { "andQ", { VexGv, Ev, Iv }, PREFIX_NP_OR_DATA }, ++ { "subQ", { VexGv, Ev, Iv }, PREFIX_NP_OR_DATA }, ++ { "xorQ", { VexGv, Ev, Iv }, PREFIX_NP_OR_DATA }, ++ }, ++ /* REG_EVEX_MAP4_83 */ ++ { ++ { "addQ", { VexGv, Ev, sIb }, PREFIX_NP_OR_DATA }, ++ { "orQ", { VexGv, Ev, sIb }, PREFIX_NP_OR_DATA }, ++ { "adcQ", { VexGv, Ev, sIb }, PREFIX_NP_OR_DATA }, ++ { "sbbQ", { VexGv, Ev, sIb }, PREFIX_NP_OR_DATA }, ++ { "andQ", { VexGv, Ev, sIb }, PREFIX_NP_OR_DATA }, ++ { "subQ", { VexGv, Ev, sIb }, PREFIX_NP_OR_DATA }, ++ { "xorQ", { VexGv, Ev, sIb }, PREFIX_NP_OR_DATA }, ++ }, ++ /* REG_EVEX_MAP4_8F */ ++ { ++ { VEX_W_TABLE (EVEX_W_MAP4_8F_R_0) }, ++ }, ++ /* REG_EVEX_MAP4_F6 */ ++ { ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { "notA", { VexGb, Eb }, NO_PREFIX }, ++ { "negA", { VexGb, Eb }, NO_PREFIX }, ++ }, ++ /* REG_EVEX_MAP4_F7 */ ++ { ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { "notQ", { VexGv, Ev }, PREFIX_NP_OR_DATA }, ++ { "negQ", { VexGv, Ev }, PREFIX_NP_OR_DATA }, ++ }, ++ /* REG_EVEX_MAP4_FE */ ++ { ++ { "incA", { VexGb, Eb }, NO_PREFIX }, ++ { "decA", { VexGb, Eb }, NO_PREFIX }, ++ }, ++ /* REG_EVEX_MAP4_FF */ ++ { ++ { "incQ", { VexGv, Ev }, PREFIX_NP_OR_DATA }, ++ { "decQ", { VexGv, Ev }, PREFIX_NP_OR_DATA }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { VEX_W_TABLE (EVEX_W_MAP4_FF_R_6) }, ++ }, +diff -rupN binutils.orig/opcodes/i386-dis-evex-w.h binutils-2.41/opcodes/i386-dis-evex-w.h +--- binutils.orig/opcodes/i386-dis-evex-w.h 2024-01-18 12:12:24.601946633 +0000 ++++ binutils-2.41/opcodes/i386-dis-evex-w.h 2024-01-18 12:13:13.517911158 +0000 +@@ -156,7 +156,7 @@ + }, + /* EVEX_W_0FE7 */ + { +- { "%XEvmovntdq", { EXEvexXNoBcst, XM }, PREFIX_DATA }, ++ { "%XEvmovntdq", { Mx, XM }, PREFIX_DATA }, + }, + /* EVEX_W_0FF2 */ + { +@@ -229,15 +229,15 @@ + { "vbroadcastf32x2", { XM, EXq }, PREFIX_DATA }, + { "%XEvbroadcastsd", { XM, EXq }, PREFIX_DATA }, + }, +- /* EVEX_W_0F381A_M_0_L_n */ ++ /* EVEX_W_0F381A_L_n */ + { +- { "vbroadcastf32x4", { XM, EXxmm }, PREFIX_DATA }, +- { "vbroadcastf64x2", { XM, EXxmm }, PREFIX_DATA }, ++ { "vbroadcastf32x4", { XM, Mxmm }, PREFIX_DATA }, ++ { "vbroadcastf64x2", { XM, Mxmm }, PREFIX_DATA }, + }, +- /* EVEX_W_0F381B_M_0_L_2 */ ++ /* EVEX_W_0F381B_L_2 */ + { +- { "vbroadcastf32x8", { XM, EXymm }, PREFIX_DATA }, +- { "vbroadcastf64x4", { XM, EXymm }, PREFIX_DATA }, ++ { "vbroadcastf32x8", { XM, Mymm }, PREFIX_DATA }, ++ { "vbroadcastf64x4", { XM, Mymm }, PREFIX_DATA }, + }, + /* EVEX_W_0F381E */ + { +@@ -289,11 +289,11 @@ + /* EVEX_W_0F382A_P_1 */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_EVEX_0F382A_P_1_W_1) }, ++ { "vpbroadcastmb2qY", { XM, MaskR }, 0 }, + }, + /* EVEX_W_0F382A_P_2 */ + { +- { "%XEvmovntdqa", { XM, EXEvexXNoBcst }, 0 }, ++ { "%XEvmovntdqaY", { XM, Mx }, 0 }, + }, + /* EVEX_W_0F382B */ + { +@@ -334,22 +334,22 @@ + }, + /* EVEX_W_0F383A_P_1 */ + { +- { MOD_TABLE (MOD_EVEX_0F383A_P_1_W_0) }, ++ { "vpbroadcastmw2dY", { XM, MaskR }, 0 }, + }, + /* EVEX_W_0F3859 */ + { + { "vbroadcasti32x2", { XM, EXq }, PREFIX_DATA }, + { "%XEvpbroadcastq", { XM, EXq }, PREFIX_DATA }, + }, +- /* EVEX_W_0F385A_M_0_L_n */ ++ /* EVEX_W_0F385A_L_n */ + { +- { "vbroadcasti32x4", { XM, EXxmm }, PREFIX_DATA }, +- { "vbroadcasti64x2", { XM, EXxmm }, PREFIX_DATA }, ++ { "vbroadcasti32x4", { XM, Mxmm }, PREFIX_DATA }, ++ { "vbroadcasti64x2", { XM, Mxmm }, PREFIX_DATA }, + }, +- /* EVEX_W_0F385B_M_0_L_2 */ ++ /* EVEX_W_0F385B_L_2 */ + { +- { "vbroadcasti32x8", { XM, EXymm }, PREFIX_DATA }, +- { "vbroadcasti64x4", { XM, EXymm }, PREFIX_DATA }, ++ { "vbroadcasti32x8", { XM, Mymm }, PREFIX_DATA }, ++ { "vbroadcasti64x4", { XM, Mymm }, PREFIX_DATA }, + }, + /* EVEX_W_0F3870 */ + { +@@ -363,11 +363,11 @@ + }, + /* EVEX_W_0F387A */ + { +- { MOD_TABLE (MOD_EVEX_0F387A_W_0) }, ++ { "vpbroadcastb", { XM, Rd }, PREFIX_DATA }, + }, + /* EVEX_W_0F387B */ + { +- { MOD_TABLE (MOD_EVEX_0F387B_W_0) }, ++ { "vpbroadcastw", { XM, Rd }, PREFIX_DATA }, + }, + /* EVEX_W_0F3883 */ + { +@@ -442,6 +442,16 @@ + { Bad_Opcode }, + { "vpshrdw", { XM, Vex, EXx, Ib }, 0 }, + }, ++ /* EVEX_W_MAP4_8F_R_0 */ ++ { ++ { "pop2", { { PUSH2_POP2_Fixup, q_mode}, Eq }, NO_PREFIX }, ++ { "pop2p", { { PUSH2_POP2_Fixup, q_mode}, Eq }, NO_PREFIX }, ++ }, ++ /* EVEX_W_MAP4_FF_R_6 */ ++ { ++ { "push2", { { PUSH2_POP2_Fixup, q_mode}, Eq }, 0 }, ++ { "push2p", { { PUSH2_POP2_Fixup, q_mode}, Eq }, 0 }, ++ }, + /* EVEX_W_MAP5_5B_P_0 */ + { + { "vcvtdq2ph%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, +diff -rupN binutils.orig/opcodes/i386-dis-evex-x86-64.h binutils-2.41/opcodes/i386-dis-evex-x86-64.h +--- binutils.orig/opcodes/i386-dis-evex-x86-64.h 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/opcodes/i386-dis-evex-x86-64.h 2024-01-18 12:13:13.517911158 +0000 +@@ -0,0 +1,50 @@ ++ /* X86_64_EVEX_0F90 */ ++ { ++ { Bad_Opcode }, ++ { VEX_W_TABLE (VEX_W_0F90_L_0) }, ++ }, ++ /* X86_64_EVEX_0F91 */ ++ { ++ { Bad_Opcode }, ++ { VEX_W_TABLE (VEX_W_0F91_L_0) }, ++ }, ++ /* X86_64_EVEX_0F92 */ ++ { ++ { Bad_Opcode }, ++ { VEX_W_TABLE (VEX_W_0F92_L_0) }, ++ }, ++ /* X86_64_EVEX_0F93 */ ++ { ++ { Bad_Opcode }, ++ { VEX_W_TABLE (VEX_W_0F93_L_0) }, ++ }, ++ /* X86_64_EVEX_0F38F2 */ ++ { ++ { Bad_Opcode }, ++ { PREFIX_TABLE (PREFIX_VEX_0F38F2_L_0) }, ++ }, ++ /* X86_64_EVEX_0F38F3 */ ++ { ++ { Bad_Opcode }, ++ { PREFIX_TABLE (PREFIX_VEX_0F38F3_L_0) }, ++ }, ++ /* X86_64_EVEX_0F38F5 */ ++ { ++ { Bad_Opcode }, ++ { PREFIX_TABLE (PREFIX_VEX_0F38F5_L_0) }, ++ }, ++ /* X86_64_EVEX_0F38F6 */ ++ { ++ { Bad_Opcode }, ++ { PREFIX_TABLE(PREFIX_VEX_0F38F6_L_0) }, ++ }, ++ /* X86_64_EVEX_0F38F7 */ ++ { ++ { Bad_Opcode }, ++ { PREFIX_TABLE(PREFIX_VEX_0F38F7_L_0) }, ++ }, ++ /* X86_64_EVEX_0F3AF0 */ ++ { ++ { Bad_Opcode }, ++ { PREFIX_TABLE (PREFIX_VEX_0F3AF0_L_0) }, ++ }, +diff -rupN binutils.orig/opcodes/i386-dis-evex.h binutils-2.41/opcodes/i386-dis-evex.h +--- binutils.orig/opcodes/i386-dis-evex.h 2024-01-18 12:12:24.601946633 +0000 ++++ binutils-2.41/opcodes/i386-dis-evex.h 2024-01-18 12:13:13.517911158 +0000 +@@ -20,14 +20,14 @@ static const struct dis386 evex_table[][ + { Bad_Opcode }, + { Bad_Opcode }, + /* 10 */ +- { PREFIX_TABLE (PREFIX_VEX_0F10) }, +- { PREFIX_TABLE (PREFIX_VEX_0F11) }, ++ { PREFIX_TABLE (PREFIX_0F10) }, ++ { PREFIX_TABLE (PREFIX_0F11) }, + { PREFIX_TABLE (PREFIX_VEX_0F12) }, +- { MOD_TABLE (MOD_VEX_0F13) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F13) }, + { "%XEvunpcklpX", { XM, Vex, EXx }, PREFIX_OPCODE }, + { "%XEvunpckhpX", { XM, Vex, EXx }, PREFIX_OPCODE }, + { PREFIX_TABLE (PREFIX_VEX_0F16) }, +- { MOD_TABLE (MOD_VEX_0F17) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F17) }, + /* 18 */ + { Bad_Opcode }, + { Bad_Opcode }, +@@ -50,11 +50,11 @@ static const struct dis386 evex_table[][ + { "%XEvmovapX", { XM, EXx }, PREFIX_OPCODE }, + { "%XEvmovapX", { EXxS, XM }, PREFIX_OPCODE }, + { PREFIX_TABLE (PREFIX_VEX_0F2A) }, +- { MOD_TABLE (MOD_VEX_0F2B) }, ++ { "%XEvmovntpX", { Mx, XM }, PREFIX_OPCODE }, + { PREFIX_TABLE (PREFIX_VEX_0F2C) }, + { PREFIX_TABLE (PREFIX_VEX_0F2D) }, +- { PREFIX_TABLE (PREFIX_VEX_0F2E) }, +- { PREFIX_TABLE (PREFIX_VEX_0F2F) }, ++ { PREFIX_TABLE (PREFIX_0F2E) }, ++ { PREFIX_TABLE (PREFIX_0F2F) }, + /* 30 */ + { Bad_Opcode }, + { Bad_Opcode }, +@@ -93,7 +93,7 @@ static const struct dis386 evex_table[][ + { Bad_Opcode }, + /* 50 */ + { Bad_Opcode }, +- { PREFIX_TABLE (PREFIX_VEX_0F51) }, ++ { PREFIX_TABLE (PREFIX_0F51) }, + { Bad_Opcode }, + { Bad_Opcode }, + { "%XEvandpX", { XM, Vex, EXx }, PREFIX_OPCODE }, +@@ -101,14 +101,14 @@ static const struct dis386 evex_table[][ + { "%XEvorpX", { XM, Vex, EXx }, PREFIX_OPCODE }, + { "%XEvxorpX", { XM, Vex, EXx }, PREFIX_OPCODE }, + /* 58 */ +- { PREFIX_TABLE (PREFIX_VEX_0F58) }, +- { PREFIX_TABLE (PREFIX_VEX_0F59) }, +- { PREFIX_TABLE (PREFIX_VEX_0F5A) }, ++ { PREFIX_TABLE (PREFIX_0F58) }, ++ { PREFIX_TABLE (PREFIX_0F59) }, ++ { PREFIX_TABLE (PREFIX_0F5A) }, + { PREFIX_TABLE (PREFIX_EVEX_0F5B) }, +- { PREFIX_TABLE (PREFIX_VEX_0F5C) }, +- { PREFIX_TABLE (PREFIX_VEX_0F5D) }, +- { PREFIX_TABLE (PREFIX_VEX_0F5E) }, +- { PREFIX_TABLE (PREFIX_VEX_0F5F) }, ++ { PREFIX_TABLE (PREFIX_0F5C) }, ++ { PREFIX_TABLE (PREFIX_0F5D) }, ++ { PREFIX_TABLE (PREFIX_0F5E) }, ++ { PREFIX_TABLE (PREFIX_0F5F) }, + /* 60 */ + { "%XEvpunpcklbw", { XM, Vex, EXx }, PREFIX_DATA }, + { "%XEvpunpcklwd", { XM, Vex, EXx }, PREFIX_DATA }, +@@ -164,10 +164,10 @@ static const struct dis386 evex_table[][ + { Bad_Opcode }, + { Bad_Opcode }, + /* 90 */ +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F90) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F91) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F92) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F93) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -223,7 +223,7 @@ static const struct dis386 evex_table[][ + { PREFIX_TABLE (PREFIX_EVEX_0FC2) }, + { Bad_Opcode }, + { VEX_LEN_TABLE (VEX_LEN_0FC4) }, +- { VEX_LEN_TABLE (VEX_LEN_0FC5) }, ++ { "%XEvpextrw", { Gd, Uxmm, Ib }, PREFIX_DATA }, + { "%XEvshufpX", { XM, Vex, EXx, Ib }, PREFIX_OPCODE }, + { Bad_Opcode }, + /* C8 */ +@@ -278,7 +278,7 @@ static const struct dis386 evex_table[][ + { VEX_W_TABLE (EVEX_W_0FF3) }, + { VEX_W_TABLE (EVEX_W_0FF4) }, + { "%XEvpmaddwd", { XM, Vex, EXx }, PREFIX_DATA }, +- { "%XEvpsadbw", { XM, Vex, EXx }, PREFIX_DATA }, ++ { "%XEvpsadbwY", { XM, Vex, EXx }, PREFIX_DATA }, + { Bad_Opcode }, + /* F8 */ + { "%XEvpsubb", { XM, Vex, EXx }, PREFIX_DATA }, +@@ -322,8 +322,8 @@ static const struct dis386 evex_table[][ + /* 18 */ + { VEX_W_TABLE (VEX_W_0F3818) }, + { EVEX_LEN_TABLE (EVEX_LEN_0F3819) }, +- { MOD_TABLE (MOD_EVEX_0F381A) }, +- { MOD_TABLE (MOD_EVEX_0F381B) }, ++ { EVEX_LEN_TABLE (EVEX_LEN_0F381A) }, ++ { EVEX_LEN_TABLE (EVEX_LEN_0F381B) }, + { "%XEvpabsb", { XM, EXx }, PREFIX_DATA }, + { "%XEvpabsw", { XM, EXx }, PREFIX_DATA }, + { VEX_W_TABLE (EVEX_W_0F381E) }, +@@ -375,9 +375,9 @@ static const struct dis386 evex_table[][ + { "vpsllv%DQ", { XM, Vex, EXx }, PREFIX_DATA }, + /* 48 */ + { Bad_Opcode }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F3849) }, + { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F384B) }, + { "vrcp14p%XW", { XM, EXx }, PREFIX_DATA }, + { "vrcp14s%XW", { XMScalar, VexScalar, EXdq }, PREFIX_DATA }, + { "vrsqrt14p%XW", { XM, EXx }, 0 }, +@@ -394,8 +394,8 @@ static const struct dis386 evex_table[][ + /* 58 */ + { VEX_W_TABLE (VEX_W_0F3858) }, + { VEX_W_TABLE (EVEX_W_0F3859) }, +- { MOD_TABLE (MOD_EVEX_0F385A) }, +- { MOD_TABLE (MOD_EVEX_0F385B) }, ++ { EVEX_LEN_TABLE (EVEX_LEN_0F385A) }, ++ { EVEX_LEN_TABLE (EVEX_LEN_0F385B) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -432,7 +432,7 @@ static const struct dis386 evex_table[][ + { VEX_W_TABLE (VEX_W_0F3879) }, + { VEX_W_TABLE (EVEX_W_0F387A) }, + { VEX_W_TABLE (EVEX_W_0F387B) }, +- { MOD_TABLE (MOD_EVEX_0F387C) }, ++ { "vpbroadcastK", { XM, Rdq }, PREFIX_DATA }, + { "vpermt2%BW", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpermt2%DQ", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpermt2p%XW", { XM, Vex, EXx }, PREFIX_DATA }, +@@ -515,8 +515,8 @@ static const struct dis386 evex_table[][ + { Bad_Opcode }, + { "vpconflict%DQ", { XM, EXx }, PREFIX_DATA }, + { Bad_Opcode }, +- { MOD_TABLE (MOD_EVEX_0F38C6) }, +- { MOD_TABLE (MOD_EVEX_0F38C7) }, ++ { EVEX_LEN_TABLE (EVEX_LEN_0F38C6) }, ++ { EVEX_LEN_TABLE (EVEX_LEN_0F38C7) }, + /* C8 */ + { "vexp2p%XW", { XM, EXx, EXxEVexS }, PREFIX_DATA }, + { Bad_Opcode }, +@@ -540,37 +540,37 @@ static const struct dis386 evex_table[][ + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { "%XEvaesenc", { XM, Vex, EXx }, PREFIX_DATA }, +- { "%XEvaesenclast", { XM, Vex, EXx }, PREFIX_DATA }, +- { "%XEvaesdec", { XM, Vex, EXx }, PREFIX_DATA }, +- { "%XEvaesdeclast", { XM, Vex, EXx }, PREFIX_DATA }, ++ { "%XEvaesencY", { XM, Vex, EXx }, PREFIX_DATA }, ++ { "%XEvaesenclastY", { XM, Vex, EXx }, PREFIX_DATA }, ++ { "%XEvaesdecY", { XM, Vex, EXx }, PREFIX_DATA }, ++ { "%XEvaesdeclastY", { XM, Vex, EXx }, PREFIX_DATA }, + /* E0 */ +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E0) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E1) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E2) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E3) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E4) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E5) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E6) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E7) }, + /* E8 */ +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E8) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E9) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EA) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EB) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EC) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38ED) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EE) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EF) }, + /* F0 */ + { Bad_Opcode }, + { Bad_Opcode }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F38F2) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F38F3) }, + { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F38F5) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F38F6) }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F38F7) }, + /* F8 */ + { Bad_Opcode }, + { Bad_Opcode }, +@@ -660,7 +660,7 @@ static const struct dis386 evex_table[][ + { Bad_Opcode }, + { VEX_W_TABLE (EVEX_W_0F3A42) }, + { EVEX_LEN_TABLE (EVEX_LEN_0F3A43) }, +- { "%XEvpclmulqdq", { XM, Vex, EXx, PCLMUL }, PREFIX_DATA }, ++ { "%XEvpclmulqdqY", { XM, Vex, EXx, PCLMUL }, PREFIX_DATA }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -854,7 +854,7 @@ static const struct dis386 evex_table[][ + { Bad_Opcode }, + { Bad_Opcode }, + /* F0 */ +- { Bad_Opcode }, ++ { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F3AF0) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -872,6 +872,297 @@ static const struct dis386 evex_table[][ + { Bad_Opcode }, + { Bad_Opcode }, + }, ++ /* EVEX_MAP4_ */ ++ { ++ /* 00 */ ++ { "addB", { VexGb, Eb, Gb }, NO_PREFIX }, ++ { "addS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, ++ { "addB", { VexGb, Gb, EbS }, NO_PREFIX }, ++ { "addS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 08 */ ++ { "orB", { VexGb, Eb, Gb }, NO_PREFIX }, ++ { "orS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, ++ { "orB", { VexGb, Gb, EbS }, NO_PREFIX }, ++ { "orS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 10 */ ++ { "adcB", { VexGb, Eb, Gb }, NO_PREFIX }, ++ { "adcS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, ++ { "adcB", { VexGb, Gb, EbS }, NO_PREFIX }, ++ { "adcS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 18 */ ++ { "sbbB", { VexGb, Eb, Gb }, NO_PREFIX }, ++ { "sbbS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, ++ { "sbbB", { VexGb, Gb, EbS }, NO_PREFIX }, ++ { "sbbS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 20 */ ++ { "andB", { VexGb, Eb, Gb }, NO_PREFIX }, ++ { "andS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, ++ { "andB", { VexGb, Gb, EbS }, NO_PREFIX }, ++ { "andS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, ++ { "shldS", { VexGv, Ev, Gv, Ib }, PREFIX_NP_OR_DATA }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 28 */ ++ { "subB", { VexGb, Eb, Gb }, NO_PREFIX }, ++ { "subS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, ++ { "subB", { VexGb, Gb, EbS }, NO_PREFIX }, ++ { "subS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, ++ { "shrdS", { VexGv, Ev, Gv, Ib }, PREFIX_NP_OR_DATA }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 30 */ ++ { "xorB", { VexGb, Eb, Gb }, NO_PREFIX }, ++ { "xorS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, ++ { "xorB", { VexGb, Gb, EbS }, NO_PREFIX }, ++ { "xorS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 38 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 40 */ ++ { "%CFcmovoS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovnoS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovbS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovaeS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmoveS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovneS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovbeS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovaS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ /* 48 */ ++ { "%CFcmovsS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovnsS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovpS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovnpS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovlS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovgeS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovleS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "%CFcmovgS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ /* 50 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 58 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 60 */ ++ { "movbeS", { Gv, Ev }, PREFIX_NP_OR_DATA }, ++ { "movbeS", { Ev, Gv }, PREFIX_NP_OR_DATA }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { "wrussK", { M, Gdq }, PREFIX_DATA }, ++ { PREFIX_TABLE (PREFIX_0F38F6) }, ++ { Bad_Opcode }, ++ /* 68 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 70 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 78 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 80 */ ++ { REG_TABLE (REG_EVEX_MAP4_80) }, ++ { REG_TABLE (REG_EVEX_MAP4_81) }, ++ { Bad_Opcode }, ++ { REG_TABLE (REG_EVEX_MAP4_83) }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 88 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { REG_TABLE (REG_EVEX_MAP4_8F) }, ++ /* 90 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* 98 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* A0 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { "shldS", { VexGv, Ev, Gv, CL }, PREFIX_NP_OR_DATA }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* A8 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { "shrdS", { VexGv, Ev, Gv, CL }, PREFIX_NP_OR_DATA }, ++ { Bad_Opcode }, ++ { "imulS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, ++ /* B0 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* B8 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* C0 */ ++ { REG_TABLE (REG_C0) }, ++ { REG_TABLE (REG_C1) }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* C8 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* D0 */ ++ { REG_TABLE (REG_D0) }, ++ { REG_TABLE (REG_D1) }, ++ { REG_TABLE (REG_D2) }, ++ { REG_TABLE (REG_D3) }, ++ { "sha1rnds4", { XM, EXxmm, Ib }, NO_PREFIX }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* D8 */ ++ { PREFIX_TABLE (PREFIX_EVEX_MAP4_D8) }, ++ { "sha1msg1", { XM, EXxmm }, NO_PREFIX }, ++ { PREFIX_TABLE (PREFIX_EVEX_MAP4_DA) }, ++ { PREFIX_TABLE (PREFIX_EVEX_MAP4_DB) }, ++ { PREFIX_TABLE (PREFIX_EVEX_MAP4_DC) }, ++ { PREFIX_TABLE (PREFIX_EVEX_MAP4_DD) }, ++ { PREFIX_TABLE (PREFIX_EVEX_MAP4_DE) }, ++ { PREFIX_TABLE (PREFIX_EVEX_MAP4_DF) }, ++ /* E0 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* E8 */ ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ /* F0 */ ++ { PREFIX_TABLE (PREFIX_EVEX_MAP4_F0) }, ++ { PREFIX_TABLE (PREFIX_EVEX_MAP4_F1) }, ++ { PREFIX_TABLE (PREFIX_EVEX_MAP4_F2) }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { REG_TABLE (REG_EVEX_MAP4_F6) }, ++ { REG_TABLE (REG_EVEX_MAP4_F7) }, ++ /* F8 */ ++ { PREFIX_TABLE (PREFIX_EVEX_MAP4_F8) }, ++ { "movdiri", { Mdq, Gdq }, NO_PREFIX }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { PREFIX_TABLE (PREFIX_0F38FC) }, ++ { Bad_Opcode }, ++ { REG_TABLE (REG_EVEX_MAP4_FE) }, ++ { REG_TABLE (REG_EVEX_MAP4_FF) }, ++ }, + /* EVEX_MAP5_ */ + { + /* 00 */ +@@ -998,7 +1289,7 @@ static const struct dis386 evex_table[][ + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { "vmovw", { XMScalar, Edw }, PREFIX_DATA }, ++ { "vmovwY", { XMScalar, Edw }, PREFIX_DATA }, + { Bad_Opcode }, + /* 70 */ + { Bad_Opcode }, +diff -rupN binutils.orig/opcodes/i386-dis.c binutils-2.41/opcodes/i386-dis.c +--- binutils.orig/opcodes/i386-dis.c 2024-01-18 12:12:24.602946633 +0000 ++++ binutils-2.41/opcodes/i386-dis.c 2024-01-18 12:13:13.517911158 +0000 +@@ -1,5 +1,5 @@ + /* Print i386 instructions for GDB, the GNU debugger. +- Copyright (C) 1988-2023 Free Software Foundation, Inc. ++ Copyright (C) 1988-2024 Free Software Foundation, Inc. + + This file is part of the GNU opcodes library. + +@@ -74,8 +74,7 @@ static bool OP_EM (instr_info *, int, in + static bool OP_EX (instr_info *, int, int); + static bool OP_EMC (instr_info *, int,int); + static bool OP_MXC (instr_info *, int,int); +-static bool OP_MS (instr_info *, int, int); +-static bool OP_XS (instr_info *, int, int); ++static bool OP_R (instr_info *, int, int); + static bool OP_M (instr_info *, int, int); + static bool OP_VEX (instr_info *, int, int); + static bool OP_VexR (instr_info *, int, int); +@@ -106,6 +105,8 @@ static bool FXSAVE_Fixup (instr_info *, + static bool MOVSXD_Fixup (instr_info *, int, int); + static bool DistinctDest_Fixup (instr_info *, int, int); + static bool PREFETCHI_Fixup (instr_info *, int, int); ++static bool PUSH2_POP2_Fixup (instr_info *, int, int); ++static bool JMPABS_Fixup (instr_info *, int, int); + + static void ATTRIBUTE_PRINTF_3 i386_dis_printf (const disassemble_info *, + enum disassembler_style, +@@ -133,6 +134,13 @@ enum x86_64_isa + intel64 + }; + ++enum evex_type ++{ ++ evex_default = 0, ++ evex_from_legacy, ++ evex_from_vex, ++}; ++ + struct instr_info + { + enum address_mode address_mode; +@@ -145,8 +153,14 @@ struct instr_info + /* Bits of REX we've already used. */ + uint8_t rex_used; + ++ /* Record W R4 X4 B4 bits for rex2. */ ++ unsigned char rex2; ++ /* Bits of rex2 we've already used. */ ++ unsigned char rex2_used; ++ unsigned char rex2_payload; ++ + bool need_modrm; +- bool need_vex; ++ unsigned char need_vex; + bool has_sib; + + /* Flags for ins->prefixes which we somehow handled when printing the +@@ -170,6 +184,7 @@ struct instr_info + signed char last_data_prefix; + signed char last_addr_prefix; + signed char last_rex_prefix; ++ signed char last_rex2_prefix; + signed char last_seg_prefix; + signed char fwait_prefix; + /* The active segment register prefix. */ +@@ -206,7 +221,6 @@ struct instr_info + int ll; + bool w; + bool evex; +- bool r; + bool v; + bool zeroing; + bool b; +@@ -214,11 +228,22 @@ struct instr_info + } + vex; + ++/* For APX EVEX-promoted prefix, EVEX.ND shares the same bit as vex.b. */ ++#define nd b ++ ++ enum evex_type evex_type; ++ + /* Remember if the current op is a jump instruction. */ + bool op_is_jump; + + bool two_source_ops; + ++ /* Record whether EVEX masking is used incorrectly. */ ++ bool illegal_masking; ++ ++ /* Record whether the modrm byte has been skipped. */ ++ bool has_skipped_modrm; ++ + unsigned char op_ad; + signed char op_index[MAX_OPERANDS]; + bool op_riprel[MAX_OPERANDS]; +@@ -260,8 +285,13 @@ struct dis_private { + { \ + if (value) \ + { \ +- if ((ins->rex & value)) \ ++ if (ins->rex & value) \ + ins->rex_used |= (value) | REX_OPCODE; \ ++ if (ins->rex2 & value) \ ++ { \ ++ ins->rex2_used |= (value); \ ++ ins->rex_used |= REX_OPCODE; \ ++ } \ + } \ + else \ + ins->rex_used |= REX_OPCODE; \ +@@ -271,6 +301,10 @@ struct dis_private { + #define EVEX_b_used 1 + #define EVEX_len_used 2 + ++ ++/* {rex2} is not printed when the REX2_SPECIAL is set. */ ++#define REX2_SPECIAL 16 ++ + /* Flags stored in PREFIXES. */ + #define PREFIX_REPZ 1 + #define PREFIX_REPNZ 2 +@@ -284,6 +318,9 @@ struct dis_private { + #define PREFIX_DATA 0x200 + #define PREFIX_ADDR 0x400 + #define PREFIX_FWAIT 0x800 ++#define PREFIX_REX2 0x1000 ++#define PREFIX_NP_OR_DATA 0x2000 ++#define NO_PREFIX 0x4000 + + /* Make sure that bytes from INFO->PRIVATE_DATA->BUFFER (inclusive) + to ADDR (exclusive) are valid. Returns true for success, false +@@ -365,6 +402,7 @@ fetch_error (const instr_info *ins) + #define PREFIX_IGNORED_DATA (PREFIX_DATA << PREFIX_IGNORED_SHIFT) + #define PREFIX_IGNORED_ADDR (PREFIX_ADDR << PREFIX_IGNORED_SHIFT) + #define PREFIX_IGNORED_LOCK (PREFIX_LOCK << PREFIX_IGNORED_SHIFT) ++#define PREFIX_REX2_ILLEGAL (PREFIX_REX2 << PREFIX_IGNORED_SHIFT) + + /* Opcode prefixes. */ + #define PREFIX_OPCODE (PREFIX_REPZ \ +@@ -410,11 +448,13 @@ fetch_error (const instr_info *ins) + #define Mw { OP_M, w_mode } + #define Mx { OP_M, x_mode } + #define Mxmm { OP_M, xmm_mode } ++#define Mymm { OP_M, ymm_mode } + #define Gb { OP_G, b_mode } + #define Gbnd { OP_G, bnd_mode } + #define Gv { OP_G, v_mode } + #define Gd { OP_G, d_mode } + #define Gdq { OP_G, dq_mode } ++#define Gq { OP_G, q_mode } + #define Gm { OP_G, m_mode } + #define Gva { OP_G, va_mode } + #define Gw { OP_G, w_mode } +@@ -513,7 +553,6 @@ fetch_error (const instr_info *ins) + #define EXxS { OP_EX, x_swap_mode } + #define EXxmm { OP_EX, xmm_mode } + #define EXymm { OP_EX, ymm_mode } +-#define EXtmm { OP_EX, tmm_mode } + #define EXxmmq { OP_EX, xmmq_mode } + #define EXxmmqh { OP_EX, evex_half_bcst_xmmqh_mode } + #define EXEvexHalfBcstXmmq { OP_EX, evex_half_bcst_xmmq_mode } +@@ -523,8 +562,15 @@ fetch_error (const instr_info *ins) + #define EXymmq { OP_EX, ymmq_mode } + #define EXEvexXGscat { OP_EX, evex_x_gscat_mode } + #define EXEvexXNoBcst { OP_EX, evex_x_nobcst_mode } +-#define MS { OP_MS, v_mode } +-#define XS { OP_XS, v_mode } ++#define Rd { OP_R, d_mode } ++#define Rdq { OP_R, dq_mode } ++#define Rq { OP_R, q_mode } ++#define Nq { OP_R, q_mm_mode } ++#define Ux { OP_R, x_mode } ++#define Uxmm { OP_R, xmm_mode } ++#define Rxmmq { OP_R, xmmq_mode } ++#define Rymm { OP_R, ymm_mode } ++#define Rtmm { OP_R, tmm_mode } + #define EMCq { OP_EMC, q_mode } + #define MXC { OP_MXC, 0 } + #define OPSUF { OP_3DNowSuffix, 0 } +@@ -540,6 +586,8 @@ fetch_error (const instr_info *ins) + #define VexGatherD { OP_VEX, vex_vsib_d_w_dq_mode } + #define VexGatherQ { OP_VEX, vex_vsib_q_w_dq_mode } + #define VexGdq { OP_VEX, dq_mode } ++#define VexGb { OP_VEX, b_mode } ++#define VexGv { OP_VEX, v_mode } + #define VexTmm { OP_VEX, tmm_mode } + #define XMVexI4 { OP_REG_VexI4, x_mode } + #define XMVexScalarI4 { OP_REG_VexI4, scalar_mode } +@@ -554,6 +602,7 @@ fetch_error (const instr_info *ins) + + #define MaskG { OP_G, mask_mode } + #define MaskE { OP_E, mask_mode } ++#define MaskR { OP_R, mask_mode } + #define MaskBDE { OP_E, mask_bd_mode } + #define MaskVex { OP_VEX, mask_mode } + +@@ -615,6 +664,8 @@ enum + d_swap_mode, + /* quad word operand */ + q_mode, ++ /* 8-byte MM operand */ ++ q_mm_mode, + /* quad word operand with operand swapped */ + q_swap_mode, + /* ten-byte operand */ +@@ -769,6 +820,7 @@ enum + USE_RM_TABLE, + USE_PREFIX_TABLE, + USE_X86_64_TABLE, ++ USE_X86_64_EVEX_FROM_VEX_TABLE, + USE_3BYTE_TABLE, + USE_XOP_8F_TABLE, + USE_VEX_C4_TABLE, +@@ -782,20 +834,20 @@ enum + #define FLOAT NULL, { { NULL, FLOATCODE } }, 0 + + #define DIS386(T, I) NULL, { { NULL, (T)}, { NULL, (I) } }, 0 +-#define DIS386_PREFIX(T, I, P) NULL, { { NULL, (T)}, { NULL, (I) } }, P + #define REG_TABLE(I) DIS386 (USE_REG_TABLE, (I)) + #define MOD_TABLE(I) DIS386 (USE_MOD_TABLE, (I)) + #define RM_TABLE(I) DIS386 (USE_RM_TABLE, (I)) + #define PREFIX_TABLE(I) DIS386 (USE_PREFIX_TABLE, (I)) + #define X86_64_TABLE(I) DIS386 (USE_X86_64_TABLE, (I)) ++#define X86_64_EVEX_FROM_VEX_TABLE(I) \ ++ DIS386 (USE_X86_64_EVEX_FROM_VEX_TABLE, (I)) + #define THREE_BYTE_TABLE(I) DIS386 (USE_3BYTE_TABLE, (I)) +-#define THREE_BYTE_TABLE_PREFIX(I, P) DIS386_PREFIX (USE_3BYTE_TABLE, (I), P) +-#define XOP_8F_TABLE(I) DIS386 (USE_XOP_8F_TABLE, (I)) +-#define VEX_C4_TABLE(I) DIS386 (USE_VEX_C4_TABLE, (I)) +-#define VEX_C5_TABLE(I) DIS386 (USE_VEX_C5_TABLE, (I)) ++#define XOP_8F_TABLE() DIS386 (USE_XOP_8F_TABLE, 0) ++#define VEX_C4_TABLE() DIS386 (USE_VEX_C4_TABLE, 0) ++#define VEX_C5_TABLE() DIS386 (USE_VEX_C5_TABLE, 0) + #define VEX_LEN_TABLE(I) DIS386 (USE_VEX_LEN_TABLE, (I)) + #define VEX_W_TABLE(I) DIS386 (USE_VEX_W_TABLE, (I)) +-#define EVEX_TABLE(I) DIS386 (USE_EVEX_TABLE, (I)) ++#define EVEX_TABLE() DIS386 (USE_EVEX_TABLE, 0) + #define EVEX_LEN_TABLE(I) DIS386 (USE_EVEX_LEN_TABLE, (I)) + + enum +@@ -823,58 +875,56 @@ enum + REG_0F1C_P_0_MOD_0, + REG_0F1E_P_1_MOD_3, + REG_0F38D8_PREFIX_1, +- REG_0F3A0F_PREFIX_1_MOD_3, +- REG_0F71_MOD_0, +- REG_0F72_MOD_0, +- REG_0F73_MOD_0, ++ REG_0F3A0F_P_1, ++ REG_0F71, ++ REG_0F72, ++ REG_0F73, + REG_0FA6, + REG_0FA7, + REG_0FAE, + REG_0FBA, + REG_0FC7, +- REG_VEX_0F71_M_0, +- REG_VEX_0F72_M_0, +- REG_VEX_0F73_M_0, ++ REG_VEX_0F71, ++ REG_VEX_0F72, ++ REG_VEX_0F73, + REG_VEX_0FAE, + REG_VEX_0F3849_X86_64_L_0_W_0_M_1_P_0, +- REG_VEX_0F38F3_L_0, ++ REG_VEX_0F38F3_L_0_P_0, ++ REG_VEX_MAP7_F8_L_0_W_0, + + REG_XOP_09_01_L_0, + REG_XOP_09_02_L_0, +- REG_XOP_09_12_M_1_L_0, ++ REG_XOP_09_12_L_0, + REG_XOP_0A_12_L_0, + + REG_EVEX_0F71, + REG_EVEX_0F72, + REG_EVEX_0F73, +- REG_EVEX_0F38C6_M_0_L_2, +- REG_EVEX_0F38C7_M_0_L_2 ++ REG_EVEX_0F38C6_L_2, ++ REG_EVEX_0F38C7_L_2, ++ REG_EVEX_MAP4_80, ++ REG_EVEX_MAP4_81, ++ REG_EVEX_MAP4_83, ++ REG_EVEX_MAP4_8F, ++ REG_EVEX_MAP4_F6, ++ REG_EVEX_MAP4_F7, ++ REG_EVEX_MAP4_FE, ++ REG_EVEX_MAP4_FF, + }; + + enum + { + MOD_62_32BIT = 0, +- MOD_8D, + MOD_C4_32BIT, + MOD_C5_32BIT, +- MOD_C6_REG_7, +- MOD_C7_REG_7, +- MOD_FF_REG_3, +- MOD_FF_REG_5, + MOD_0F01_REG_0, + MOD_0F01_REG_1, + MOD_0F01_REG_2, + MOD_0F01_REG_3, + MOD_0F01_REG_5, + MOD_0F01_REG_7, +- MOD_0F02, +- MOD_0F03, + MOD_0F12_PREFIX_0, +- MOD_0F12_PREFIX_2, +- MOD_0F13, + MOD_0F16_PREFIX_0, +- MOD_0F16_PREFIX_2, +- MOD_0F17, + MOD_0F18_REG_0, + MOD_0F18_REG_1, + MOD_0F18_REG_2, +@@ -886,14 +936,6 @@ enum + MOD_0F1B_PREFIX_1, + MOD_0F1C_PREFIX_0, + MOD_0F1E_PREFIX_1, +- MOD_0F2B_PREFIX_0, +- MOD_0F2B_PREFIX_1, +- MOD_0F2B_PREFIX_2, +- MOD_0F2B_PREFIX_3, +- MOD_0F50, +- MOD_0F71, +- MOD_0F72, +- MOD_0F73, + MOD_0FAE_REG_0, + MOD_0FAE_REG_1, + MOD_0FAE_REG_2, +@@ -902,96 +944,12 @@ enum + MOD_0FAE_REG_5, + MOD_0FAE_REG_6, + MOD_0FAE_REG_7, +- MOD_0FB2, +- MOD_0FB4, +- MOD_0FB5, +- MOD_0FC3, +- MOD_0FC7_REG_3, +- MOD_0FC7_REG_4, +- MOD_0FC7_REG_5, + MOD_0FC7_REG_6, + MOD_0FC7_REG_7, +- MOD_0FD7, +- MOD_0FE7_PREFIX_2, +- MOD_0FF0_PREFIX_3, +- MOD_0F382A, + MOD_0F38DC_PREFIX_1, +- MOD_0F38DD_PREFIX_1, +- MOD_0F38DE_PREFIX_1, +- MOD_0F38DF_PREFIX_1, +- MOD_0F38F5, +- MOD_0F38F6_PREFIX_0, +- MOD_0F38F8_PREFIX_1, +- MOD_0F38F8_PREFIX_2, +- MOD_0F38F8_PREFIX_3, +- MOD_0F38F9, +- MOD_0F38FA_PREFIX_1, +- MOD_0F38FB_PREFIX_1, +- MOD_0F3A0F_PREFIX_1, +- +- MOD_VEX_0F12_PREFIX_0, +- MOD_VEX_0F12_PREFIX_2, +- MOD_VEX_0F13, +- MOD_VEX_0F16_PREFIX_0, +- MOD_VEX_0F16_PREFIX_2, +- MOD_VEX_0F17, +- MOD_VEX_0F2B, +- MOD_VEX_0F41_L_1, +- MOD_VEX_0F42_L_1, +- MOD_VEX_0F44_L_0, +- MOD_VEX_0F45_L_1, +- MOD_VEX_0F46_L_1, +- MOD_VEX_0F47_L_1, +- MOD_VEX_0F4A_L_1, +- MOD_VEX_0F4B_L_1, +- MOD_VEX_0F50, +- MOD_VEX_0F71, +- MOD_VEX_0F72, +- MOD_VEX_0F73, +- MOD_VEX_0F91_L_0, +- MOD_VEX_0F92_L_0, +- MOD_VEX_0F93_L_0, +- MOD_VEX_0F98_L_0, +- MOD_VEX_0F99_L_0, +- MOD_VEX_0FAE_REG_2, +- MOD_VEX_0FAE_REG_3, +- MOD_VEX_0FD7, +- MOD_VEX_0FE7, +- MOD_VEX_0FF0_PREFIX_3, +- MOD_VEX_0F381A, +- MOD_VEX_0F382A, +- MOD_VEX_0F382C, +- MOD_VEX_0F382D, +- MOD_VEX_0F382E, +- MOD_VEX_0F382F, ++ MOD_0F38F8, ++ + MOD_VEX_0F3849_X86_64_L_0_W_0, +- MOD_VEX_0F384B_X86_64_L_0_W_0, +- MOD_VEX_0F385A, +- MOD_VEX_0F385C_X86_64, +- MOD_VEX_0F385E_X86_64, +- MOD_VEX_0F386C_X86_64, +- MOD_VEX_0F388C, +- MOD_VEX_0F388E, +- MOD_VEX_0F3A30_L_0, +- MOD_VEX_0F3A31_L_0, +- MOD_VEX_0F3A32_L_0, +- MOD_VEX_0F3A33_L_0, +- +- MOD_XOP_09_12, +- +- MOD_EVEX_0F381A, +- MOD_EVEX_0F381B, +- MOD_EVEX_0F3828_P_1, +- MOD_EVEX_0F382A_P_1_W_1, +- MOD_EVEX_0F3838_P_1, +- MOD_EVEX_0F383A_P_1_W_0, +- MOD_EVEX_0F385A, +- MOD_EVEX_0F385B, +- MOD_EVEX_0F387A_W_0, +- MOD_EVEX_0F387B_W_0, +- MOD_EVEX_0F387C, +- MOD_EVEX_0F38C6, +- MOD_EVEX_0F38C7, + }; + + enum +@@ -1007,7 +965,7 @@ enum + RM_0F1E_P_1_MOD_3_REG_7, + RM_0FAE_REG_6_MOD_3_P_0, + RM_0FAE_REG_7_MOD_3, +- RM_0F3A0F_P_1_MOD_3_REG_0, ++ RM_0F3A0F_P_1_R_0, + + RM_VEX_0F3849_X86_64_L_0_W_0_M_1_P_0_R_0, + RM_VEX_0F3849_X86_64_L_0_W_0_M_1_P_3, +@@ -1018,6 +976,7 @@ enum + PREFIX_90 = 0, + PREFIX_0F00_REG_6_X86_64, + PREFIX_0F01_REG_0_MOD_3_RM_6, ++ PREFIX_0F01_REG_0_MOD_3_RM_7, + PREFIX_0F01_REG_1_RM_2, + PREFIX_0F01_REG_1_RM_4, + PREFIX_0F01_REG_1_RM_5, +@@ -1106,84 +1065,73 @@ enum + PREFIX_0F38F0, + PREFIX_0F38F1, + PREFIX_0F38F6, +- PREFIX_0F38F8, ++ PREFIX_0F38F8_M_0, ++ PREFIX_0F38F8_M_1_X86_64, + PREFIX_0F38FA, + PREFIX_0F38FB, + PREFIX_0F38FC, + PREFIX_0F3A0F, +- PREFIX_VEX_0F10, +- PREFIX_VEX_0F11, + PREFIX_VEX_0F12, + PREFIX_VEX_0F16, + PREFIX_VEX_0F2A, + PREFIX_VEX_0F2C, + PREFIX_VEX_0F2D, +- PREFIX_VEX_0F2E, +- PREFIX_VEX_0F2F, +- PREFIX_VEX_0F41_L_1_M_1_W_0, +- PREFIX_VEX_0F41_L_1_M_1_W_1, +- PREFIX_VEX_0F42_L_1_M_1_W_0, +- PREFIX_VEX_0F42_L_1_M_1_W_1, +- PREFIX_VEX_0F44_L_0_M_1_W_0, +- PREFIX_VEX_0F44_L_0_M_1_W_1, +- PREFIX_VEX_0F45_L_1_M_1_W_0, +- PREFIX_VEX_0F45_L_1_M_1_W_1, +- PREFIX_VEX_0F46_L_1_M_1_W_0, +- PREFIX_VEX_0F46_L_1_M_1_W_1, +- PREFIX_VEX_0F47_L_1_M_1_W_0, +- PREFIX_VEX_0F47_L_1_M_1_W_1, +- PREFIX_VEX_0F4A_L_1_M_1_W_0, +- PREFIX_VEX_0F4A_L_1_M_1_W_1, +- PREFIX_VEX_0F4B_L_1_M_1_W_0, +- PREFIX_VEX_0F4B_L_1_M_1_W_1, +- PREFIX_VEX_0F51, +- PREFIX_VEX_0F52, +- PREFIX_VEX_0F53, +- PREFIX_VEX_0F58, +- PREFIX_VEX_0F59, +- PREFIX_VEX_0F5A, +- PREFIX_VEX_0F5B, +- PREFIX_VEX_0F5C, +- PREFIX_VEX_0F5D, +- PREFIX_VEX_0F5E, +- PREFIX_VEX_0F5F, ++ PREFIX_VEX_0F41_L_1_W_0, ++ PREFIX_VEX_0F41_L_1_W_1, ++ PREFIX_VEX_0F42_L_1_W_0, ++ PREFIX_VEX_0F42_L_1_W_1, ++ PREFIX_VEX_0F44_L_0_W_0, ++ PREFIX_VEX_0F44_L_0_W_1, ++ PREFIX_VEX_0F45_L_1_W_0, ++ PREFIX_VEX_0F45_L_1_W_1, ++ PREFIX_VEX_0F46_L_1_W_0, ++ PREFIX_VEX_0F46_L_1_W_1, ++ PREFIX_VEX_0F47_L_1_W_0, ++ PREFIX_VEX_0F47_L_1_W_1, ++ PREFIX_VEX_0F4A_L_1_W_0, ++ PREFIX_VEX_0F4A_L_1_W_1, ++ PREFIX_VEX_0F4B_L_1_W_0, ++ PREFIX_VEX_0F4B_L_1_W_1, + PREFIX_VEX_0F6F, + PREFIX_VEX_0F70, +- PREFIX_VEX_0F7C, +- PREFIX_VEX_0F7D, + PREFIX_VEX_0F7E, + PREFIX_VEX_0F7F, + PREFIX_VEX_0F90_L_0_W_0, + PREFIX_VEX_0F90_L_0_W_1, +- PREFIX_VEX_0F91_L_0_M_0_W_0, +- PREFIX_VEX_0F91_L_0_M_0_W_1, +- PREFIX_VEX_0F92_L_0_M_1_W_0, +- PREFIX_VEX_0F92_L_0_M_1_W_1, +- PREFIX_VEX_0F93_L_0_M_1_W_0, +- PREFIX_VEX_0F93_L_0_M_1_W_1, +- PREFIX_VEX_0F98_L_0_M_1_W_0, +- PREFIX_VEX_0F98_L_0_M_1_W_1, +- PREFIX_VEX_0F99_L_0_M_1_W_0, +- PREFIX_VEX_0F99_L_0_M_1_W_1, +- PREFIX_VEX_0FC2, +- PREFIX_VEX_0FD0, +- PREFIX_VEX_0FE6, +- PREFIX_VEX_0FF0, ++ PREFIX_VEX_0F91_L_0_W_0, ++ PREFIX_VEX_0F91_L_0_W_1, ++ PREFIX_VEX_0F92_L_0_W_0, ++ PREFIX_VEX_0F92_L_0_W_1, ++ PREFIX_VEX_0F93_L_0_W_0, ++ PREFIX_VEX_0F93_L_0_W_1, ++ PREFIX_VEX_0F98_L_0_W_0, ++ PREFIX_VEX_0F98_L_0_W_1, ++ PREFIX_VEX_0F99_L_0_W_0, ++ PREFIX_VEX_0F99_L_0_W_1, + PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_0, + PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_1, +- PREFIX_VEX_0F384B_X86_64_L_0_W_0_M_0, ++ PREFIX_VEX_0F384B_X86_64_L_0_W_0, + PREFIX_VEX_0F3850_W_0, + PREFIX_VEX_0F3851_W_0, +- PREFIX_VEX_0F385C_X86_64_M_1_L_0_W_0, +- PREFIX_VEX_0F385E_X86_64_M_1_L_0_W_0, +- PREFIX_VEX_0F386C_X86_64_M_1_L_0_W_0, ++ PREFIX_VEX_0F385C_X86_64_L_0_W_0, ++ PREFIX_VEX_0F385E_X86_64_L_0_W_0, ++ PREFIX_VEX_0F386C_X86_64_L_0_W_0, + PREFIX_VEX_0F3872, + PREFIX_VEX_0F38B0_W_0, + PREFIX_VEX_0F38B1_W_0, ++ PREFIX_VEX_0F38D2_W_0, ++ PREFIX_VEX_0F38D3_W_0, ++ PREFIX_VEX_0F38CB, ++ PREFIX_VEX_0F38CC, ++ PREFIX_VEX_0F38CD, ++ PREFIX_VEX_0F38DA_W_0, ++ PREFIX_VEX_0F38F2_L_0, ++ PREFIX_VEX_0F38F3_L_0, + PREFIX_VEX_0F38F5_L_0, + PREFIX_VEX_0F38F6_L_0, + PREFIX_VEX_0F38F7_L_0, + PREFIX_VEX_0F3AF0_L_0, ++ PREFIX_VEX_MAP7_F8_L_0_W_0_R_0_X86_64, + + PREFIX_EVEX_0F5B, + PREFIX_EVEX_0F6F, +@@ -1241,6 +1189,18 @@ enum + PREFIX_EVEX_0F3A67, + PREFIX_EVEX_0F3AC2, + ++ PREFIX_EVEX_MAP4_D8, ++ PREFIX_EVEX_MAP4_DA, ++ PREFIX_EVEX_MAP4_DB, ++ PREFIX_EVEX_MAP4_DC, ++ PREFIX_EVEX_MAP4_DD, ++ PREFIX_EVEX_MAP4_DE, ++ PREFIX_EVEX_MAP4_DF, ++ PREFIX_EVEX_MAP4_F0, ++ PREFIX_EVEX_MAP4_F1, ++ PREFIX_EVEX_MAP4_F2, ++ PREFIX_EVEX_MAP4_F8, ++ + PREFIX_EVEX_MAP5_10, + PREFIX_EVEX_MAP5_11, + PREFIX_EVEX_MAP5_1D, +@@ -1307,6 +1267,7 @@ enum + X86_64_0F01_REG_0, + X86_64_0F01_REG_0_MOD_3_RM_6_P_1, + X86_64_0F01_REG_0_MOD_3_RM_6_P_3, ++ X86_64_0F01_REG_0_MOD_3_RM_7_P_0, + X86_64_0F01_REG_1, + X86_64_0F01_REG_1_RM_2_PREFIX_1, + X86_64_0F01_REG_1_RM_2_PREFIX_3, +@@ -1327,6 +1288,7 @@ enum + X86_64_0F18_REG_7_MOD_0, + X86_64_0F24, + X86_64_0F26, ++ X86_64_0F38F8_M_1, + X86_64_0FC7_REG_6_MOD_3_PREFIX_1, + + X86_64_VEX_0F3849, +@@ -1350,6 +1312,19 @@ enum + X86_64_VEX_0F38ED, + X86_64_VEX_0F38EE, + X86_64_VEX_0F38EF, ++ ++ X86_64_VEX_MAP7_F8_L_0_W_0_R_0, ++ ++ X86_64_EVEX_0F90, ++ X86_64_EVEX_0F91, ++ X86_64_EVEX_0F92, ++ X86_64_EVEX_0F93, ++ X86_64_EVEX_0F38F2, ++ X86_64_EVEX_0F38F3, ++ X86_64_EVEX_0F38F5, ++ X86_64_EVEX_0F38F6, ++ X86_64_EVEX_0F38F7, ++ X86_64_EVEX_0F3AF0, + }; + + enum +@@ -1369,7 +1344,8 @@ enum + { + VEX_0F = 0, + VEX_0F38, +- VEX_0F3A ++ VEX_0F3A, ++ VEX_MAP7, + }; + + enum +@@ -1377,20 +1353,19 @@ enum + EVEX_0F = 0, + EVEX_0F38, + EVEX_0F3A, ++ EVEX_MAP4, + EVEX_MAP5, + EVEX_MAP6, + }; + + enum + { +- VEX_LEN_0F12_P_0_M_0 = 0, +- VEX_LEN_0F12_P_0_M_1, +-#define VEX_LEN_0F12_P_2_M_0 VEX_LEN_0F12_P_0_M_0 +- VEX_LEN_0F13_M_0, +- VEX_LEN_0F16_P_0_M_0, +- VEX_LEN_0F16_P_0_M_1, +-#define VEX_LEN_0F16_P_2_M_0 VEX_LEN_0F16_P_0_M_0 +- VEX_LEN_0F17_M_0, ++ VEX_LEN_0F12_P_0 = 0, ++ VEX_LEN_0F12_P_2, ++ VEX_LEN_0F13, ++ VEX_LEN_0F16_P_0, ++ VEX_LEN_0F16_P_2, ++ VEX_LEN_0F17, + VEX_LEN_0F41, + VEX_LEN_0F42, + VEX_LEN_0F44, +@@ -1409,23 +1384,26 @@ enum + VEX_LEN_0F93, + VEX_LEN_0F98, + VEX_LEN_0F99, +- VEX_LEN_0FAE_R_2_M_0, +- VEX_LEN_0FAE_R_3_M_0, ++ VEX_LEN_0FAE_R_2, ++ VEX_LEN_0FAE_R_3, + VEX_LEN_0FC4, +- VEX_LEN_0FC5, + VEX_LEN_0FD6, +- VEX_LEN_0FF7, + VEX_LEN_0F3816, + VEX_LEN_0F3819, +- VEX_LEN_0F381A_M_0, ++ VEX_LEN_0F381A, + VEX_LEN_0F3836, + VEX_LEN_0F3841, + VEX_LEN_0F3849_X86_64, + VEX_LEN_0F384B_X86_64, +- VEX_LEN_0F385A_M_0, +- VEX_LEN_0F385C_X86_64_M_1, +- VEX_LEN_0F385E_X86_64_M_1, +- VEX_LEN_0F386C_X86_64_M_1, ++ VEX_LEN_0F385A, ++ VEX_LEN_0F385C_X86_64, ++ VEX_LEN_0F385E_X86_64, ++ VEX_LEN_0F386C_X86_64, ++ VEX_LEN_0F38CB_P_3_W_0, ++ VEX_LEN_0F38CC_P_3_W_0, ++ VEX_LEN_0F38CD_P_3_W_0, ++ VEX_LEN_0F38DA_W_0_P_0, ++ VEX_LEN_0F38DA_W_0_P_2, + VEX_LEN_0F38DB, + VEX_LEN_0F38F2, + VEX_LEN_0F38F3, +@@ -1456,79 +1434,81 @@ enum + VEX_LEN_0F3A61, + VEX_LEN_0F3A62, + VEX_LEN_0F3A63, ++ VEX_LEN_0F3ADE_W_0, + VEX_LEN_0F3ADF, + VEX_LEN_0F3AF0, +- VEX_LEN_0FXOP_08_85, +- VEX_LEN_0FXOP_08_86, +- VEX_LEN_0FXOP_08_87, +- VEX_LEN_0FXOP_08_8E, +- VEX_LEN_0FXOP_08_8F, +- VEX_LEN_0FXOP_08_95, +- VEX_LEN_0FXOP_08_96, +- VEX_LEN_0FXOP_08_97, +- VEX_LEN_0FXOP_08_9E, +- VEX_LEN_0FXOP_08_9F, +- VEX_LEN_0FXOP_08_A3, +- VEX_LEN_0FXOP_08_A6, +- VEX_LEN_0FXOP_08_B6, +- VEX_LEN_0FXOP_08_C0, +- VEX_LEN_0FXOP_08_C1, +- VEX_LEN_0FXOP_08_C2, +- VEX_LEN_0FXOP_08_C3, +- VEX_LEN_0FXOP_08_CC, +- VEX_LEN_0FXOP_08_CD, +- VEX_LEN_0FXOP_08_CE, +- VEX_LEN_0FXOP_08_CF, +- VEX_LEN_0FXOP_08_EC, +- VEX_LEN_0FXOP_08_ED, +- VEX_LEN_0FXOP_08_EE, +- VEX_LEN_0FXOP_08_EF, +- VEX_LEN_0FXOP_09_01, +- VEX_LEN_0FXOP_09_02, +- VEX_LEN_0FXOP_09_12_M_1, +- VEX_LEN_0FXOP_09_82_W_0, +- VEX_LEN_0FXOP_09_83_W_0, +- VEX_LEN_0FXOP_09_90, +- VEX_LEN_0FXOP_09_91, +- VEX_LEN_0FXOP_09_92, +- VEX_LEN_0FXOP_09_93, +- VEX_LEN_0FXOP_09_94, +- VEX_LEN_0FXOP_09_95, +- VEX_LEN_0FXOP_09_96, +- VEX_LEN_0FXOP_09_97, +- VEX_LEN_0FXOP_09_98, +- VEX_LEN_0FXOP_09_99, +- VEX_LEN_0FXOP_09_9A, +- VEX_LEN_0FXOP_09_9B, +- VEX_LEN_0FXOP_09_C1, +- VEX_LEN_0FXOP_09_C2, +- VEX_LEN_0FXOP_09_C3, +- VEX_LEN_0FXOP_09_C6, +- VEX_LEN_0FXOP_09_C7, +- VEX_LEN_0FXOP_09_CB, +- VEX_LEN_0FXOP_09_D1, +- VEX_LEN_0FXOP_09_D2, +- VEX_LEN_0FXOP_09_D3, +- VEX_LEN_0FXOP_09_D6, +- VEX_LEN_0FXOP_09_D7, +- VEX_LEN_0FXOP_09_DB, +- VEX_LEN_0FXOP_09_E1, +- VEX_LEN_0FXOP_09_E2, +- VEX_LEN_0FXOP_09_E3, +- VEX_LEN_0FXOP_0A_12, ++ VEX_LEN_MAP7_F8, ++ VEX_LEN_XOP_08_85, ++ VEX_LEN_XOP_08_86, ++ VEX_LEN_XOP_08_87, ++ VEX_LEN_XOP_08_8E, ++ VEX_LEN_XOP_08_8F, ++ VEX_LEN_XOP_08_95, ++ VEX_LEN_XOP_08_96, ++ VEX_LEN_XOP_08_97, ++ VEX_LEN_XOP_08_9E, ++ VEX_LEN_XOP_08_9F, ++ VEX_LEN_XOP_08_A3, ++ VEX_LEN_XOP_08_A6, ++ VEX_LEN_XOP_08_B6, ++ VEX_LEN_XOP_08_C0, ++ VEX_LEN_XOP_08_C1, ++ VEX_LEN_XOP_08_C2, ++ VEX_LEN_XOP_08_C3, ++ VEX_LEN_XOP_08_CC, ++ VEX_LEN_XOP_08_CD, ++ VEX_LEN_XOP_08_CE, ++ VEX_LEN_XOP_08_CF, ++ VEX_LEN_XOP_08_EC, ++ VEX_LEN_XOP_08_ED, ++ VEX_LEN_XOP_08_EE, ++ VEX_LEN_XOP_08_EF, ++ VEX_LEN_XOP_09_01, ++ VEX_LEN_XOP_09_02, ++ VEX_LEN_XOP_09_12, ++ VEX_LEN_XOP_09_82_W_0, ++ VEX_LEN_XOP_09_83_W_0, ++ VEX_LEN_XOP_09_90, ++ VEX_LEN_XOP_09_91, ++ VEX_LEN_XOP_09_92, ++ VEX_LEN_XOP_09_93, ++ VEX_LEN_XOP_09_94, ++ VEX_LEN_XOP_09_95, ++ VEX_LEN_XOP_09_96, ++ VEX_LEN_XOP_09_97, ++ VEX_LEN_XOP_09_98, ++ VEX_LEN_XOP_09_99, ++ VEX_LEN_XOP_09_9A, ++ VEX_LEN_XOP_09_9B, ++ VEX_LEN_XOP_09_C1, ++ VEX_LEN_XOP_09_C2, ++ VEX_LEN_XOP_09_C3, ++ VEX_LEN_XOP_09_C6, ++ VEX_LEN_XOP_09_C7, ++ VEX_LEN_XOP_09_CB, ++ VEX_LEN_XOP_09_D1, ++ VEX_LEN_XOP_09_D2, ++ VEX_LEN_XOP_09_D3, ++ VEX_LEN_XOP_09_D6, ++ VEX_LEN_XOP_09_D7, ++ VEX_LEN_XOP_09_DB, ++ VEX_LEN_XOP_09_E1, ++ VEX_LEN_XOP_09_E2, ++ VEX_LEN_XOP_09_E3, ++ VEX_LEN_XOP_0A_12, + }; + + enum + { + EVEX_LEN_0F3816 = 0, + EVEX_LEN_0F3819, +- EVEX_LEN_0F381A_M_0, +- EVEX_LEN_0F381B_M_0, ++ EVEX_LEN_0F381A, ++ EVEX_LEN_0F381B, + EVEX_LEN_0F3836, +- EVEX_LEN_0F385A_M_0, +- EVEX_LEN_0F385B_M_0, +- EVEX_LEN_0F38C6_M_0, +- EVEX_LEN_0F38C7_M_0, ++ EVEX_LEN_0F385A, ++ EVEX_LEN_0F385B, ++ EVEX_LEN_0F38C6, ++ EVEX_LEN_0F38C7, + EVEX_LEN_0F3A00, + EVEX_LEN_0F3A01, + EVEX_LEN_0F3A18, +@@ -1545,20 +1525,20 @@ enum + + enum + { +- VEX_W_0F41_L_1_M_1 = 0, +- VEX_W_0F42_L_1_M_1, +- VEX_W_0F44_L_0_M_1, +- VEX_W_0F45_L_1_M_1, +- VEX_W_0F46_L_1_M_1, +- VEX_W_0F47_L_1_M_1, +- VEX_W_0F4A_L_1_M_1, +- VEX_W_0F4B_L_1_M_1, ++ VEX_W_0F41_L_1 = 0, ++ VEX_W_0F42_L_1, ++ VEX_W_0F44_L_0, ++ VEX_W_0F45_L_1, ++ VEX_W_0F46_L_1, ++ VEX_W_0F47_L_1, ++ VEX_W_0F4A_L_1, ++ VEX_W_0F4B_L_1, + VEX_W_0F90_L_0, +- VEX_W_0F91_L_0_M_0, +- VEX_W_0F92_L_0_M_1, +- VEX_W_0F93_L_0_M_1, +- VEX_W_0F98_L_0_M_1, +- VEX_W_0F99_L_0_M_1, ++ VEX_W_0F91_L_0, ++ VEX_W_0F92_L_0, ++ VEX_W_0F93_L_0, ++ VEX_W_0F98_L_0, ++ VEX_W_0F99_L_0, + VEX_W_0F380C, + VEX_W_0F380D, + VEX_W_0F380E, +@@ -1567,11 +1547,11 @@ enum + VEX_W_0F3816_L_1, + VEX_W_0F3818, + VEX_W_0F3819_L_1, +- VEX_W_0F381A_M_0_L_1, +- VEX_W_0F382C_M_0, +- VEX_W_0F382D_M_0, +- VEX_W_0F382E_M_0, +- VEX_W_0F382F_M_0, ++ VEX_W_0F381A_L_1, ++ VEX_W_0F382C, ++ VEX_W_0F382D, ++ VEX_W_0F382E, ++ VEX_W_0F382F, + VEX_W_0F3836, + VEX_W_0F3846, + VEX_W_0F3849_X86_64_L_0, +@@ -1582,10 +1562,10 @@ enum + VEX_W_0F3853, + VEX_W_0F3858, + VEX_W_0F3859, +- VEX_W_0F385A_M_0_L_0, +- VEX_W_0F385C_X86_64_M_1_L_0, +- VEX_W_0F385E_X86_64_M_1_L_0, +- VEX_W_0F386C_X86_64_M_1_L_0, ++ VEX_W_0F385A_L_0, ++ VEX_W_0F385C_X86_64_L_0, ++ VEX_W_0F385E_X86_64_L_0, ++ VEX_W_0F386C_X86_64_L_0, + VEX_W_0F3872_P_1, + VEX_W_0F3878, + VEX_W_0F3879, +@@ -1593,7 +1573,13 @@ enum + VEX_W_0F38B1, + VEX_W_0F38B4, + VEX_W_0F38B5, ++ VEX_W_0F38CB_P_3, ++ VEX_W_0F38CC_P_3, ++ VEX_W_0F38CD_P_3, + VEX_W_0F38CF, ++ VEX_W_0F38D2, ++ VEX_W_0F38D3, ++ VEX_W_0F38DA, + VEX_W_0F3A00_L_1, + VEX_W_0F3A01_L_1, + VEX_W_0F3A02, +@@ -1611,51 +1597,53 @@ enum + VEX_W_0F3A4C, + VEX_W_0F3ACE, + VEX_W_0F3ACF, ++ VEX_W_0F3ADE, ++ VEX_W_MAP7_F8_L_0, + +- VEX_W_0FXOP_08_85_L_0, +- VEX_W_0FXOP_08_86_L_0, +- VEX_W_0FXOP_08_87_L_0, +- VEX_W_0FXOP_08_8E_L_0, +- VEX_W_0FXOP_08_8F_L_0, +- VEX_W_0FXOP_08_95_L_0, +- VEX_W_0FXOP_08_96_L_0, +- VEX_W_0FXOP_08_97_L_0, +- VEX_W_0FXOP_08_9E_L_0, +- VEX_W_0FXOP_08_9F_L_0, +- VEX_W_0FXOP_08_A6_L_0, +- VEX_W_0FXOP_08_B6_L_0, +- VEX_W_0FXOP_08_C0_L_0, +- VEX_W_0FXOP_08_C1_L_0, +- VEX_W_0FXOP_08_C2_L_0, +- VEX_W_0FXOP_08_C3_L_0, +- VEX_W_0FXOP_08_CC_L_0, +- VEX_W_0FXOP_08_CD_L_0, +- VEX_W_0FXOP_08_CE_L_0, +- VEX_W_0FXOP_08_CF_L_0, +- VEX_W_0FXOP_08_EC_L_0, +- VEX_W_0FXOP_08_ED_L_0, +- VEX_W_0FXOP_08_EE_L_0, +- VEX_W_0FXOP_08_EF_L_0, +- +- VEX_W_0FXOP_09_80, +- VEX_W_0FXOP_09_81, +- VEX_W_0FXOP_09_82, +- VEX_W_0FXOP_09_83, +- VEX_W_0FXOP_09_C1_L_0, +- VEX_W_0FXOP_09_C2_L_0, +- VEX_W_0FXOP_09_C3_L_0, +- VEX_W_0FXOP_09_C6_L_0, +- VEX_W_0FXOP_09_C7_L_0, +- VEX_W_0FXOP_09_CB_L_0, +- VEX_W_0FXOP_09_D1_L_0, +- VEX_W_0FXOP_09_D2_L_0, +- VEX_W_0FXOP_09_D3_L_0, +- VEX_W_0FXOP_09_D6_L_0, +- VEX_W_0FXOP_09_D7_L_0, +- VEX_W_0FXOP_09_DB_L_0, +- VEX_W_0FXOP_09_E1_L_0, +- VEX_W_0FXOP_09_E2_L_0, +- VEX_W_0FXOP_09_E3_L_0, ++ VEX_W_XOP_08_85_L_0, ++ VEX_W_XOP_08_86_L_0, ++ VEX_W_XOP_08_87_L_0, ++ VEX_W_XOP_08_8E_L_0, ++ VEX_W_XOP_08_8F_L_0, ++ VEX_W_XOP_08_95_L_0, ++ VEX_W_XOP_08_96_L_0, ++ VEX_W_XOP_08_97_L_0, ++ VEX_W_XOP_08_9E_L_0, ++ VEX_W_XOP_08_9F_L_0, ++ VEX_W_XOP_08_A6_L_0, ++ VEX_W_XOP_08_B6_L_0, ++ VEX_W_XOP_08_C0_L_0, ++ VEX_W_XOP_08_C1_L_0, ++ VEX_W_XOP_08_C2_L_0, ++ VEX_W_XOP_08_C3_L_0, ++ VEX_W_XOP_08_CC_L_0, ++ VEX_W_XOP_08_CD_L_0, ++ VEX_W_XOP_08_CE_L_0, ++ VEX_W_XOP_08_CF_L_0, ++ VEX_W_XOP_08_EC_L_0, ++ VEX_W_XOP_08_ED_L_0, ++ VEX_W_XOP_08_EE_L_0, ++ VEX_W_XOP_08_EF_L_0, ++ ++ VEX_W_XOP_09_80, ++ VEX_W_XOP_09_81, ++ VEX_W_XOP_09_82, ++ VEX_W_XOP_09_83, ++ VEX_W_XOP_09_C1_L_0, ++ VEX_W_XOP_09_C2_L_0, ++ VEX_W_XOP_09_C3_L_0, ++ VEX_W_XOP_09_C6_L_0, ++ VEX_W_XOP_09_C7_L_0, ++ VEX_W_XOP_09_CB_L_0, ++ VEX_W_XOP_09_D1_L_0, ++ VEX_W_XOP_09_D2_L_0, ++ VEX_W_XOP_09_D3_L_0, ++ VEX_W_XOP_09_D6_L_0, ++ VEX_W_XOP_09_D7_L_0, ++ VEX_W_XOP_09_DB_L_0, ++ VEX_W_XOP_09_E1_L_0, ++ VEX_W_XOP_09_E2_L_0, ++ VEX_W_XOP_09_E3_L_0, + + EVEX_W_0F5B_P_0, + EVEX_W_0F62, +@@ -1708,8 +1696,8 @@ enum + EVEX_W_0F3814_P_1, + EVEX_W_0F3815_P_1, + EVEX_W_0F3819_L_n, +- EVEX_W_0F381A_M_0_L_n, +- EVEX_W_0F381B_M_0_L_2, ++ EVEX_W_0F381A_L_n, ++ EVEX_W_0F381B_L_2, + EVEX_W_0F381E, + EVEX_W_0F381F, + EVEX_W_0F3820_P_1, +@@ -1734,8 +1722,8 @@ enum + EVEX_W_0F3837, + EVEX_W_0F383A_P_1, + EVEX_W_0F3859, +- EVEX_W_0F385A_M_0_L_n, +- EVEX_W_0F385B_M_0_L_2, ++ EVEX_W_0F385A_L_n, ++ EVEX_W_0F385B_L_2, + EVEX_W_0F3870, + EVEX_W_0F3872_P_2, + EVEX_W_0F387A, +@@ -1757,6 +1745,9 @@ enum + EVEX_W_0F3A70, + EVEX_W_0F3A72, + ++ EVEX_W_MAP4_8F_R_0, ++ EVEX_W_MAP4_FF_R_6, ++ + EVEX_W_MAP5_5B_P_0, + EVEX_W_MAP5_7A_P_3, + }; +@@ -1787,7 +1778,7 @@ struct dis386 { + 'I' unused. + 'J' unused. + 'K' => print 'd' or 'q' if rex prefix is present. +- 'L' unused. ++ 'L' => print 'l' or 'q' if suffix_always is true + 'M' => print 'r' if intel_mnemonic is false. + 'N' => print 'n' if instruction has no wait "prefix" + 'O' => print 'd' or 'o' (or 'q' in Intel mode) +@@ -1800,10 +1791,10 @@ struct dis386 { + 'T' => print 'w', 'l'/'d', or 'q' if instruction has an operand size + prefix or if suffix_always is true. + 'U' unused. +- 'V' unused. ++ 'V' => print 'v' for VEX/EVEX and nothing for legacy encodings. + 'W' => print 'b', 'w' or 'l' ('d' in Intel mode) + 'X' => print 's', 'd' depending on data16 prefix (for XMM) +- 'Y' unused. ++ 'Y' => no output, mark EVEX.aaa != 0 as bad. + 'Z' => print 'q' in 64bit mode and 'l' otherwise, if suffix_always is true. + '!' => change condition from true to false or from false to true. + '%' => add 1 upper case letter to the macro. +@@ -1825,6 +1816,8 @@ struct dis386 { + "XV" => print "{vex} " pseudo prefix + "XE" => print "{evex} " pseudo prefix if no EVEX-specific functionality is + is used by an EVEX-encoded (AVX512VL) instruction. ++ "YK" keep unused, to avoid ambiguity with the combined use of Y and K. ++ "YX" keep unused, to avoid ambiguity with the combined use of Y and X. + "LQ" => print 'l' ('d' in Intel mode) or 'q' for memory operand, cond + being false, or no operand at all in 64bit mode, or if suffix_always + is true. +@@ -1935,23 +1928,23 @@ static const struct dis386 dis386[] = { + { "dec{S|}", { RMeSI }, 0 }, + { "dec{S|}", { RMeDI }, 0 }, + /* 50 */ +- { "push{!P|}", { RMrAX }, 0 }, +- { "push{!P|}", { RMrCX }, 0 }, +- { "push{!P|}", { RMrDX }, 0 }, +- { "push{!P|}", { RMrBX }, 0 }, +- { "push{!P|}", { RMrSP }, 0 }, +- { "push{!P|}", { RMrBP }, 0 }, +- { "push{!P|}", { RMrSI }, 0 }, +- { "push{!P|}", { RMrDI }, 0 }, ++ { "push!P", { RMrAX }, 0 }, ++ { "push!P", { RMrCX }, 0 }, ++ { "push!P", { RMrDX }, 0 }, ++ { "push!P", { RMrBX }, 0 }, ++ { "push!P", { RMrSP }, 0 }, ++ { "push!P", { RMrBP }, 0 }, ++ { "push!P", { RMrSI }, 0 }, ++ { "push!P", { RMrDI }, 0 }, + /* 58 */ +- { "pop{!P|}", { RMrAX }, 0 }, +- { "pop{!P|}", { RMrCX }, 0 }, +- { "pop{!P|}", { RMrDX }, 0 }, +- { "pop{!P|}", { RMrBX }, 0 }, +- { "pop{!P|}", { RMrSP }, 0 }, +- { "pop{!P|}", { RMrBP }, 0 }, +- { "pop{!P|}", { RMrSI }, 0 }, +- { "pop{!P|}", { RMrDI }, 0 }, ++ { "pop!P", { RMrAX }, 0 }, ++ { "pop!P", { RMrCX }, 0 }, ++ { "pop!P", { RMrDX }, 0 }, ++ { "pop!P", { RMrBX }, 0 }, ++ { "pop!P", { RMrSP }, 0 }, ++ { "pop!P", { RMrBP }, 0 }, ++ { "pop!P", { RMrSI }, 0 }, ++ { "pop!P", { RMrDI }, 0 }, + /* 60 */ + { X86_64_TABLE (X86_64_60) }, + { X86_64_TABLE (X86_64_61) }, +@@ -1971,23 +1964,23 @@ static const struct dis386 dis386[] = { + { "outs{b|}", { indirDXr, Xb }, 0 }, + { X86_64_TABLE (X86_64_6F) }, + /* 70 */ +- { "joH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jnoH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jbH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jaeH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jeH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jneH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jbeH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jaH", { Jb, BND, cond_jump_flag }, 0 }, ++ { "joH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jnoH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jbH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jaeH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jeH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jneH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jbeH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jaH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, + /* 78 */ +- { "jsH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jnsH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jpH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jnpH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jlH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jgeH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jleH", { Jb, BND, cond_jump_flag }, 0 }, +- { "jgH", { Jb, BND, cond_jump_flag }, 0 }, ++ { "jsH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jnsH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jpH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jnpH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jlH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jgeH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jleH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jgH", { Jb, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, + /* 80 */ + { REG_TABLE (REG_80) }, + { REG_TABLE (REG_81) }, +@@ -2003,7 +1996,7 @@ static const struct dis386 dis386[] = { + { "movB", { Gb, EbS }, 0 }, + { "movS", { Gv, EvS }, 0 }, + { "movD", { Sv, Sw }, 0 }, +- { MOD_TABLE (MOD_8D) }, ++ { "leaS", { Gv, M }, 0 }, + { "movD", { Sw, Sv }, 0 }, + { REG_TABLE (REG_8F) }, + /* 90 */ +@@ -2025,23 +2018,23 @@ static const struct dis386 dis386[] = { + { "sahf", { XX }, 0 }, + { "lahf", { XX }, 0 }, + /* a0 */ +- { "mov%LB", { AL, Ob }, 0 }, +- { "mov%LS", { eAX, Ov }, 0 }, +- { "mov%LB", { Ob, AL }, 0 }, +- { "mov%LS", { Ov, eAX }, 0 }, +- { "movs{b|}", { Ybr, Xb }, 0 }, +- { "movs{R|}", { Yvr, Xv }, 0 }, +- { "cmps{b|}", { Xb, Yb }, 0 }, +- { "cmps{R|}", { Xv, Yv }, 0 }, ++ { "mov%LB", { AL, Ob }, PREFIX_REX2_ILLEGAL }, ++ { "mov%LS", { { JMPABS_Fixup, eAX_reg }, { JMPABS_Fixup, v_mode } }, PREFIX_REX2_ILLEGAL }, ++ { "mov%LB", { Ob, AL }, PREFIX_REX2_ILLEGAL }, ++ { "mov%LS", { Ov, eAX }, PREFIX_REX2_ILLEGAL }, ++ { "movs{b|}", { Ybr, Xb }, PREFIX_REX2_ILLEGAL }, ++ { "movs{R|}", { Yvr, Xv }, PREFIX_REX2_ILLEGAL }, ++ { "cmps{b|}", { Xb, Yb }, PREFIX_REX2_ILLEGAL }, ++ { "cmps{R|}", { Xv, Yv }, PREFIX_REX2_ILLEGAL }, + /* a8 */ +- { "testB", { AL, Ib }, 0 }, +- { "testS", { eAX, Iv }, 0 }, +- { "stosB", { Ybr, AL }, 0 }, +- { "stosS", { Yvr, eAX }, 0 }, +- { "lodsB", { ALr, Xb }, 0 }, +- { "lodsS", { eAXr, Xv }, 0 }, +- { "scasB", { AL, Yb }, 0 }, +- { "scasS", { eAX, Yv }, 0 }, ++ { "testB", { AL, Ib }, PREFIX_REX2_ILLEGAL }, ++ { "testS", { eAX, Iv }, PREFIX_REX2_ILLEGAL }, ++ { "stosB", { Ybr, AL }, PREFIX_REX2_ILLEGAL }, ++ { "stosS", { Yvr, eAX }, PREFIX_REX2_ILLEGAL }, ++ { "lodsB", { ALr, Xb }, PREFIX_REX2_ILLEGAL }, ++ { "lodsS", { eAXr, Xv }, PREFIX_REX2_ILLEGAL }, ++ { "scasB", { AL, Yb }, PREFIX_REX2_ILLEGAL }, ++ { "scasS", { eAX, Yv }, PREFIX_REX2_ILLEGAL }, + /* b0 */ + { "movB", { RMAL, Ib }, 0 }, + { "movB", { RMCL, Ib }, 0 }, +@@ -2097,23 +2090,23 @@ static const struct dis386 dis386[] = { + { FLOAT }, + { FLOAT }, + /* e0 */ +- { "loopneFH", { Jb, XX, loop_jcxz_flag }, 0 }, +- { "loopeFH", { Jb, XX, loop_jcxz_flag }, 0 }, +- { "loopFH", { Jb, XX, loop_jcxz_flag }, 0 }, +- { "jEcxzH", { Jb, XX, loop_jcxz_flag }, 0 }, +- { "inB", { AL, Ib }, 0 }, +- { "inG", { zAX, Ib }, 0 }, +- { "outB", { Ib, AL }, 0 }, +- { "outG", { Ib, zAX }, 0 }, ++ { "loopneFH", { Jb, XX, loop_jcxz_flag }, PREFIX_REX2_ILLEGAL }, ++ { "loopeFH", { Jb, XX, loop_jcxz_flag }, PREFIX_REX2_ILLEGAL }, ++ { "loopFH", { Jb, XX, loop_jcxz_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jEcxzH", { Jb, XX, loop_jcxz_flag }, PREFIX_REX2_ILLEGAL }, ++ { "inB", { AL, Ib }, PREFIX_REX2_ILLEGAL }, ++ { "inG", { zAX, Ib }, PREFIX_REX2_ILLEGAL }, ++ { "outB", { Ib, AL }, PREFIX_REX2_ILLEGAL }, ++ { "outG", { Ib, zAX }, PREFIX_REX2_ILLEGAL }, + /* e8 */ + { X86_64_TABLE (X86_64_E8) }, + { X86_64_TABLE (X86_64_E9) }, + { X86_64_TABLE (X86_64_EA) }, +- { "jmp", { Jb, BND }, 0 }, +- { "inB", { AL, indirDX }, 0 }, +- { "inG", { zAX, indirDX }, 0 }, +- { "outB", { indirDX, AL }, 0 }, +- { "outG", { indirDX, zAX }, 0 }, ++ { "jmp", { Jb, BND }, PREFIX_REX2_ILLEGAL }, ++ { "inB", { AL, indirDX }, PREFIX_REX2_ILLEGAL }, ++ { "inG", { zAX, indirDX }, PREFIX_REX2_ILLEGAL }, ++ { "outB", { indirDX, AL }, PREFIX_REX2_ILLEGAL }, ++ { "outG", { indirDX, zAX }, PREFIX_REX2_ILLEGAL }, + /* f0 */ + { Bad_Opcode }, /* lock prefix */ + { "int1", { XX }, 0 }, +@@ -2138,8 +2131,8 @@ static const struct dis386 dis386_twobyt + /* 00 */ + { REG_TABLE (REG_0F00 ) }, + { REG_TABLE (REG_0F01 ) }, +- { MOD_TABLE (MOD_0F02) }, +- { MOD_TABLE (MOD_0F03) }, ++ { "larS", { Gv, Sv }, 0 }, ++ { "lslS", { Gv, Sv }, 0 }, + { Bad_Opcode }, + { "syscall", { XX }, 0 }, + { "clts", { XX }, 0 }, +@@ -2157,11 +2150,11 @@ static const struct dis386 dis386_twobyt + { PREFIX_TABLE (PREFIX_0F10) }, + { PREFIX_TABLE (PREFIX_0F11) }, + { PREFIX_TABLE (PREFIX_0F12) }, +- { MOD_TABLE (MOD_0F13) }, ++ { "movlpX", { Mq, XM }, PREFIX_OPCODE }, + { "unpcklpX", { XM, EXx }, PREFIX_OPCODE }, + { "unpckhpX", { XM, EXx }, PREFIX_OPCODE }, + { PREFIX_TABLE (PREFIX_0F16) }, +- { MOD_TABLE (MOD_0F17) }, ++ { "movhpX", { Mq, XM }, PREFIX_OPCODE }, + /* 18 */ + { REG_TABLE (REG_0F18) }, + { "nopQ", { Ev }, 0 }, +@@ -2190,18 +2183,18 @@ static const struct dis386 dis386_twobyt + { PREFIX_TABLE (PREFIX_0F2E) }, + { PREFIX_TABLE (PREFIX_0F2F) }, + /* 30 */ +- { "wrmsr", { XX }, 0 }, +- { "rdtsc", { XX }, 0 }, +- { "rdmsr", { XX }, 0 }, +- { "rdpmc", { XX }, 0 }, +- { "sysenter", { SEP }, 0 }, +- { "sysexit%LQ", { SEP }, 0 }, ++ { "wrmsr", { XX }, PREFIX_REX2_ILLEGAL }, ++ { "rdtsc", { XX }, PREFIX_REX2_ILLEGAL }, ++ { "rdmsr", { XX }, PREFIX_REX2_ILLEGAL }, ++ { "rdpmc", { XX }, PREFIX_REX2_ILLEGAL }, ++ { "sysenter", { SEP }, PREFIX_REX2_ILLEGAL }, ++ { "sysexit%LQ", { SEP }, PREFIX_REX2_ILLEGAL }, + { Bad_Opcode }, + { "getsec", { XX }, 0 }, + /* 38 */ +- { THREE_BYTE_TABLE_PREFIX (THREE_BYTE_0F38, PREFIX_OPCODE) }, ++ { THREE_BYTE_TABLE (THREE_BYTE_0F38) }, + { Bad_Opcode }, +- { THREE_BYTE_TABLE_PREFIX (THREE_BYTE_0F3A, PREFIX_OPCODE) }, ++ { THREE_BYTE_TABLE (THREE_BYTE_0F3A) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -2226,7 +2219,7 @@ static const struct dis386 dis386_twobyt + { "cmovleS", { Gv, Ev }, 0 }, + { "cmovgS", { Gv, Ev }, 0 }, + /* 50 */ +- { MOD_TABLE (MOD_0F50) }, ++ { "movmskpX", { Gdq, Ux }, PREFIX_OPCODE }, + { PREFIX_TABLE (PREFIX_0F51) }, + { PREFIX_TABLE (PREFIX_0F52) }, + { PREFIX_TABLE (PREFIX_0F53) }, +@@ -2263,9 +2256,9 @@ static const struct dis386 dis386_twobyt + { PREFIX_TABLE (PREFIX_0F6F) }, + /* 70 */ + { PREFIX_TABLE (PREFIX_0F70) }, +- { MOD_TABLE (MOD_0F71) }, +- { MOD_TABLE (MOD_0F72) }, +- { MOD_TABLE (MOD_0F73) }, ++ { REG_TABLE (REG_0F71) }, ++ { REG_TABLE (REG_0F72) }, ++ { REG_TABLE (REG_0F73) }, + { "pcmpeqb", { MX, EM }, PREFIX_OPCODE }, + { "pcmpeqw", { MX, EM }, PREFIX_OPCODE }, + { "pcmpeqd", { MX, EM }, PREFIX_OPCODE }, +@@ -2280,23 +2273,23 @@ static const struct dis386 dis386_twobyt + { PREFIX_TABLE (PREFIX_0F7E) }, + { PREFIX_TABLE (PREFIX_0F7F) }, + /* 80 */ +- { "joH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jnoH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jbH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jaeH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jeH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jneH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jbeH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jaH", { Jv, BND, cond_jump_flag }, 0 }, ++ { "joH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jnoH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jbH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jaeH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jeH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jneH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jbeH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jaH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, + /* 88 */ +- { "jsH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jnsH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jpH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jnpH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jlH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jgeH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jleH", { Jv, BND, cond_jump_flag }, 0 }, +- { "jgH", { Jv, BND, cond_jump_flag }, 0 }, ++ { "jsH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jnsH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jpH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jnpH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jlH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jgeH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jleH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, ++ { "jgH", { Jv, BND, cond_jump_flag }, PREFIX_REX2_ILLEGAL }, + /* 90 */ + { "seto", { Eb }, 0 }, + { "setno", { Eb }, 0 }, +@@ -2336,10 +2329,10 @@ static const struct dis386 dis386_twobyt + /* b0 */ + { "cmpxchgB", { Ebh1, Gb }, 0 }, + { "cmpxchgS", { Evh1, Gv }, 0 }, +- { MOD_TABLE (MOD_0FB2) }, ++ { "lssS", { Gv, Mp }, 0 }, + { "btrS", { Evh1, Gv }, 0 }, +- { MOD_TABLE (MOD_0FB4) }, +- { MOD_TABLE (MOD_0FB5) }, ++ { "lfsS", { Gv, Mp }, 0 }, ++ { "lgsS", { Gv, Mp }, 0 }, + { "movz{bR|x}", { Gv, Eb }, 0 }, + { "movz{wR|x}", { Gv, Ew }, 0 }, /* yes, there really is movzww ! */ + /* b8 */ +@@ -2355,9 +2348,9 @@ static const struct dis386 dis386_twobyt + { "xaddB", { Ebh1, Gb }, 0 }, + { "xaddS", { Evh1, Gv }, 0 }, + { PREFIX_TABLE (PREFIX_0FC2) }, +- { MOD_TABLE (MOD_0FC3) }, ++ { "movntiS", { Mdq, Gdq }, PREFIX_OPCODE }, + { "pinsrw", { MX, Edw, Ib }, PREFIX_OPCODE }, +- { "pextrw", { Gd, MS, Ib }, PREFIX_OPCODE }, ++ { "pextrw", { Gd, Nq, Ib }, PREFIX_OPCODE }, + { "shufpX", { XM, EXx, Ib }, PREFIX_OPCODE }, + { REG_TABLE (REG_0FC7) }, + /* c8 */ +@@ -2377,7 +2370,7 @@ static const struct dis386 dis386_twobyt + { "paddq", { MX, EM }, PREFIX_OPCODE }, + { "pmullw", { MX, EM }, PREFIX_OPCODE }, + { PREFIX_TABLE (PREFIX_0FD6) }, +- { MOD_TABLE (MOD_0FD7) }, ++ { "pmovmskb", { Gdq, Nq }, PREFIX_OPCODE }, + /* d8 */ + { "psubusb", { MX, EM }, PREFIX_OPCODE }, + { "psubusw", { MX, EM }, PREFIX_OPCODE }, +@@ -2489,22 +2482,30 @@ static const char intel_index16[][6] = { + + static const char att_names64[][8] = { + "%rax", "%rcx", "%rdx", "%rbx", "%rsp", "%rbp", "%rsi", "%rdi", +- "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15" ++ "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", ++ "%r16", "%r17", "%r18", "%r19", "%r20", "%r21", "%r22", "%r23", ++ "%r24", "%r25", "%r26", "%r27", "%r28", "%r29", "%r30", "%r31", + }; + static const char att_names32[][8] = { + "%eax", "%ecx", "%edx", "%ebx", "%esp", "%ebp", "%esi", "%edi", +- "%r8d", "%r9d", "%r10d", "%r11d", "%r12d", "%r13d", "%r14d", "%r15d" ++ "%r8d", "%r9d", "%r10d", "%r11d", "%r12d", "%r13d", "%r14d", "%r15d", ++ "%r16d", "%r17d", "%r18d", "%r19d", "%r20d", "%r21d", "%r22d", "%r23d", ++ "%r24d", "%r25d", "%r26d", "%r27d", "%r28d", "%r29d", "%r30d", "%r31d", + }; + static const char att_names16[][8] = { + "%ax", "%cx", "%dx", "%bx", "%sp", "%bp", "%si", "%di", +- "%r8w", "%r9w", "%r10w", "%r11w", "%r12w", "%r13w", "%r14w", "%r15w" ++ "%r8w", "%r9w", "%r10w", "%r11w", "%r12w", "%r13w", "%r14w", "%r15w", ++ "%r16w", "%r17w", "%r18w", "%r19w", "%r20w", "%r21w", "%r22w", "%r23w", ++ "%r24w", "%r25w", "%r26w", "%r27w", "%r28w", "%r29w", "%r30w", "%r31w", + }; + static const char att_names8[][8] = { + "%al", "%cl", "%dl", "%bl", "%ah", "%ch", "%dh", "%bh", + }; + static const char att_names8rex[][8] = { + "%al", "%cl", "%dl", "%bl", "%spl", "%bpl", "%sil", "%dil", +- "%r8b", "%r9b", "%r10b", "%r11b", "%r12b", "%r13b", "%r14b", "%r15b" ++ "%r8b", "%r9b", "%r10b", "%r11b", "%r12b", "%r13b", "%r14b", "%r15b", ++ "%r16b", "%r17b", "%r18b", "%r19b", "%r20b", "%r21b", "%r22b", "%r23b", ++ "%r24b", "%r25b", "%r26b", "%r27b", "%r28b", "%r29b", "%r30b", "%r31b", + }; + static const char att_names_seg[][4] = { + "%es", "%cs", "%ss", "%ds", "%fs", "%gs", "%?", "%?", +@@ -2611,33 +2612,33 @@ static const struct dis386 reg_table[][8 + /* REG_8F */ + { + { "pop{P|}", { stackEv }, 0 }, +- { XOP_8F_TABLE (XOP_09) }, ++ { XOP_8F_TABLE () }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { XOP_8F_TABLE (XOP_09) }, ++ { XOP_8F_TABLE () }, + }, + /* REG_C0 */ + { +- { "rolA", { Eb, Ib }, 0 }, +- { "rorA", { Eb, Ib }, 0 }, +- { "rclA", { Eb, Ib }, 0 }, +- { "rcrA", { Eb, Ib }, 0 }, +- { "shlA", { Eb, Ib }, 0 }, +- { "shrA", { Eb, Ib }, 0 }, +- { "shlA", { Eb, Ib }, 0 }, +- { "sarA", { Eb, Ib }, 0 }, ++ { "rolA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "rorA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "rclA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "rcrA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "shlA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "shrA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "shlA", { VexGb, Eb, Ib }, NO_PREFIX }, ++ { "sarA", { VexGb, Eb, Ib }, NO_PREFIX }, + }, + /* REG_C1 */ + { +- { "rolQ", { Ev, Ib }, 0 }, +- { "rorQ", { Ev, Ib }, 0 }, +- { "rclQ", { Ev, Ib }, 0 }, +- { "rcrQ", { Ev, Ib }, 0 }, +- { "shlQ", { Ev, Ib }, 0 }, +- { "shrQ", { Ev, Ib }, 0 }, +- { "shlQ", { Ev, Ib }, 0 }, +- { "sarQ", { Ev, Ib }, 0 }, ++ { "rolQ", { VexGv, Ev, Ib }, PREFIX_NP_OR_DATA }, ++ { "rorQ", { VexGv, Ev, Ib }, PREFIX_NP_OR_DATA }, ++ { "rclQ", { VexGv, Ev, Ib }, PREFIX_NP_OR_DATA }, ++ { "rcrQ", { VexGv, Ev, Ib }, PREFIX_NP_OR_DATA }, ++ { "shlQ", { VexGv, Ev, Ib }, PREFIX_NP_OR_DATA }, ++ { "shrQ", { VexGv, Ev, Ib }, PREFIX_NP_OR_DATA }, ++ { "shlQ", { VexGv, Ev, Ib }, PREFIX_NP_OR_DATA }, ++ { "sarQ", { VexGv, Ev, Ib }, PREFIX_NP_OR_DATA }, + }, + /* REG_C6 */ + { +@@ -2648,7 +2649,7 @@ static const struct dis386 reg_table[][8 + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { MOD_TABLE (MOD_C6_REG_7) }, ++ { RM_TABLE (RM_C6_REG_7) }, + }, + /* REG_C7 */ + { +@@ -2659,51 +2660,51 @@ static const struct dis386 reg_table[][8 + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { MOD_TABLE (MOD_C7_REG_7) }, ++ { RM_TABLE (RM_C7_REG_7) }, + }, + /* REG_D0 */ + { +- { "rolA", { Eb, I1 }, 0 }, +- { "rorA", { Eb, I1 }, 0 }, +- { "rclA", { Eb, I1 }, 0 }, +- { "rcrA", { Eb, I1 }, 0 }, +- { "shlA", { Eb, I1 }, 0 }, +- { "shrA", { Eb, I1 }, 0 }, +- { "shlA", { Eb, I1 }, 0 }, +- { "sarA", { Eb, I1 }, 0 }, ++ { "rolA", { VexGb, Eb, I1 }, NO_PREFIX }, ++ { "rorA", { VexGb, Eb, I1 }, NO_PREFIX }, ++ { "rclA", { VexGb, Eb, I1 }, NO_PREFIX }, ++ { "rcrA", { VexGb, Eb, I1 }, NO_PREFIX }, ++ { "shlA", { VexGb, Eb, I1 }, NO_PREFIX }, ++ { "shrA", { VexGb, Eb, I1 }, NO_PREFIX }, ++ { "shlA", { VexGb, Eb, I1 }, NO_PREFIX }, ++ { "sarA", { VexGb, Eb, I1 }, NO_PREFIX }, + }, + /* REG_D1 */ + { +- { "rolQ", { Ev, I1 }, 0 }, +- { "rorQ", { Ev, I1 }, 0 }, +- { "rclQ", { Ev, I1 }, 0 }, +- { "rcrQ", { Ev, I1 }, 0 }, +- { "shlQ", { Ev, I1 }, 0 }, +- { "shrQ", { Ev, I1 }, 0 }, +- { "shlQ", { Ev, I1 }, 0 }, +- { "sarQ", { Ev, I1 }, 0 }, ++ { "rolQ", { VexGv, Ev, I1 }, PREFIX_NP_OR_DATA }, ++ { "rorQ", { VexGv, Ev, I1 }, PREFIX_NP_OR_DATA }, ++ { "rclQ", { VexGv, Ev, I1 }, PREFIX_NP_OR_DATA }, ++ { "rcrQ", { VexGv, Ev, I1 }, PREFIX_NP_OR_DATA }, ++ { "shlQ", { VexGv, Ev, I1 }, PREFIX_NP_OR_DATA }, ++ { "shrQ", { VexGv, Ev, I1 }, PREFIX_NP_OR_DATA }, ++ { "shlQ", { VexGv, Ev, I1 }, PREFIX_NP_OR_DATA }, ++ { "sarQ", { VexGv, Ev, I1 }, PREFIX_NP_OR_DATA }, + }, + /* REG_D2 */ + { +- { "rolA", { Eb, CL }, 0 }, +- { "rorA", { Eb, CL }, 0 }, +- { "rclA", { Eb, CL }, 0 }, +- { "rcrA", { Eb, CL }, 0 }, +- { "shlA", { Eb, CL }, 0 }, +- { "shrA", { Eb, CL }, 0 }, +- { "shlA", { Eb, CL }, 0 }, +- { "sarA", { Eb, CL }, 0 }, ++ { "rolA", { VexGb, Eb, CL }, NO_PREFIX }, ++ { "rorA", { VexGb, Eb, CL }, NO_PREFIX }, ++ { "rclA", { VexGb, Eb, CL }, NO_PREFIX }, ++ { "rcrA", { VexGb, Eb, CL }, NO_PREFIX }, ++ { "shlA", { VexGb, Eb, CL }, NO_PREFIX }, ++ { "shrA", { VexGb, Eb, CL }, NO_PREFIX }, ++ { "shlA", { VexGb, Eb, CL }, NO_PREFIX }, ++ { "sarA", { VexGb, Eb, CL }, NO_PREFIX }, + }, + /* REG_D3 */ + { +- { "rolQ", { Ev, CL }, 0 }, +- { "rorQ", { Ev, CL }, 0 }, +- { "rclQ", { Ev, CL }, 0 }, +- { "rcrQ", { Ev, CL }, 0 }, +- { "shlQ", { Ev, CL }, 0 }, +- { "shrQ", { Ev, CL }, 0 }, +- { "shlQ", { Ev, CL }, 0 }, +- { "sarQ", { Ev, CL }, 0 }, ++ { "rolQ", { VexGv, Ev, CL }, PREFIX_NP_OR_DATA }, ++ { "rorQ", { VexGv, Ev, CL }, PREFIX_NP_OR_DATA }, ++ { "rclQ", { VexGv, Ev, CL }, PREFIX_NP_OR_DATA }, ++ { "rcrQ", { VexGv, Ev, CL }, PREFIX_NP_OR_DATA }, ++ { "shlQ", { VexGv, Ev, CL }, PREFIX_NP_OR_DATA }, ++ { "shrQ", { VexGv, Ev, CL }, PREFIX_NP_OR_DATA }, ++ { "shlQ", { VexGv, Ev, CL }, PREFIX_NP_OR_DATA }, ++ { "sarQ", { VexGv, Ev, CL }, PREFIX_NP_OR_DATA }, + }, + /* REG_F6 */ + { +@@ -2737,9 +2738,9 @@ static const struct dis386 reg_table[][8 + { "incQ", { Evh1 }, 0 }, + { "decQ", { Evh1 }, 0 }, + { "call{@|}", { NOTRACK, indirEv, BND }, 0 }, +- { MOD_TABLE (MOD_FF_REG_3) }, ++ { "{l|}call^", { indirEp }, 0 }, + { "jmp{@|}", { NOTRACK, indirEv, BND }, 0 }, +- { MOD_TABLE (MOD_FF_REG_5) }, ++ { "{l|}jmp^", { indirEp }, 0 }, + { "push{P|}", { stackEv }, 0 }, + { Bad_Opcode }, + }, +@@ -2747,10 +2748,10 @@ static const struct dis386 reg_table[][8 + { + { "sldtD", { Sv }, 0 }, + { "strD", { Sv }, 0 }, +- { "lldt", { Ew }, 0 }, +- { "ltr", { Ew }, 0 }, +- { "verr", { Ew }, 0 }, +- { "verw", { Ew }, 0 }, ++ { "lldtD", { Sv }, 0 }, ++ { "ltrD", { Sv }, 0 }, ++ { "verrD", { Sv }, 0 }, ++ { "verwD", { Sv }, 0 }, + { X86_64_TABLE (X86_64_0F00_REG_6) }, + { Bad_Opcode }, + }, +@@ -2816,40 +2817,40 @@ static const struct dis386 reg_table[][8 + { "aesencwide256kl", { M }, 0 }, + { "aesdecwide256kl", { M }, 0 }, + }, +- /* REG_0F3A0F_PREFIX_1_MOD_3 */ ++ /* REG_0F3A0F_P_1 */ + { +- { RM_TABLE (RM_0F3A0F_P_1_MOD_3_REG_0) }, ++ { RM_TABLE (RM_0F3A0F_P_1_R_0) }, + }, +- /* REG_0F71_MOD_0 */ ++ /* REG_0F71 */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { "psrlw", { MS, Ib }, PREFIX_OPCODE }, ++ { "psrlw", { Nq, Ib }, PREFIX_OPCODE }, + { Bad_Opcode }, +- { "psraw", { MS, Ib }, PREFIX_OPCODE }, ++ { "psraw", { Nq, Ib }, PREFIX_OPCODE }, + { Bad_Opcode }, +- { "psllw", { MS, Ib }, PREFIX_OPCODE }, ++ { "psllw", { Nq, Ib }, PREFIX_OPCODE }, + }, +- /* REG_0F72_MOD_0 */ ++ /* REG_0F72 */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { "psrld", { MS, Ib }, PREFIX_OPCODE }, ++ { "psrld", { Nq, Ib }, PREFIX_OPCODE }, + { Bad_Opcode }, +- { "psrad", { MS, Ib }, PREFIX_OPCODE }, ++ { "psrad", { Nq, Ib }, PREFIX_OPCODE }, + { Bad_Opcode }, +- { "pslld", { MS, Ib }, PREFIX_OPCODE }, ++ { "pslld", { Nq, Ib }, PREFIX_OPCODE }, + }, +- /* REG_0F73_MOD_0 */ ++ /* REG_0F73 */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { "psrlq", { MS, Ib }, PREFIX_OPCODE }, +- { "psrldq", { XS, Ib }, PREFIX_DATA }, ++ { "psrlq", { Nq, Ib }, PREFIX_OPCODE }, ++ { "psrldq", { Ux, Ib }, PREFIX_DATA }, + { Bad_Opcode }, + { Bad_Opcode }, +- { "psllq", { MS, Ib }, PREFIX_OPCODE }, +- { "pslldq", { XS, Ib }, PREFIX_DATA }, ++ { "psllq", { Nq, Ib }, PREFIX_OPCODE }, ++ { "pslldq", { Ux, Ib }, PREFIX_DATA }, + }, + /* REG_0FA6 */ + { +@@ -2893,60 +2894,64 @@ static const struct dis386 reg_table[][8 + { Bad_Opcode }, + { "cmpxchg8b", { { CMPXCHG8B_Fixup, q_mode } }, 0 }, + { Bad_Opcode }, +- { MOD_TABLE (MOD_0FC7_REG_3) }, +- { MOD_TABLE (MOD_0FC7_REG_4) }, +- { MOD_TABLE (MOD_0FC7_REG_5) }, ++ { "xrstors", { FXSAVE }, PREFIX_REX2_ILLEGAL }, ++ { "xsavec", { FXSAVE }, PREFIX_REX2_ILLEGAL }, ++ { "xsaves", { FXSAVE }, PREFIX_REX2_ILLEGAL }, + { MOD_TABLE (MOD_0FC7_REG_6) }, + { MOD_TABLE (MOD_0FC7_REG_7) }, + }, +- /* REG_VEX_0F71_M_0 */ ++ /* REG_VEX_0F71 */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { "vpsrlw", { Vex, XS, Ib }, PREFIX_DATA }, ++ { "vpsrlw", { Vex, Ux, Ib }, PREFIX_DATA }, + { Bad_Opcode }, +- { "vpsraw", { Vex, XS, Ib }, PREFIX_DATA }, ++ { "vpsraw", { Vex, Ux, Ib }, PREFIX_DATA }, + { Bad_Opcode }, +- { "vpsllw", { Vex, XS, Ib }, PREFIX_DATA }, ++ { "vpsllw", { Vex, Ux, Ib }, PREFIX_DATA }, + }, +- /* REG_VEX_0F72_M_0 */ ++ /* REG_VEX_0F72 */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { "vpsrld", { Vex, XS, Ib }, PREFIX_DATA }, ++ { "vpsrld", { Vex, Ux, Ib }, PREFIX_DATA }, + { Bad_Opcode }, +- { "vpsrad", { Vex, XS, Ib }, PREFIX_DATA }, ++ { "vpsrad", { Vex, Ux, Ib }, PREFIX_DATA }, + { Bad_Opcode }, +- { "vpslld", { Vex, XS, Ib }, PREFIX_DATA }, ++ { "vpslld", { Vex, Ux, Ib }, PREFIX_DATA }, + }, +- /* REG_VEX_0F73_M_0 */ ++ /* REG_VEX_0F73 */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { "vpsrlq", { Vex, XS, Ib }, PREFIX_DATA }, +- { "vpsrldq", { Vex, XS, Ib }, PREFIX_DATA }, ++ { "vpsrlq", { Vex, Ux, Ib }, PREFIX_DATA }, ++ { "vpsrldq", { Vex, Ux, Ib }, PREFIX_DATA }, + { Bad_Opcode }, + { Bad_Opcode }, +- { "vpsllq", { Vex, XS, Ib }, PREFIX_DATA }, +- { "vpslldq", { Vex, XS, Ib }, PREFIX_DATA }, ++ { "vpsllq", { Vex, Ux, Ib }, PREFIX_DATA }, ++ { "vpslldq", { Vex, Ux, Ib }, PREFIX_DATA }, + }, + /* REG_VEX_0FAE */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0FAE_REG_2) }, +- { MOD_TABLE (MOD_VEX_0FAE_REG_3) }, ++ { VEX_LEN_TABLE (VEX_LEN_0FAE_R_2) }, ++ { VEX_LEN_TABLE (VEX_LEN_0FAE_R_3) }, + }, + /* REG_VEX_0F3849_X86_64_L_0_W_0_M_1_P_0 */ + { + { RM_TABLE (RM_VEX_0F3849_X86_64_L_0_W_0_M_1_P_0_R_0) }, + }, +- /* REG_VEX_0F38F3_L_0 */ ++ /* REG_VEX_0F38F3_L_0_P_0 */ + { + { Bad_Opcode }, +- { "blsrS", { VexGdq, Edq }, PREFIX_OPCODE }, +- { "blsmskS", { VexGdq, Edq }, PREFIX_OPCODE }, +- { "blsiS", { VexGdq, Edq }, PREFIX_OPCODE }, ++ { "blsrS", { VexGdq, Edq }, 0 }, ++ { "blsmskS", { VexGdq, Edq }, 0 }, ++ { "blsiS", { VexGdq, Edq }, 0 }, ++ }, ++ /* REG_VEX_MAP7_F8_L_0_W_0 */ ++ { ++ { X86_64_TABLE (X86_64_VEX_MAP7_F8_L_0_W_0_R_0) }, + }, + /* REG_XOP_09_01_L_0 */ + { +@@ -2969,10 +2974,10 @@ static const struct dis386 reg_table[][8 + { Bad_Opcode }, + { "blci", { VexGdq, Edq }, 0 }, + }, +- /* REG_XOP_09_12_M_1_L_0 */ ++ /* REG_XOP_09_12_L_0 */ + { +- { "llwpcb", { Edq }, 0 }, +- { "slwpcb", { Edq }, 0 }, ++ { "llwpcb", { Rdq }, 0 }, ++ { "slwpcb", { Rdq }, 0 }, + }, + /* REG_XOP_0A_12_L_0 */ + { +@@ -2997,7 +3002,7 @@ static const struct dis386 prefix_table[ + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { "lkgs", { Ew }, 0 }, ++ { "lkgsD", { Sv }, 0 }, + }, + + /* PREFIX_0F01_REG_0_MOD_3_RM_6 */ +@@ -3008,6 +3013,11 @@ static const struct dis386 prefix_table[ + { X86_64_TABLE (X86_64_0F01_REG_0_MOD_3_RM_6_P_3) }, + }, + ++ /* PREFIX_0F01_REG_0_MOD_3_RM_7 */ ++ { ++ { X86_64_TABLE (X86_64_0F01_REG_0_MOD_3_RM_7_P_0) }, ++ }, ++ + /* PREFIX_0F01_REG_1_RM_2 */ + { + { "clac", { Skip_MODRM }, 0 }, +@@ -3144,33 +3154,33 @@ static const struct dis386 prefix_table[ + + /* PREFIX_0F10 */ + { +- { "movups", { XM, EXx }, PREFIX_OPCODE }, +- { "movss", { XM, EXd }, PREFIX_OPCODE }, +- { "movupd", { XM, EXx }, PREFIX_OPCODE }, +- { "movsd", { XM, EXq }, PREFIX_OPCODE }, ++ { "%XEVmovupX", { XM, EXEvexXNoBcst }, 0 }, ++ { "%XEVmovs%XS", { XMScalar, VexScalarR, EXd }, 0 }, ++ { "%XEVmovupX", { XM, EXEvexXNoBcst }, 0 }, ++ { "%XEVmovs%XD", { XMScalar, VexScalarR, EXq }, 0 }, + }, + + /* PREFIX_0F11 */ + { +- { "movups", { EXxS, XM }, PREFIX_OPCODE }, +- { "movss", { EXdS, XM }, PREFIX_OPCODE }, +- { "movupd", { EXxS, XM }, PREFIX_OPCODE }, +- { "movsd", { EXqS, XM }, PREFIX_OPCODE }, ++ { "%XEVmovupX", { EXxS, XM }, 0 }, ++ { "%XEVmovs%XS", { EXdS, VexScalarR, XMScalar }, 0 }, ++ { "%XEVmovupX", { EXxS, XM }, 0 }, ++ { "%XEVmovs%XD", { EXqS, VexScalarR, XMScalar }, 0 }, + }, + + /* PREFIX_0F12 */ + { + { MOD_TABLE (MOD_0F12_PREFIX_0) }, +- { "movsldup", { XM, EXx }, PREFIX_OPCODE }, +- { MOD_TABLE (MOD_0F12_PREFIX_2) }, +- { "movddup", { XM, EXq }, PREFIX_OPCODE }, ++ { "movsldup", { XM, EXx }, 0 }, ++ { "%XEVmovlpYX", { XM, Vex, Mq }, 0 }, ++ { "movddup", { XM, EXq }, 0 }, + }, + + /* PREFIX_0F16 */ + { + { MOD_TABLE (MOD_0F16_PREFIX_0) }, +- { "movshdup", { XM, EXx }, PREFIX_OPCODE }, +- { MOD_TABLE (MOD_0F16_PREFIX_2) }, ++ { "movshdup", { XM, EXx }, 0 }, ++ { "%XEVmovhpYX", { XM, Vex, Mq }, 0 }, + }, + + /* PREFIX_0F18_REG_6_MOD_0_X86_64 */ +@@ -3231,10 +3241,10 @@ static const struct dis386 prefix_table[ + + /* PREFIX_0F2B */ + { +- { MOD_TABLE (MOD_0F2B_PREFIX_0) }, +- { MOD_TABLE (MOD_0F2B_PREFIX_1) }, +- { MOD_TABLE (MOD_0F2B_PREFIX_2) }, +- { MOD_TABLE (MOD_0F2B_PREFIX_3) }, ++ { "movntps", { Mx, XM }, 0 }, ++ { "movntss", { Md, XM }, 0 }, ++ { "movntpd", { Mx, XM }, 0 }, ++ { "movntsd", { Mq, XM }, 0 }, + }, + + /* PREFIX_0F2C */ +@@ -3255,99 +3265,99 @@ static const struct dis386 prefix_table[ + + /* PREFIX_0F2E */ + { +- { "ucomiss",{ XM, EXd }, 0 }, ++ { "%XEVucomisYX", { XMScalar, EXd, EXxEVexS }, 0 }, + { Bad_Opcode }, +- { "ucomisd",{ XM, EXq }, 0 }, ++ { "%XEVucomisYX", { XMScalar, EXq, EXxEVexS }, 0 }, + }, + + /* PREFIX_0F2F */ + { +- { "comiss", { XM, EXd }, 0 }, ++ { "%XEVcomisYX", { XMScalar, EXd, EXxEVexS }, 0 }, + { Bad_Opcode }, +- { "comisd", { XM, EXq }, 0 }, ++ { "%XEVcomisYX", { XMScalar, EXq, EXxEVexS }, 0 }, + }, + + /* PREFIX_0F51 */ + { +- { "sqrtps", { XM, EXx }, PREFIX_OPCODE }, +- { "sqrtss", { XM, EXd }, PREFIX_OPCODE }, +- { "sqrtpd", { XM, EXx }, PREFIX_OPCODE }, +- { "sqrtsd", { XM, EXq }, PREFIX_OPCODE }, ++ { "%XEVsqrtpX", { XM, EXx, EXxEVexR }, 0 }, ++ { "%XEVsqrts%XS", { XMScalar, VexScalar, EXd, EXxEVexR }, 0 }, ++ { "%XEVsqrtpX", { XM, EXx, EXxEVexR }, 0 }, ++ { "%XEVsqrts%XD", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, + }, + + /* PREFIX_0F52 */ + { +- { "rsqrtps",{ XM, EXx }, PREFIX_OPCODE }, +- { "rsqrtss",{ XM, EXd }, PREFIX_OPCODE }, ++ { "Vrsqrtps", { XM, EXx }, 0 }, ++ { "Vrsqrtss", { XMScalar, VexScalar, EXd }, 0 }, + }, + + /* PREFIX_0F53 */ + { +- { "rcpps", { XM, EXx }, PREFIX_OPCODE }, +- { "rcpss", { XM, EXd }, PREFIX_OPCODE }, ++ { "Vrcpps", { XM, EXx }, 0 }, ++ { "Vrcpss", { XMScalar, VexScalar, EXd }, 0 }, + }, + + /* PREFIX_0F58 */ + { +- { "addps", { XM, EXx }, PREFIX_OPCODE }, +- { "addss", { XM, EXd }, PREFIX_OPCODE }, +- { "addpd", { XM, EXx }, PREFIX_OPCODE }, +- { "addsd", { XM, EXq }, PREFIX_OPCODE }, ++ { "%XEVaddpX", { XM, Vex, EXx, EXxEVexR }, 0 }, ++ { "%XEVadds%XS", { XMScalar, VexScalar, EXd, EXxEVexR }, 0 }, ++ { "%XEVaddpX", { XM, Vex, EXx, EXxEVexR }, 0 }, ++ { "%XEVadds%XD", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, + }, + + /* PREFIX_0F59 */ + { +- { "mulps", { XM, EXx }, PREFIX_OPCODE }, +- { "mulss", { XM, EXd }, PREFIX_OPCODE }, +- { "mulpd", { XM, EXx }, PREFIX_OPCODE }, +- { "mulsd", { XM, EXq }, PREFIX_OPCODE }, ++ { "%XEVmulpX", { XM, Vex, EXx, EXxEVexR }, 0 }, ++ { "%XEVmuls%XS", { XMScalar, VexScalar, EXd, EXxEVexR }, 0 }, ++ { "%XEVmulpX", { XM, Vex, EXx, EXxEVexR }, 0 }, ++ { "%XEVmuls%XD", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, + }, + + /* PREFIX_0F5A */ + { +- { "cvtps2pd", { XM, EXq }, PREFIX_OPCODE }, +- { "cvtss2sd", { XM, EXd }, PREFIX_OPCODE }, +- { "cvtpd2ps", { XM, EXx }, PREFIX_OPCODE }, +- { "cvtsd2ss", { XM, EXq }, PREFIX_OPCODE }, ++ { "%XEVcvtp%XS2pd", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, ++ { "%XEVcvts%XS2sd", { XMScalar, VexScalar, EXd, EXxEVexS }, 0 }, ++ { "%XEVcvtp%XD2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, ++ { "%XEVcvts%XD2ss", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, + }, + + /* PREFIX_0F5B */ + { +- { "cvtdq2ps", { XM, EXx }, PREFIX_OPCODE }, +- { "cvttps2dq", { XM, EXx }, PREFIX_OPCODE }, +- { "cvtps2dq", { XM, EXx }, PREFIX_OPCODE }, ++ { "Vcvtdq2ps", { XM, EXx }, 0 }, ++ { "Vcvttps2dq", { XM, EXx }, 0 }, ++ { "Vcvtps2dq", { XM, EXx }, 0 }, + }, + + /* PREFIX_0F5C */ + { +- { "subps", { XM, EXx }, PREFIX_OPCODE }, +- { "subss", { XM, EXd }, PREFIX_OPCODE }, +- { "subpd", { XM, EXx }, PREFIX_OPCODE }, +- { "subsd", { XM, EXq }, PREFIX_OPCODE }, ++ { "%XEVsubpX", { XM, Vex, EXx, EXxEVexR }, 0 }, ++ { "%XEVsubs%XS", { XMScalar, VexScalar, EXd, EXxEVexR }, 0 }, ++ { "%XEVsubpX", { XM, Vex, EXx, EXxEVexR }, 0 }, ++ { "%XEVsubs%XD", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, + }, + + /* PREFIX_0F5D */ + { +- { "minps", { XM, EXx }, PREFIX_OPCODE }, +- { "minss", { XM, EXd }, PREFIX_OPCODE }, +- { "minpd", { XM, EXx }, PREFIX_OPCODE }, +- { "minsd", { XM, EXq }, PREFIX_OPCODE }, ++ { "%XEVminpX", { XM, Vex, EXx, EXxEVexS }, 0 }, ++ { "%XEVmins%XS", { XMScalar, VexScalar, EXd, EXxEVexS }, 0 }, ++ { "%XEVminpX", { XM, Vex, EXx, EXxEVexS }, 0 }, ++ { "%XEVmins%XD", { XMScalar, VexScalar, EXq, EXxEVexS }, 0 }, + }, + + /* PREFIX_0F5E */ + { +- { "divps", { XM, EXx }, PREFIX_OPCODE }, +- { "divss", { XM, EXd }, PREFIX_OPCODE }, +- { "divpd", { XM, EXx }, PREFIX_OPCODE }, +- { "divsd", { XM, EXq }, PREFIX_OPCODE }, ++ { "%XEVdivpX", { XM, Vex, EXx, EXxEVexR }, 0 }, ++ { "%XEVdivs%XS", { XMScalar, VexScalar, EXd, EXxEVexR }, 0 }, ++ { "%XEVdivpX", { XM, Vex, EXx, EXxEVexR }, 0 }, ++ { "%XEVdivs%XD", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, + }, + + /* PREFIX_0F5F */ + { +- { "maxps", { XM, EXx }, PREFIX_OPCODE }, +- { "maxss", { XM, EXd }, PREFIX_OPCODE }, +- { "maxpd", { XM, EXx }, PREFIX_OPCODE }, +- { "maxsd", { XM, EXq }, PREFIX_OPCODE }, ++ { "%XEVmaxpX", { XM, Vex, EXx, EXxEVexS }, 0 }, ++ { "%XEVmaxs%XS", { XMScalar, VexScalar, EXd, EXxEVexS }, 0 }, ++ { "%XEVmaxpX", { XM, Vex, EXx, EXxEVexS }, 0 }, ++ { "%XEVmaxs%XD", { XMScalar, VexScalar, EXq, EXxEVexS }, 0 }, + }, + + /* PREFIX_0F60 */ +@@ -3390,32 +3400,32 @@ static const struct dis386 prefix_table[ + { + {"vmread", { Em, Gm }, 0 }, + { Bad_Opcode }, +- {"extrq", { XS, Ib, Ib }, 0 }, +- {"insertq", { XM, XS, Ib, Ib }, 0 }, ++ {"extrq", { Uxmm, Ib, Ib }, 0 }, ++ {"insertq", { XM, Uxmm, Ib, Ib }, 0 }, + }, + + /* PREFIX_0F79 */ + { + {"vmwrite", { Gm, Em }, 0 }, + { Bad_Opcode }, +- {"extrq", { XM, XS }, 0 }, +- {"insertq", { XM, XS }, 0 }, ++ {"extrq", { XM, Uxmm }, 0 }, ++ {"insertq", { XM, Uxmm }, 0 }, + }, + + /* PREFIX_0F7C */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { "haddpd", { XM, EXx }, PREFIX_OPCODE }, +- { "haddps", { XM, EXx }, PREFIX_OPCODE }, ++ { "Vhaddpd", { XM, Vex, EXx }, 0 }, ++ { "Vhaddps", { XM, Vex, EXx }, 0 }, + }, + + /* PREFIX_0F7D */ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { "hsubpd", { XM, EXx }, PREFIX_OPCODE }, +- { "hsubps", { XM, EXx }, PREFIX_OPCODE }, ++ { "Vhsubpd", { XM, Vex, EXx }, 0 }, ++ { "Vhsubps", { XM, Vex, EXx }, 0 }, + }, + + /* PREFIX_0F7E */ +@@ -3458,7 +3468,7 @@ static const struct dis386 prefix_table[ + + /* PREFIX_0FAE_REG_4_MOD_0 */ + { +- { "xsave", { FXSAVE }, 0 }, ++ { "xsave", { FXSAVE }, PREFIX_REX2_ILLEGAL }, + { "ptwrite{%LQ|}", { Edq }, 0 }, + }, + +@@ -3476,7 +3486,7 @@ static const struct dis386 prefix_table[ + + /* PREFIX_0FAE_REG_6_MOD_0 */ + { +- { "xsaveopt", { FXSAVE }, PREFIX_OPCODE }, ++ { "xsaveopt", { FXSAVE }, PREFIX_OPCODE | PREFIX_REX2_ILLEGAL }, + { "clrssbsy", { Mq }, PREFIX_OPCODE }, + { "clwb", { Mb }, PREFIX_OPCODE }, + }, +@@ -3518,10 +3528,10 @@ static const struct dis386 prefix_table[ + + /* PREFIX_0FC2 */ + { +- { "cmpps", { XM, EXx, CMP }, PREFIX_OPCODE }, +- { "cmpss", { XM, EXd, CMP }, PREFIX_OPCODE }, +- { "cmppd", { XM, EXx, CMP }, PREFIX_OPCODE }, +- { "cmpsd", { XM, EXq, CMP }, PREFIX_OPCODE }, ++ { "VcmppX", { XM, Vex, EXx, CMP }, 0 }, ++ { "Vcmpss", { XMScalar, VexScalar, EXd, CMP }, 0 }, ++ { "VcmppX", { XM, Vex, EXx, CMP }, 0 }, ++ { "Vcmpsd", { XMScalar, VexScalar, EXq, CMP }, 0 }, + }, + + /* PREFIX_0FC7_REG_6_MOD_0 */ +@@ -3549,31 +3559,31 @@ static const struct dis386 prefix_table[ + { + { Bad_Opcode }, + { Bad_Opcode }, +- { "addsubpd", { XM, EXx }, 0 }, +- { "addsubps", { XM, EXx }, 0 }, ++ { "VaddsubpX", { XM, Vex, EXx }, 0 }, ++ { "VaddsubpX", { XM, Vex, EXx }, 0 }, + }, + + /* PREFIX_0FD6 */ + { + { Bad_Opcode }, +- { "movq2dq",{ XM, MS }, 0 }, ++ { "movq2dq",{ XM, Nq }, 0 }, + { "movq", { EXqS, XM }, 0 }, +- { "movdq2q",{ MX, XS }, 0 }, ++ { "movdq2q",{ MX, Ux }, 0 }, + }, + + /* PREFIX_0FE6 */ + { + { Bad_Opcode }, +- { "cvtdq2pd", { XM, EXq }, PREFIX_OPCODE }, +- { "cvttpd2dq", { XM, EXx }, PREFIX_OPCODE }, +- { "cvtpd2dq", { XM, EXx }, PREFIX_OPCODE }, ++ { "Vcvtdq2pd", { XM, EXxmmq }, 0 }, ++ { "Vcvttpd2dq%XY", { XMM, EXx }, 0 }, ++ { "Vcvtpd2dq%XY", { XMM, EXx }, 0 }, + }, + + /* PREFIX_0FE7 */ + { +- { "movntq", { Mq, MX }, PREFIX_OPCODE }, ++ { "movntq", { Mq, MX }, 0 }, + { Bad_Opcode }, +- { MOD_TABLE (MOD_0FE7_PREFIX_2) }, ++ { "movntdq", { Mx, XM }, 0 }, + }, + + /* PREFIX_0FF0 */ +@@ -3581,14 +3591,14 @@ static const struct dis386 prefix_table[ + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { MOD_TABLE (MOD_0FF0_PREFIX_3) }, ++ { "Vlddqu", { XM, M }, 0 }, + }, + + /* PREFIX_0FF7 */ + { +- { "maskmovq", { MX, MS }, PREFIX_OPCODE }, ++ { "maskmovq", { MX, Nq }, PREFIX_OPCODE }, + { Bad_Opcode }, +- { "maskmovdqu", { XM, XS }, PREFIX_OPCODE }, ++ { "maskmovdqu", { XM, Ux }, PREFIX_OPCODE }, + }, + + /* PREFIX_0F38D8 */ +@@ -3607,21 +3617,21 @@ static const struct dis386 prefix_table[ + /* PREFIX_0F38DD */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_0F38DD_PREFIX_1) }, ++ { "aesdec128kl", { XM, M }, 0 }, + { "aesenclast", { XM, EXx }, 0 }, + }, + + /* PREFIX_0F38DE */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_0F38DE_PREFIX_1) }, ++ { "aesenc256kl", { XM, M }, 0 }, + { "aesdec", { XM, EXx }, 0 }, + }, + + /* PREFIX_0F38DF */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_0F38DF_PREFIX_1) }, ++ { "aesdec256kl", { XM, M }, 0 }, + { "aesdeclast", { XM, EXx }, 0 }, + }, + +@@ -3643,29 +3653,38 @@ static const struct dis386 prefix_table[ + + /* PREFIX_0F38F6 */ + { +- { MOD_TABLE (MOD_0F38F6_PREFIX_0) }, +- { "adoxS", { Gdq, Edq}, PREFIX_OPCODE }, +- { "adcxS", { Gdq, Edq}, PREFIX_OPCODE }, ++ { "wrssK", { M, Gdq }, 0 }, ++ { "adoxL", { VexGdq, Gdq, Edq }, 0 }, ++ { "adcxL", { VexGdq, Gdq, Edq }, 0 }, + { Bad_Opcode }, + }, + +- /* PREFIX_0F38F8 */ ++ /* PREFIX_0F38F8_M_0 */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_0F38F8_PREFIX_1) }, +- { MOD_TABLE (MOD_0F38F8_PREFIX_2) }, +- { MOD_TABLE (MOD_0F38F8_PREFIX_3) }, ++ { "enqcmds", { Gva, M }, 0 }, ++ { "movdir64b", { Gva, M }, 0 }, ++ { "enqcmd", { Gva, M }, 0 }, + }, ++ ++ /* PREFIX_0F38F8_M_1_X86_64 */ ++ { ++ { Bad_Opcode }, ++ { "uwrmsr", { Gq, Rq }, 0 }, ++ { Bad_Opcode }, ++ { "urdmsr", { Rq, Gq }, 0 }, ++ }, ++ + /* PREFIX_0F38FA */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_0F38FA_PREFIX_1) }, ++ { "encodekey128", { Gd, Rd }, 0 }, + }, + + /* PREFIX_0F38FB */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_0F38FB_PREFIX_1) }, ++ { "encodekey256", { Gd, Rd }, 0 }, + }, + + /* PREFIX_0F38FC */ +@@ -3679,46 +3698,30 @@ static const struct dis386 prefix_table[ + /* PREFIX_0F3A0F */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_0F3A0F_PREFIX_1)}, +- }, +- +- /* PREFIX_VEX_0F10 */ +- { +- { "%XEvmovupX", { XM, EXEvexXNoBcst }, 0 }, +- { "%XEvmovs%XS", { XMScalar, VexScalarR, EXd }, 0 }, +- { "%XEvmovupX", { XM, EXEvexXNoBcst }, 0 }, +- { "%XEvmovs%XD", { XMScalar, VexScalarR, EXq }, 0 }, +- }, +- +- /* PREFIX_VEX_0F11 */ +- { +- { "%XEvmovupX", { EXxS, XM }, 0 }, +- { "%XEvmovs%XS", { EXdS, VexScalarR, XMScalar }, 0 }, +- { "%XEvmovupX", { EXxS, XM }, 0 }, +- { "%XEvmovs%XD", { EXqS, VexScalarR, XMScalar }, 0 }, ++ { REG_TABLE (REG_0F3A0F_P_1) }, + }, + + /* PREFIX_VEX_0F12 */ + { +- { MOD_TABLE (MOD_VEX_0F12_PREFIX_0) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F12_P_0) }, + { "%XEvmov%XSldup", { XM, EXEvexXNoBcst }, 0 }, +- { MOD_TABLE (MOD_VEX_0F12_PREFIX_2) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F12_P_2) }, + { "%XEvmov%XDdup", { XM, EXymmq }, 0 }, + }, + + /* PREFIX_VEX_0F16 */ + { +- { MOD_TABLE (MOD_VEX_0F16_PREFIX_0) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F16_P_0) }, + { "%XEvmov%XShdup", { XM, EXEvexXNoBcst }, 0 }, +- { MOD_TABLE (MOD_VEX_0F16_PREFIX_2) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F16_P_2) }, + }, + + /* PREFIX_VEX_0F2A */ + { + { Bad_Opcode }, +- { "%XEvcvtsi2ss{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, ++ { "%XEvcvtsi2ssY{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, + { Bad_Opcode }, +- { "%XEvcvtsi2sd{%LQ|}", { XMScalar, VexScalar, EXxEVexR64, Edq }, 0 }, ++ { "%XEvcvtsi2sdY{%LQ|}", { XMScalar, VexScalar, EXxEVexR64, Edq }, 0 }, + }, + + /* PREFIX_VEX_0F2C */ +@@ -3737,211 +3740,114 @@ static const struct dis386 prefix_table[ + { "%XEvcvtsd2si", { Gdq, EXq, EXxEVexR }, 0 }, + }, + +- /* PREFIX_VEX_0F2E */ +- { +- { "%XEvucomisX", { XMScalar, EXd, EXxEVexS }, 0 }, +- { Bad_Opcode }, +- { "%XEvucomisX", { XMScalar, EXq, EXxEVexS }, 0 }, +- }, +- +- /* PREFIX_VEX_0F2F */ +- { +- { "%XEvcomisX", { XMScalar, EXd, EXxEVexS }, 0 }, +- { Bad_Opcode }, +- { "%XEvcomisX", { XMScalar, EXq, EXxEVexS }, 0 }, +- }, +- +- /* PREFIX_VEX_0F41_L_1_M_1_W_0 */ ++ /* PREFIX_VEX_0F41_L_1_W_0 */ + { +- { "kandw", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kandw", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "kandb", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kandb", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F41_L_1_M_1_W_1 */ ++ /* PREFIX_VEX_0F41_L_1_W_1 */ + { +- { "kandq", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kandq", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "kandd", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kandd", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F42_L_1_M_1_W_0 */ ++ /* PREFIX_VEX_0F42_L_1_W_0 */ + { +- { "kandnw", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kandnw", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "kandnb", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kandnb", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F42_L_1_M_1_W_1 */ ++ /* PREFIX_VEX_0F42_L_1_W_1 */ + { +- { "kandnq", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kandnq", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "kandnd", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kandnd", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F44_L_0_M_1_W_0 */ ++ /* PREFIX_VEX_0F44_L_0_W_0 */ + { +- { "knotw", { MaskG, MaskE }, 0 }, ++ { "knotw", { MaskG, MaskR }, 0 }, + { Bad_Opcode }, +- { "knotb", { MaskG, MaskE }, 0 }, ++ { "knotb", { MaskG, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F44_L_0_M_1_W_1 */ ++ /* PREFIX_VEX_0F44_L_0_W_1 */ + { +- { "knotq", { MaskG, MaskE }, 0 }, ++ { "knotq", { MaskG, MaskR }, 0 }, + { Bad_Opcode }, +- { "knotd", { MaskG, MaskE }, 0 }, ++ { "knotd", { MaskG, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F45_L_1_M_1_W_0 */ ++ /* PREFIX_VEX_0F45_L_1_W_0 */ + { +- { "korw", { MaskG, MaskVex, MaskE }, 0 }, ++ { "korw", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "korb", { MaskG, MaskVex, MaskE }, 0 }, ++ { "korb", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F45_L_1_M_1_W_1 */ ++ /* PREFIX_VEX_0F45_L_1_W_1 */ + { +- { "korq", { MaskG, MaskVex, MaskE }, 0 }, ++ { "korq", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "kord", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kord", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F46_L_1_M_1_W_0 */ ++ /* PREFIX_VEX_0F46_L_1_W_0 */ + { +- { "kxnorw", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kxnorw", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "kxnorb", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kxnorb", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F46_L_1_M_1_W_1 */ ++ /* PREFIX_VEX_0F46_L_1_W_1 */ + { +- { "kxnorq", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kxnorq", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "kxnord", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kxnord", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F47_L_1_M_1_W_0 */ ++ /* PREFIX_VEX_0F47_L_1_W_0 */ + { +- { "kxorw", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kxorw", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "kxorb", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kxorb", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F47_L_1_M_1_W_1 */ ++ /* PREFIX_VEX_0F47_L_1_W_1 */ + { +- { "kxorq", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kxorq", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "kxord", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kxord", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F4A_L_1_M_1_W_0 */ ++ /* PREFIX_VEX_0F4A_L_1_W_0 */ + { +- { "kaddw", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kaddw", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "kaddb", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kaddb", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F4A_L_1_M_1_W_1 */ ++ /* PREFIX_VEX_0F4A_L_1_W_1 */ + { +- { "kaddq", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kaddq", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "kaddd", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kaddd", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F4B_L_1_M_1_W_0 */ ++ /* PREFIX_VEX_0F4B_L_1_W_0 */ + { +- { "kunpckwd", { MaskG, MaskVex, MaskE }, 0 }, ++ { "kunpckwd", { MaskG, MaskVex, MaskR }, 0 }, + { Bad_Opcode }, +- { "kunpckbw", { MaskG, MaskVex, MaskE }, 0 }, +- }, +- +- /* PREFIX_VEX_0F4B_L_1_M_1_W_1 */ +- { +- { "kunpckdq", { MaskG, MaskVex, MaskE }, 0 }, +- }, +- +- /* PREFIX_VEX_0F51 */ +- { +- { "%XEvsqrtpX", { XM, EXx, EXxEVexR }, 0 }, +- { "%XEvsqrts%XS", { XMScalar, VexScalar, EXd, EXxEVexR }, 0 }, +- { "%XEvsqrtpX", { XM, EXx, EXxEVexR }, 0 }, +- { "%XEvsqrts%XD", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, +- }, +- +- /* PREFIX_VEX_0F52 */ +- { +- { "vrsqrtps", { XM, EXx }, 0 }, +- { "vrsqrtss", { XMScalar, VexScalar, EXd }, 0 }, +- }, +- +- /* PREFIX_VEX_0F53 */ +- { +- { "vrcpps", { XM, EXx }, 0 }, +- { "vrcpss", { XMScalar, VexScalar, EXd }, 0 }, +- }, +- +- /* PREFIX_VEX_0F58 */ +- { +- { "%XEvaddpX", { XM, Vex, EXx, EXxEVexR }, 0 }, +- { "%XEvadds%XS", { XMScalar, VexScalar, EXd, EXxEVexR }, 0 }, +- { "%XEvaddpX", { XM, Vex, EXx, EXxEVexR }, 0 }, +- { "%XEvadds%XD", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, +- }, +- +- /* PREFIX_VEX_0F59 */ +- { +- { "%XEvmulpX", { XM, Vex, EXx, EXxEVexR }, 0 }, +- { "%XEvmuls%XS", { XMScalar, VexScalar, EXd, EXxEVexR }, 0 }, +- { "%XEvmulpX", { XM, Vex, EXx, EXxEVexR }, 0 }, +- { "%XEvmuls%XD", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, ++ { "kunpckbw", { MaskG, MaskVex, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F5A */ ++ /* PREFIX_VEX_0F4B_L_1_W_1 */ + { +- { "%XEvcvtp%XS2pd", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, +- { "%XEvcvts%XS2sd", { XMScalar, VexScalar, EXd, EXxEVexS }, 0 }, +- { "%XEvcvtp%XD2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, +- { "%XEvcvts%XD2ss", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, +- }, +- +- /* PREFIX_VEX_0F5B */ +- { +- { "vcvtdq2ps", { XM, EXx }, 0 }, +- { "vcvttps2dq", { XM, EXx }, 0 }, +- { "vcvtps2dq", { XM, EXx }, 0 }, +- }, +- +- /* PREFIX_VEX_0F5C */ +- { +- { "%XEvsubpX", { XM, Vex, EXx, EXxEVexR }, 0 }, +- { "%XEvsubs%XS", { XMScalar, VexScalar, EXd, EXxEVexR }, 0 }, +- { "%XEvsubpX", { XM, Vex, EXx, EXxEVexR }, 0 }, +- { "%XEvsubs%XD", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, +- }, +- +- /* PREFIX_VEX_0F5D */ +- { +- { "%XEvminpX", { XM, Vex, EXx, EXxEVexS }, 0 }, +- { "%XEvmins%XS", { XMScalar, VexScalar, EXd, EXxEVexS }, 0 }, +- { "%XEvminpX", { XM, Vex, EXx, EXxEVexS }, 0 }, +- { "%XEvmins%XD", { XMScalar, VexScalar, EXq, EXxEVexS }, 0 }, +- }, +- +- /* PREFIX_VEX_0F5E */ +- { +- { "%XEvdivpX", { XM, Vex, EXx, EXxEVexR }, 0 }, +- { "%XEvdivs%XS", { XMScalar, VexScalar, EXd, EXxEVexR }, 0 }, +- { "%XEvdivpX", { XM, Vex, EXx, EXxEVexR }, 0 }, +- { "%XEvdivs%XD", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, +- }, +- +- /* PREFIX_VEX_0F5F */ +- { +- { "%XEvmaxpX", { XM, Vex, EXx, EXxEVexS }, 0 }, +- { "%XEvmaxs%XS", { XMScalar, VexScalar, EXd, EXxEVexS }, 0 }, +- { "%XEvmaxpX", { XM, Vex, EXx, EXxEVexS }, 0 }, +- { "%XEvmaxs%XD", { XMScalar, VexScalar, EXq, EXxEVexS }, 0 }, ++ { "kunpckdq", { MaskG, MaskVex, MaskR }, 0 }, + }, + + /* PREFIX_VEX_0F6F */ +@@ -3959,22 +3865,6 @@ static const struct dis386 prefix_table[ + { "vpshuflw", { XM, EXx, Ib }, 0 }, + }, + +- /* PREFIX_VEX_0F7C */ +- { +- { Bad_Opcode }, +- { Bad_Opcode }, +- { "vhaddpd", { XM, Vex, EXx }, 0 }, +- { "vhaddps", { XM, Vex, EXx }, 0 }, +- }, +- +- /* PREFIX_VEX_0F7D */ +- { +- { Bad_Opcode }, +- { Bad_Opcode }, +- { "vhsubpd", { XM, Vex, EXx }, 0 }, +- { "vhsubps", { XM, Vex, EXx }, 0 }, +- }, +- + /* PREFIX_VEX_0F7E */ + { + { Bad_Opcode }, +@@ -4003,110 +3893,78 @@ static const struct dis386 prefix_table[ + { "kmovd", { MaskG, MaskBDE }, 0 }, + }, + +- /* PREFIX_VEX_0F91_L_0_M_0_W_0 */ ++ /* PREFIX_VEX_0F91_L_0_W_0 */ + { +- { "kmovw", { Ew, MaskG }, 0 }, ++ { "kmovw", { Mw, MaskG }, 0 }, + { Bad_Opcode }, +- { "kmovb", { Eb, MaskG }, 0 }, ++ { "kmovb", { Mb, MaskG }, 0 }, + }, + +- /* PREFIX_VEX_0F91_L_0_M_0_W_1 */ ++ /* PREFIX_VEX_0F91_L_0_W_1 */ + { +- { "kmovq", { Eq, MaskG }, 0 }, ++ { "kmovq", { Mq, MaskG }, 0 }, + { Bad_Opcode }, +- { "kmovd", { Ed, MaskG }, 0 }, ++ { "kmovd", { Md, MaskG }, 0 }, + }, + +- /* PREFIX_VEX_0F92_L_0_M_1_W_0 */ ++ /* PREFIX_VEX_0F92_L_0_W_0 */ + { +- { "kmovw", { MaskG, Edq }, 0 }, ++ { "kmovw", { MaskG, Rdq }, 0 }, + { Bad_Opcode }, +- { "kmovb", { MaskG, Edq }, 0 }, +- { "kmovd", { MaskG, Edq }, 0 }, ++ { "kmovb", { MaskG, Rdq }, 0 }, ++ { "kmovd", { MaskG, Rdq }, 0 }, + }, + +- /* PREFIX_VEX_0F92_L_0_M_1_W_1 */ ++ /* PREFIX_VEX_0F92_L_0_W_1 */ + { + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { "kmovK", { MaskG, Edq }, 0 }, ++ { "kmovK", { MaskG, Rdq }, 0 }, + }, + +- /* PREFIX_VEX_0F93_L_0_M_1_W_0 */ ++ /* PREFIX_VEX_0F93_L_0_W_0 */ + { +- { "kmovw", { Gdq, MaskE }, 0 }, ++ { "kmovw", { Gdq, MaskR }, 0 }, + { Bad_Opcode }, +- { "kmovb", { Gdq, MaskE }, 0 }, +- { "kmovd", { Gdq, MaskE }, 0 }, ++ { "kmovb", { Gdq, MaskR }, 0 }, ++ { "kmovd", { Gdq, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F93_L_0_M_1_W_1 */ ++ /* PREFIX_VEX_0F93_L_0_W_1 */ + { + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { "kmovK", { Gdq, MaskE }, 0 }, ++ { "kmovK", { Gdq, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F98_L_0_M_1_W_0 */ ++ /* PREFIX_VEX_0F98_L_0_W_0 */ + { +- { "kortestw", { MaskG, MaskE }, 0 }, ++ { "kortestw", { MaskG, MaskR }, 0 }, + { Bad_Opcode }, +- { "kortestb", { MaskG, MaskE }, 0 }, ++ { "kortestb", { MaskG, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F98_L_0_M_1_W_1 */ ++ /* PREFIX_VEX_0F98_L_0_W_1 */ + { +- { "kortestq", { MaskG, MaskE }, 0 }, ++ { "kortestq", { MaskG, MaskR }, 0 }, + { Bad_Opcode }, +- { "kortestd", { MaskG, MaskE }, 0 }, ++ { "kortestd", { MaskG, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0F99_L_0_M_1_W_0 */ ++ /* PREFIX_VEX_0F99_L_0_W_0 */ + { +- { "ktestw", { MaskG, MaskE }, 0 }, ++ { "ktestw", { MaskG, MaskR }, 0 }, + { Bad_Opcode }, +- { "ktestb", { MaskG, MaskE }, 0 }, +- }, +- +- /* PREFIX_VEX_0F99_L_0_M_1_W_1 */ +- { +- { "ktestq", { MaskG, MaskE }, 0 }, +- { Bad_Opcode }, +- { "ktestd", { MaskG, MaskE }, 0 }, +- }, +- +- /* PREFIX_VEX_0FC2 */ +- { +- { "vcmpps", { XM, Vex, EXx, CMP }, 0 }, +- { "vcmpss", { XMScalar, VexScalar, EXd, CMP }, 0 }, +- { "vcmppd", { XM, Vex, EXx, CMP }, 0 }, +- { "vcmpsd", { XMScalar, VexScalar, EXq, CMP }, 0 }, ++ { "ktestb", { MaskG, MaskR }, 0 }, + }, + +- /* PREFIX_VEX_0FD0 */ ++ /* PREFIX_VEX_0F99_L_0_W_1 */ + { ++ { "ktestq", { MaskG, MaskR }, 0 }, + { Bad_Opcode }, +- { Bad_Opcode }, +- { "vaddsubpd", { XM, Vex, EXx }, 0 }, +- { "vaddsubps", { XM, Vex, EXx }, 0 }, +- }, +- +- /* PREFIX_VEX_0FE6 */ +- { +- { Bad_Opcode }, +- { "vcvtdq2pd", { XM, EXxmmq }, 0 }, +- { "vcvttpd2dq%XY", { XMM, EXx }, 0 }, +- { "vcvtpd2dq%XY", { XMM, EXx }, 0 }, +- }, +- +- /* PREFIX_VEX_0FF0 */ +- { +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0FF0_PREFIX_3) }, ++ { "ktestd", { MaskG, MaskR }, 0 }, + }, + + /* PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_0 */ +@@ -4124,7 +3982,7 @@ static const struct dis386 prefix_table[ + { RM_TABLE (RM_VEX_0F3849_X86_64_L_0_W_0_M_1_P_3) }, + }, + +- /* PREFIX_VEX_0F384B_X86_64_L_0_W_0_M_0 */ ++ /* PREFIX_VEX_0F384B_X86_64_L_0_W_0 */ + { + { Bad_Opcode }, + { "tilestored", { MVexSIBMEM, TMM }, 0 }, +@@ -4147,27 +4005,27 @@ static const struct dis386 prefix_table[ + { "%XVvpdpbusds", { XM, Vex, EXx }, 0 }, + { "vpdpbssds", { XM, Vex, EXx }, 0 }, + }, +- /* PREFIX_VEX_0F385C_X86_64_M_1_L_0_W_0 */ ++ /* PREFIX_VEX_0F385C_X86_64_L_0_W_0 */ + { + { Bad_Opcode }, +- { "tdpbf16ps", { TMM, EXtmm, VexTmm }, 0 }, ++ { "tdpbf16ps", { TMM, Rtmm, VexTmm }, 0 }, + { Bad_Opcode }, +- { "tdpfp16ps", { TMM, EXtmm, VexTmm }, 0 }, ++ { "tdpfp16ps", { TMM, Rtmm, VexTmm }, 0 }, + }, + +- /* PREFIX_VEX_0F385E_X86_64_M_1_L_0_W_0 */ ++ /* PREFIX_VEX_0F385E_X86_64_L_0_W_0 */ + { +- { "tdpbuud", {TMM, EXtmm, VexTmm }, 0 }, +- { "tdpbsud", {TMM, EXtmm, VexTmm }, 0 }, +- { "tdpbusd", {TMM, EXtmm, VexTmm }, 0 }, +- { "tdpbssd", {TMM, EXtmm, VexTmm }, 0 }, ++ { "tdpbuud", {TMM, Rtmm, VexTmm }, 0 }, ++ { "tdpbsud", {TMM, Rtmm, VexTmm }, 0 }, ++ { "tdpbusd", {TMM, Rtmm, VexTmm }, 0 }, ++ { "tdpbssd", {TMM, Rtmm, VexTmm }, 0 }, + }, + +- /* PREFIX_VEX_0F386C_X86_64_M_1_L_0_W_0 */ ++ /* PREFIX_VEX_0F386C_X86_64_L_0_W_0 */ + { +- { "tcmmrlfp16ps", { TMM, EXtmm, VexTmm }, 0 }, ++ { "tcmmrlfp16ps", { TMM, Rtmm, VexTmm }, 0 }, + { Bad_Opcode }, +- { "tcmmimfp16ps", { TMM, EXtmm, VexTmm }, 0 }, ++ { "tcmmimfp16ps", { TMM, Rtmm, VexTmm }, 0 }, + }, + + /* PREFIX_VEX_0F3872 */ +@@ -4191,6 +4049,62 @@ static const struct dis386 prefix_table[ + { "vbcstnesh2ps", { XM, Mw }, 0 }, + }, + ++ /* PREFIX_VEX_0F38D2_W_0 */ ++ { ++ { "vpdpwuud", { XM, Vex, EXx }, 0 }, ++ { "vpdpwsud", { XM, Vex, EXx }, 0 }, ++ { "vpdpwusd", { XM, Vex, EXx }, 0 }, ++ }, ++ ++ /* PREFIX_VEX_0F38D3_W_0 */ ++ { ++ { "vpdpwuuds", { XM, Vex, EXx }, 0 }, ++ { "vpdpwsuds", { XM, Vex, EXx }, 0 }, ++ { "vpdpwusds", { XM, Vex, EXx }, 0 }, ++ }, ++ ++ /* PREFIX_VEX_0F38CB */ ++ { ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { VEX_W_TABLE (VEX_W_0F38CB_P_3) }, ++ }, ++ ++ /* PREFIX_VEX_0F38CC */ ++ { ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { VEX_W_TABLE (VEX_W_0F38CC_P_3) }, ++ }, ++ ++ /* PREFIX_VEX_0F38CD */ ++ { ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { Bad_Opcode }, ++ { VEX_W_TABLE (VEX_W_0F38CD_P_3) }, ++ }, ++ ++ /* PREFIX_VEX_0F38DA_W_0 */ ++ { ++ { VEX_LEN_TABLE (VEX_LEN_0F38DA_W_0_P_0) }, ++ { "vsm4key4", { XM, Vex, EXx }, 0 }, ++ { VEX_LEN_TABLE (VEX_LEN_0F38DA_W_0_P_2) }, ++ { "vsm4rnds4", { XM, Vex, EXx }, 0 }, ++ }, ++ ++ /* PREFIX_VEX_0F38F2_L_0 */ ++ { ++ { "andnS", { Gdq, VexGdq, Edq }, 0 }, ++ }, ++ ++ /* PREFIX_VEX_0F38F3_L_0 */ ++ { ++ { REG_TABLE (REG_VEX_0F38F3_L_0_P_0) }, ++ }, ++ + /* PREFIX_VEX_0F38F5_L_0 */ + { + { "bzhiS", { Gdq, Edq, VexGdq }, 0 }, +@@ -4223,6 +4137,14 @@ static const struct dis386 prefix_table[ + { "rorxS", { Gdq, Edq, Ib }, 0 }, + }, + ++ /* PREFIX_VEX_MAP7_F8_L_0_W_0_R_0_X86_64 */ ++ { ++ { Bad_Opcode }, ++ { "uwrmsr", { Skip_MODRM, Id, Rq }, 0 }, ++ { Bad_Opcode }, ++ { "urdmsr", { Rq, Id }, 0 }, ++ }, ++ + #include "i386-dis-evex-prefix.h" + }; + +@@ -4295,12 +4217,12 @@ static const struct dis386 x86_64_table[ + /* X86_64_62 */ + { + { MOD_TABLE (MOD_62_32BIT) }, +- { EVEX_TABLE (EVEX_0F) }, ++ { EVEX_TABLE () }, + }, + + /* X86_64_63 */ + { +- { "arpl", { Ew, Gw }, 0 }, ++ { "arplS", { Sv, Gv }, 0 }, + { "movs", { Gv, { MOVSXD_Fixup, movsxd_mode } }, 0 }, + }, + +@@ -4342,13 +4264,13 @@ static const struct dis386 x86_64_table[ + /* X86_64_C4 */ + { + { MOD_TABLE (MOD_C4_32BIT) }, +- { VEX_C4_TABLE (VEX_0F) }, ++ { VEX_C4_TABLE () }, + }, + + /* X86_64_C5 */ + { + { MOD_TABLE (MOD_C5_32BIT) }, +- { VEX_C5_TABLE (VEX_0F) }, ++ { VEX_C5_TABLE () }, + }, + + /* X86_64_CE */ +@@ -4369,13 +4291,13 @@ static const struct dis386 x86_64_table[ + /* X86_64_E8 */ + { + { "callP", { Jv, BND }, 0 }, +- { "call@", { Jv, BND }, 0 } ++ { "call@", { Jv, BND }, PREFIX_REX2_ILLEGAL } + }, + + /* X86_64_E9 */ + { + { "jmpP", { Jv, BND }, 0 }, +- { "jmp@", { Jv, BND }, 0 } ++ { "jmp@", { Jv, BND }, PREFIX_REX2_ILLEGAL } + }, + + /* X86_64_EA */ +@@ -4407,6 +4329,12 @@ static const struct dis386 x86_64_table[ + { "rdmsrlist", { Skip_MODRM }, 0 }, + }, + ++ /* X86_64_0F01_REG_0_MOD_3_RM_7_P_0 */ ++ { ++ { Bad_Opcode }, ++ { "pbndkb", { Skip_MODRM }, 0 }, ++ }, ++ + /* X86_64_0F01_REG_1 */ + { + { "sidt{Q|Q}", { M }, 0 }, +@@ -4525,6 +4453,12 @@ static const struct dis386 x86_64_table[ + { "movZ", { Td, Em }, 0 }, + }, + ++ { ++ /* X86_64_0F38F8_M_1 */ ++ { Bad_Opcode }, ++ { PREFIX_TABLE (PREFIX_0F38F8_M_1_X86_64) }, ++ }, ++ + /* X86_64_0FC7_REG_6_MOD_3_PREFIX_1 */ + { + { Bad_Opcode }, +@@ -4546,19 +4480,19 @@ static const struct dis386 x86_64_table[ + /* X86_64_VEX_0F385C */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0F385C_X86_64) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F385C_X86_64) }, + }, + + /* X86_64_VEX_0F385E */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0F385E_X86_64) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F385E_X86_64) }, + }, + + /* X86_64_VEX_0F386C */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0F386C_X86_64) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F386C_X86_64) }, + }, + + /* X86_64_VEX_0F38E0 */ +@@ -4656,6 +4590,14 @@ static const struct dis386 x86_64_table[ + { Bad_Opcode }, + { "cmpnlexadd", { Mdq, Gdq, VexGdq }, PREFIX_DATA }, + }, ++ ++ /* X86_64_VEX_MAP7_F8_L_0_W_0_R_0 */ ++ { ++ { Bad_Opcode }, ++ { PREFIX_TABLE (PREFIX_VEX_MAP7_F8_L_0_W_0_R_0_X86_64) }, ++ }, ++ ++#include "i386-dis-evex-x86-64.h" + }; + + static const struct dis386 three_byte_table[][256] = { +@@ -4710,7 +4652,7 @@ static const struct dis386 three_byte_ta + /* 28 */ + { "pmuldq", { XM, EXx }, PREFIX_DATA }, + { "pcmpeqq", { XM, EXx }, PREFIX_DATA }, +- { MOD_TABLE (MOD_0F382A) }, ++ { "movntdqa", { XM, Mx }, PREFIX_DATA }, + { "packusdw", { XM, EXx }, PREFIX_DATA }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -4938,12 +4880,12 @@ static const struct dis386 three_byte_ta + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { MOD_TABLE (MOD_0F38F5) }, ++ { "wrussK", { M, Gdq }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_0F38F6) }, + { Bad_Opcode }, + /* f8 */ +- { PREFIX_TABLE (PREFIX_0F38F8) }, +- { MOD_TABLE (MOD_0F38F9) }, ++ { MOD_TABLE (MOD_0F38F8) }, ++ { "movdiri", { Mdq, Gdq }, PREFIX_OPCODE }, + { PREFIX_TABLE (PREFIX_0F38FA) }, + { PREFIX_TABLE (PREFIX_0F38FB) }, + { PREFIX_TABLE (PREFIX_0F38FC) }, +@@ -5397,9 +5339,9 @@ static const struct dis386 xop_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_85) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_86) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_87) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_85) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_86) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_87) }, + /* 88 */ + { Bad_Opcode }, + { Bad_Opcode }, +@@ -5407,17 +5349,17 @@ static const struct dis386 xop_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_8E) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_8F) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_8E) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_8F) }, + /* 90 */ + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_95) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_96) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_97) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_95) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_96) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_97) }, + /* 98 */ + { Bad_Opcode }, + { Bad_Opcode }, +@@ -5425,16 +5367,16 @@ static const struct dis386 xop_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_9E) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_9F) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_9E) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_9F) }, + /* a0 */ + { Bad_Opcode }, + { Bad_Opcode }, + { "vpcmov", { XM, Vex, EXx, XMVexI4 }, 0 }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_A3) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_A3) }, + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_A6) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_A6) }, + { Bad_Opcode }, + /* a8 */ + { Bad_Opcode }, +@@ -5452,7 +5394,7 @@ static const struct dis386 xop_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_B6) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_B6) }, + { Bad_Opcode }, + /* b8 */ + { Bad_Opcode }, +@@ -5464,10 +5406,10 @@ static const struct dis386 xop_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + /* c0 */ +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_C0) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_C1) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_C2) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_C3) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_C0) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_C1) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_C2) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_C3) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -5477,10 +5419,10 @@ static const struct dis386 xop_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_CC) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_CD) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_CE) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_CF) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_CC) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_CD) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_CE) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_CF) }, + /* d0 */ + { Bad_Opcode }, + { Bad_Opcode }, +@@ -5513,10 +5455,10 @@ static const struct dis386 xop_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_EC) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_ED) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_EE) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_08_EF) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_EC) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_ED) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_EE) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_08_EF) }, + /* f0 */ + { Bad_Opcode }, + { Bad_Opcode }, +@@ -5540,8 +5482,8 @@ static const struct dis386 xop_table[][2 + { + /* 00 */ + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_01) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_02) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_01) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_02) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -5559,7 +5501,7 @@ static const struct dis386 xop_table[][2 + /* 10 */ + { Bad_Opcode }, + { Bad_Opcode }, +- { MOD_TABLE (MOD_XOP_09_12) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_12) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -5683,10 +5625,10 @@ static const struct dis386 xop_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + /* 80 */ +- { VEX_W_TABLE (VEX_W_0FXOP_09_80) }, +- { VEX_W_TABLE (VEX_W_0FXOP_09_81) }, +- { VEX_W_TABLE (VEX_W_0FXOP_09_82) }, +- { VEX_W_TABLE (VEX_W_0FXOP_09_83) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_80) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_81) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_82) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_83) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -5701,19 +5643,19 @@ static const struct dis386 xop_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + /* 90 */ +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_90) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_91) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_92) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_93) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_94) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_95) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_96) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_97) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_90) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_91) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_92) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_93) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_94) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_95) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_96) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_97) }, + /* 98 */ +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_98) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_99) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_9A) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_9B) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_98) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_99) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_9A) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_9B) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -5756,45 +5698,45 @@ static const struct dis386 xop_table[][2 + { Bad_Opcode }, + /* c0 */ + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_C1) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_C2) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_C3) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_C1) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_C2) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_C3) }, + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_C6) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_C7) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_C6) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_C7) }, + /* c8 */ + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_CB) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_CB) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, + /* d0 */ + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_D1) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_D2) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_D3) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_D1) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_D2) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_D3) }, + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_D6) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_D7) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_D6) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_D7) }, + /* d8 */ + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_DB) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_DB) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, + /* e0 */ + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_E1) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_E2) }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_E3) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_E1) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_E2) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_E3) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -5850,7 +5792,7 @@ static const struct dis386 xop_table[][2 + /* 10 */ + { "bextrS", { Gdq, Edq, Id }, 0 }, + { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_0A_12) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_0A_12) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -6142,14 +6084,14 @@ static const struct dis386 vex_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + /* 10 */ +- { PREFIX_TABLE (PREFIX_VEX_0F10) }, +- { PREFIX_TABLE (PREFIX_VEX_0F11) }, ++ { PREFIX_TABLE (PREFIX_0F10) }, ++ { PREFIX_TABLE (PREFIX_0F11) }, + { PREFIX_TABLE (PREFIX_VEX_0F12) }, +- { MOD_TABLE (MOD_VEX_0F13) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F13) }, + { "vunpcklpX", { XM, Vex, EXx }, PREFIX_OPCODE }, + { "vunpckhpX", { XM, Vex, EXx }, PREFIX_OPCODE }, + { PREFIX_TABLE (PREFIX_VEX_0F16) }, +- { MOD_TABLE (MOD_VEX_0F17) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F17) }, + /* 18 */ + { Bad_Opcode }, + { Bad_Opcode }, +@@ -6172,11 +6114,11 @@ static const struct dis386 vex_table[][2 + { "vmovapX", { XM, EXx }, PREFIX_OPCODE }, + { "vmovapX", { EXxS, XM }, PREFIX_OPCODE }, + { PREFIX_TABLE (PREFIX_VEX_0F2A) }, +- { MOD_TABLE (MOD_VEX_0F2B) }, ++ { "vmovntpX", { Mx, XM }, PREFIX_OPCODE }, + { PREFIX_TABLE (PREFIX_VEX_0F2C) }, + { PREFIX_TABLE (PREFIX_VEX_0F2D) }, +- { PREFIX_TABLE (PREFIX_VEX_0F2E) }, +- { PREFIX_TABLE (PREFIX_VEX_0F2F) }, ++ { PREFIX_TABLE (PREFIX_0F2E) }, ++ { PREFIX_TABLE (PREFIX_0F2F) }, + /* 30 */ + { Bad_Opcode }, + { Bad_Opcode }, +@@ -6214,23 +6156,23 @@ static const struct dis386 vex_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + /* 50 */ +- { MOD_TABLE (MOD_VEX_0F50) }, +- { PREFIX_TABLE (PREFIX_VEX_0F51) }, +- { PREFIX_TABLE (PREFIX_VEX_0F52) }, +- { PREFIX_TABLE (PREFIX_VEX_0F53) }, ++ { "vmovmskpX", { Gdq, Ux }, PREFIX_OPCODE }, ++ { PREFIX_TABLE (PREFIX_0F51) }, ++ { PREFIX_TABLE (PREFIX_0F52) }, ++ { PREFIX_TABLE (PREFIX_0F53) }, + { "vandpX", { XM, Vex, EXx }, PREFIX_OPCODE }, + { "vandnpX", { XM, Vex, EXx }, PREFIX_OPCODE }, + { "vorpX", { XM, Vex, EXx }, PREFIX_OPCODE }, + { "vxorpX", { XM, Vex, EXx }, PREFIX_OPCODE }, + /* 58 */ +- { PREFIX_TABLE (PREFIX_VEX_0F58) }, +- { PREFIX_TABLE (PREFIX_VEX_0F59) }, +- { PREFIX_TABLE (PREFIX_VEX_0F5A) }, +- { PREFIX_TABLE (PREFIX_VEX_0F5B) }, +- { PREFIX_TABLE (PREFIX_VEX_0F5C) }, +- { PREFIX_TABLE (PREFIX_VEX_0F5D) }, +- { PREFIX_TABLE (PREFIX_VEX_0F5E) }, +- { PREFIX_TABLE (PREFIX_VEX_0F5F) }, ++ { PREFIX_TABLE (PREFIX_0F58) }, ++ { PREFIX_TABLE (PREFIX_0F59) }, ++ { PREFIX_TABLE (PREFIX_0F5A) }, ++ { PREFIX_TABLE (PREFIX_0F5B) }, ++ { PREFIX_TABLE (PREFIX_0F5C) }, ++ { PREFIX_TABLE (PREFIX_0F5D) }, ++ { PREFIX_TABLE (PREFIX_0F5E) }, ++ { PREFIX_TABLE (PREFIX_0F5F) }, + /* 60 */ + { "vpunpcklbw", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpunpcklwd", { XM, Vex, EXx }, PREFIX_DATA }, +@@ -6251,9 +6193,9 @@ static const struct dis386 vex_table[][2 + { PREFIX_TABLE (PREFIX_VEX_0F6F) }, + /* 70 */ + { PREFIX_TABLE (PREFIX_VEX_0F70) }, +- { MOD_TABLE (MOD_VEX_0F71) }, +- { MOD_TABLE (MOD_VEX_0F72) }, +- { MOD_TABLE (MOD_VEX_0F73) }, ++ { REG_TABLE (REG_VEX_0F71) }, ++ { REG_TABLE (REG_VEX_0F72) }, ++ { REG_TABLE (REG_VEX_0F73) }, + { "vpcmpeqb", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpcmpeqw", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpcmpeqd", { XM, Vex, EXx }, PREFIX_DATA }, +@@ -6263,8 +6205,8 @@ static const struct dis386 vex_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { PREFIX_TABLE (PREFIX_VEX_0F7C) }, +- { PREFIX_TABLE (PREFIX_VEX_0F7D) }, ++ { PREFIX_TABLE (PREFIX_0F7C) }, ++ { PREFIX_TABLE (PREFIX_0F7D) }, + { PREFIX_TABLE (PREFIX_VEX_0F7E) }, + { PREFIX_TABLE (PREFIX_VEX_0F7F) }, + /* 80 */ +@@ -6342,10 +6284,10 @@ static const struct dis386 vex_table[][2 + /* c0 */ + { Bad_Opcode }, + { Bad_Opcode }, +- { PREFIX_TABLE (PREFIX_VEX_0FC2) }, ++ { PREFIX_TABLE (PREFIX_0FC2) }, + { Bad_Opcode }, + { VEX_LEN_TABLE (VEX_LEN_0FC4) }, +- { VEX_LEN_TABLE (VEX_LEN_0FC5) }, ++ { "vpextrw", { Gd, Uxmm, Ib }, PREFIX_DATA }, + { "vshufpX", { XM, Vex, EXx, Ib }, PREFIX_OPCODE }, + { Bad_Opcode }, + /* c8 */ +@@ -6358,14 +6300,14 @@ static const struct dis386 vex_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + /* d0 */ +- { PREFIX_TABLE (PREFIX_VEX_0FD0) }, ++ { PREFIX_TABLE (PREFIX_0FD0) }, + { "vpsrlw", { XM, Vex, EXxmm }, PREFIX_DATA }, + { "vpsrld", { XM, Vex, EXxmm }, PREFIX_DATA }, + { "vpsrlq", { XM, Vex, EXxmm }, PREFIX_DATA }, + { "vpaddq", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpmullw", { XM, Vex, EXx }, PREFIX_DATA }, + { VEX_LEN_TABLE (VEX_LEN_0FD6) }, +- { MOD_TABLE (MOD_VEX_0FD7) }, ++ { "vpmovmskb", { Gdq, Ux }, PREFIX_DATA }, + /* d8 */ + { "vpsubusb", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpsubusw", { XM, Vex, EXx }, PREFIX_DATA }, +@@ -6382,8 +6324,8 @@ static const struct dis386 vex_table[][2 + { "vpavgw", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpmulhuw", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpmulhw", { XM, Vex, EXx }, PREFIX_DATA }, +- { PREFIX_TABLE (PREFIX_VEX_0FE6) }, +- { MOD_TABLE (MOD_VEX_0FE7) }, ++ { PREFIX_TABLE (PREFIX_0FE6) }, ++ { "vmovntdq", { Mx, XM }, PREFIX_DATA }, + /* e8 */ + { "vpsubsb", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpsubsw", { XM, Vex, EXx }, PREFIX_DATA }, +@@ -6394,14 +6336,14 @@ static const struct dis386 vex_table[][2 + { "vpmaxsw", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpxor", { XM, Vex, EXx }, PREFIX_DATA }, + /* f0 */ +- { PREFIX_TABLE (PREFIX_VEX_0FF0) }, ++ { PREFIX_TABLE (PREFIX_0FF0) }, + { "vpsllw", { XM, Vex, EXxmm }, PREFIX_DATA }, + { "vpslld", { XM, Vex, EXxmm }, PREFIX_DATA }, + { "vpsllq", { XM, Vex, EXxmm }, PREFIX_DATA }, + { "vpmuludq", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpmaddwd", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpsadbw", { XM, Vex, EXx }, PREFIX_DATA }, +- { VEX_LEN_TABLE (VEX_LEN_0FF7) }, ++ { "vmaskmovdqu", { XM, Uxmm }, PREFIX_DATA }, + /* f8 */ + { "vpsubb", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpsubw", { XM, Vex, EXx }, PREFIX_DATA }, +@@ -6444,7 +6386,7 @@ static const struct dis386 vex_table[][2 + /* 18 */ + { VEX_W_TABLE (VEX_W_0F3818) }, + { VEX_LEN_TABLE (VEX_LEN_0F3819) }, +- { MOD_TABLE (MOD_VEX_0F381A) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F381A) }, + { Bad_Opcode }, + { "vpabsb", { XM, EXx }, PREFIX_DATA }, + { "vpabsw", { XM, EXx }, PREFIX_DATA }, +@@ -6462,12 +6404,12 @@ static const struct dis386 vex_table[][2 + /* 28 */ + { "vpmuldq", { XM, Vex, EXx }, PREFIX_DATA }, + { "vpcmpeqq", { XM, Vex, EXx }, PREFIX_DATA }, +- { MOD_TABLE (MOD_VEX_0F382A) }, ++ { "vmovntdqa", { XM, Mx }, PREFIX_DATA }, + { "vpackusdw", { XM, Vex, EXx }, PREFIX_DATA }, +- { MOD_TABLE (MOD_VEX_0F382C) }, +- { MOD_TABLE (MOD_VEX_0F382D) }, +- { MOD_TABLE (MOD_VEX_0F382E) }, +- { MOD_TABLE (MOD_VEX_0F382F) }, ++ { VEX_W_TABLE (VEX_W_0F382C) }, ++ { VEX_W_TABLE (VEX_W_0F382D) }, ++ { VEX_W_TABLE (VEX_W_0F382E) }, ++ { VEX_W_TABLE (VEX_W_0F382F) }, + /* 30 */ + { "vpmovzxbw", { XM, EXxmmq }, PREFIX_DATA }, + { "vpmovzxbd", { XM, EXxmmqd }, PREFIX_DATA }, +@@ -6516,7 +6458,7 @@ static const struct dis386 vex_table[][2 + /* 58 */ + { VEX_W_TABLE (VEX_W_0F3858) }, + { VEX_W_TABLE (VEX_W_0F3859) }, +- { MOD_TABLE (MOD_VEX_0F385A) }, ++ { VEX_LEN_TABLE (VEX_LEN_0F385A) }, + { Bad_Opcode }, + { X86_64_TABLE (X86_64_VEX_0F385C) }, + { Bad_Opcode }, +@@ -6572,9 +6514,9 @@ static const struct dis386 vex_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0F388C) }, ++ { "vpmaskmov%DQ", { XM, Vex, Mx }, PREFIX_DATA }, + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0F388E) }, ++ { "vpmaskmov%DQ", { Mx, Vex, XM }, PREFIX_DATA }, + { Bad_Opcode }, + /* 90 */ + { "vpgatherd%DQ", { XM, MVexVSIBDWpX, VexGatherD }, PREFIX_DATA }, +@@ -6643,16 +6585,16 @@ static const struct dis386 vex_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, ++ { PREFIX_TABLE (PREFIX_VEX_0F38CB) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F38CC) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F38CD) }, + { Bad_Opcode }, + { VEX_W_TABLE (VEX_W_0F38CF) }, + /* d0 */ + { Bad_Opcode }, + { Bad_Opcode }, +- { Bad_Opcode }, +- { Bad_Opcode }, ++ { VEX_W_TABLE (VEX_W_0F38D2) }, ++ { VEX_W_TABLE (VEX_W_0F38D3) }, + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +@@ -6660,7 +6602,7 @@ static const struct dis386 vex_table[][2 + /* d8 */ + { Bad_Opcode }, + { Bad_Opcode }, +- { Bad_Opcode }, ++ { VEX_W_TABLE (VEX_W_0F38DA) }, + { VEX_LEN_TABLE (VEX_LEN_0F38DB) }, + { "vaesenc", { XM, Vex, EXx }, PREFIX_DATA }, + { "vaesenclast", { XM, Vex, EXx }, PREFIX_DATA }, +@@ -6955,7 +6897,7 @@ static const struct dis386 vex_table[][2 + { Bad_Opcode }, + { Bad_Opcode }, + { Bad_Opcode }, +- { Bad_Opcode }, ++ { VEX_W_TABLE (VEX_W_0F3ADE) }, + { VEX_LEN_TABLE (VEX_LEN_0F3ADF) }, + /* e0 */ + { Bad_Opcode }, +@@ -6999,86 +6941,86 @@ static const struct dis386 vex_table[][2 + #include "i386-dis-evex.h" + + static const struct dis386 vex_len_table[][2] = { +- /* VEX_LEN_0F12_P_0_M_0 / VEX_LEN_0F12_P_2_M_0 */ ++ /* VEX_LEN_0F12_P_0 */ + { +- { "%XEvmovlpX", { XM, Vex, EXq }, 0 }, ++ { MOD_TABLE (MOD_0F12_PREFIX_0) }, + }, + +- /* VEX_LEN_0F12_P_0_M_1 */ ++ /* VEX_LEN_0F12_P_2 */ + { +- { "%XEvmovhlp%XS", { XM, Vex, EXq }, 0 }, ++ { "%XEVmovlpYX", { XM, Vex, Mq }, 0 }, + }, + +- /* VEX_LEN_0F13_M_0 */ ++ /* VEX_LEN_0F13 */ + { +- { "%XEvmovlpX", { EXq, XM }, PREFIX_OPCODE }, ++ { "%XEVmovlpYX", { Mq, XM }, PREFIX_OPCODE }, + }, + +- /* VEX_LEN_0F16_P_0_M_0 / VEX_LEN_0F16_P_2_M_0 */ ++ /* VEX_LEN_0F16_P_0 */ + { +- { "%XEvmovhpX", { XM, Vex, EXq }, 0 }, ++ { MOD_TABLE (MOD_0F16_PREFIX_0) }, + }, + +- /* VEX_LEN_0F16_P_0_M_1 */ ++ /* VEX_LEN_0F16_P_2 */ + { +- { "%XEvmovlhp%XS", { XM, Vex, EXq }, 0 }, ++ { "%XEVmovhpYX", { XM, Vex, Mq }, 0 }, + }, + +- /* VEX_LEN_0F17_M_0 */ ++ /* VEX_LEN_0F17 */ + { +- { "%XEvmovhpX", { EXq, XM }, PREFIX_OPCODE }, ++ { "%XEVmovhpYX", { Mq, XM }, PREFIX_OPCODE }, + }, + + /* VEX_LEN_0F41 */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0F41_L_1) }, ++ { VEX_W_TABLE (VEX_W_0F41_L_1) }, + }, + + /* VEX_LEN_0F42 */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0F42_L_1) }, ++ { VEX_W_TABLE (VEX_W_0F42_L_1) }, + }, + + /* VEX_LEN_0F44 */ + { +- { MOD_TABLE (MOD_VEX_0F44_L_0) }, ++ { VEX_W_TABLE (VEX_W_0F44_L_0) }, + }, + + /* VEX_LEN_0F45 */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0F45_L_1) }, ++ { VEX_W_TABLE (VEX_W_0F45_L_1) }, + }, + + /* VEX_LEN_0F46 */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0F46_L_1) }, ++ { VEX_W_TABLE (VEX_W_0F46_L_1) }, + }, + + /* VEX_LEN_0F47 */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0F47_L_1) }, ++ { VEX_W_TABLE (VEX_W_0F47_L_1) }, + }, + + /* VEX_LEN_0F4A */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0F4A_L_1) }, ++ { VEX_W_TABLE (VEX_W_0F4A_L_1) }, + }, + + /* VEX_LEN_0F4B */ + { + { Bad_Opcode }, +- { MOD_TABLE (MOD_VEX_0F4B_L_1) }, ++ { VEX_W_TABLE (VEX_W_0F4B_L_1) }, + }, + + /* VEX_LEN_0F6E */ + { +- { "%XEvmovK", { XMScalar, Edq }, PREFIX_DATA }, ++ { "%XEvmovYK", { XMScalar, Edq }, PREFIX_DATA }, + }, + + /* VEX_LEN_0F77 */ +@@ -7089,7 +7031,7 @@ static const struct dis386 vex_len_table + + /* VEX_LEN_0F7E_P_1 */ + { +- { "%XEvmovq", { XMScalar, EXq }, 0 }, ++ { "%XEvmovqY", { XMScalar, EXq }, 0 }, + }, + + /* VEX_LEN_0F7E_P_2 */ +@@ -7104,57 +7046,47 @@ static const struct dis386 vex_len_table + + /* VEX_LEN_0F91 */ + { +- { MOD_TABLE (MOD_VEX_0F91_L_0) }, ++ { VEX_W_TABLE (VEX_W_0F91_L_0) }, + }, + + /* VEX_LEN_0F92 */ + { +- { MOD_TABLE (MOD_VEX_0F92_L_0) }, ++ { VEX_W_TABLE (VEX_W_0F92_L_0) }, + }, + + /* VEX_LEN_0F93 */ + { +- { MOD_TABLE (MOD_VEX_0F93_L_0) }, ++ { VEX_W_TABLE (VEX_W_0F93_L_0) }, + }, + + /* VEX_LEN_0F98 */ + { +- { MOD_TABLE (MOD_VEX_0F98_L_0) }, ++ { VEX_W_TABLE (VEX_W_0F98_L_0) }, + }, + + /* VEX_LEN_0F99 */ + { +- { MOD_TABLE (MOD_VEX_0F99_L_0) }, ++ { VEX_W_TABLE (VEX_W_0F99_L_0) }, + }, + +- /* VEX_LEN_0FAE_R_2_M_0 */ ++ /* VEX_LEN_0FAE_R_2 */ + { + { "vldmxcsr", { Md }, 0 }, + }, + +- /* VEX_LEN_0FAE_R_3_M_0 */ ++ /* VEX_LEN_0FAE_R_3 */ + { + { "vstmxcsr", { Md }, 0 }, + }, + + /* VEX_LEN_0FC4 */ + { +- { "%XEvpinsrw", { XM, Vex, Edw, Ib }, PREFIX_DATA }, +- }, +- +- /* VEX_LEN_0FC5 */ +- { +- { "%XEvpextrw", { Gd, XS, Ib }, PREFIX_DATA }, ++ { "%XEvpinsrwY", { XM, Vex, Edw, Ib }, PREFIX_DATA }, + }, + + /* VEX_LEN_0FD6 */ + { +- { "%XEvmovq", { EXqS, XMScalar }, PREFIX_DATA }, +- }, +- +- /* VEX_LEN_0FF7 */ +- { +- { "vmaskmovdqu", { XM, XS }, PREFIX_DATA }, ++ { "%XEvmovqY", { EXqS, XMScalar }, PREFIX_DATA }, + }, + + /* VEX_LEN_0F3816 */ +@@ -7169,10 +7101,10 @@ static const struct dis386 vex_len_table + { VEX_W_TABLE (VEX_W_0F3819_L_1) }, + }, + +- /* VEX_LEN_0F381A_M_0 */ ++ /* VEX_LEN_0F381A */ + { + { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F381A_M_0_L_1) }, ++ { VEX_W_TABLE (VEX_W_0F381A_L_1) }, + }, + + /* VEX_LEN_0F3836 */ +@@ -7196,25 +7128,53 @@ static const struct dis386 vex_len_table + { VEX_W_TABLE (VEX_W_0F384B_X86_64_L_0) }, + }, + +- /* VEX_LEN_0F385A_M_0 */ ++ /* VEX_LEN_0F385A */ ++ { ++ { Bad_Opcode }, ++ { VEX_W_TABLE (VEX_W_0F385A_L_0) }, ++ }, ++ ++ /* VEX_LEN_0F385C_X86_64 */ ++ { ++ { VEX_W_TABLE (VEX_W_0F385C_X86_64_L_0) }, ++ }, ++ ++ /* VEX_LEN_0F385E_X86_64 */ ++ { ++ { VEX_W_TABLE (VEX_W_0F385E_X86_64_L_0) }, ++ }, ++ ++ /* VEX_LEN_0F386C_X86_64 */ ++ { ++ { VEX_W_TABLE (VEX_W_0F386C_X86_64_L_0) }, ++ }, ++ ++ /* VEX_LEN_0F38CB_P_3_W_0 */ + { + { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F385A_M_0_L_0) }, ++ { "vsha512rnds2", { XM, Vex, Rxmmq }, 0 }, + }, + +- /* VEX_LEN_0F385C_X86_64_M_1 */ ++ /* VEX_LEN_0F38CC_P_3_W_0 */ + { +- { VEX_W_TABLE (VEX_W_0F385C_X86_64_M_1_L_0) }, ++ { Bad_Opcode }, ++ { "vsha512msg1", { XM, Rxmmq }, 0 }, + }, + +- /* VEX_LEN_0F385E_X86_64_M_1 */ ++ /* VEX_LEN_0F38CD_P_3_W_0 */ + { +- { VEX_W_TABLE (VEX_W_0F385E_X86_64_M_1_L_0) }, ++ { Bad_Opcode }, ++ { "vsha512msg2", { XM, Rymm }, 0 }, + }, + +- /* VEX_LEN_0F386C_X86_64_M_1 */ ++ /* VEX_LEN_0F38DA_W_0_P_0 */ + { +- { VEX_W_TABLE (VEX_W_0F386C_X86_64_M_1_L_0) }, ++ { "vsm3msg1", { XM, Vex, EXxmm }, 0 }, ++ }, ++ ++ /* VEX_LEN_0F38DA_W_0_P_2 */ ++ { ++ { "vsm3msg2", { XM, Vex, EXxmm }, 0 }, + }, + + /* VEX_LEN_0F38DB */ +@@ -7224,12 +7184,12 @@ static const struct dis386 vex_len_table + + /* VEX_LEN_0F38F2 */ + { +- { "andnS", { Gdq, VexGdq, Edq }, PREFIX_OPCODE }, ++ { PREFIX_TABLE (PREFIX_VEX_0F38F2_L_0) }, + }, + + /* VEX_LEN_0F38F3 */ + { +- { REG_TABLE(REG_VEX_0F38F3_L_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F38F3_L_0) }, + }, + + /* VEX_LEN_0F38F5 */ +@@ -7299,37 +7259,37 @@ static const struct dis386 vex_len_table + + /* VEX_LEN_0F3A20 */ + { +- { "%XEvpinsrb", { XM, Vex, Edb, Ib }, PREFIX_DATA }, ++ { "%XEvpinsrbY", { XM, Vex, Edb, Ib }, PREFIX_DATA }, + }, + + /* VEX_LEN_0F3A21 */ + { +- { "%XEvinsertps", { XM, Vex, EXd, Ib }, PREFIX_DATA }, ++ { "%XEvinsertpsY", { XM, Vex, EXd, Ib }, PREFIX_DATA }, + }, + + /* VEX_LEN_0F3A22 */ + { +- { "%XEvpinsrK", { XM, Vex, Edq, Ib }, PREFIX_DATA }, ++ { "%XEvpinsrYK", { XM, Vex, Edq, Ib }, PREFIX_DATA }, + }, + + /* VEX_LEN_0F3A30 */ + { +- { MOD_TABLE (MOD_VEX_0F3A30_L_0) }, ++ { "kshiftr%BW", { MaskG, MaskR, Ib }, PREFIX_DATA }, + }, + + /* VEX_LEN_0F3A31 */ + { +- { MOD_TABLE (MOD_VEX_0F3A31_L_0) }, ++ { "kshiftr%DQ", { MaskG, MaskR, Ib }, PREFIX_DATA }, + }, + + /* VEX_LEN_0F3A32 */ + { +- { MOD_TABLE (MOD_VEX_0F3A32_L_0) }, ++ { "kshiftl%BW", { MaskG, MaskR, Ib }, PREFIX_DATA }, + }, + + /* VEX_LEN_0F3A33 */ + { +- { MOD_TABLE (MOD_VEX_0F3A33_L_0) }, ++ { "kshiftl%DQ", { MaskG, MaskR, Ib }, PREFIX_DATA }, + }, + + /* VEX_LEN_0F3A38 */ +@@ -7375,6 +7335,11 @@ static const struct dis386 vex_len_table + { "vpcmpistri", { XM, EXx, Ib }, PREFIX_DATA }, + }, + ++ /* VEX_LEN_0F3ADE_W_0 */ ++ { ++ { "vsm3rnds2", { XM, Vex, EXxmm, Ib }, PREFIX_DATA }, ++ }, ++ + /* VEX_LEN_0F3ADF */ + { + { "vaeskeygenassist", { XM, EXx, Ib }, PREFIX_DATA }, +@@ -7385,292 +7350,297 @@ static const struct dis386 vex_len_table + { PREFIX_TABLE (PREFIX_VEX_0F3AF0_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_85 */ ++ /* VEX_LEN_MAP7_F8 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_85_L_0) }, ++ { VEX_W_TABLE (VEX_W_MAP7_F8_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_86 */ ++ /* VEX_LEN_XOP_08_85 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_86_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_85_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_87 */ ++ /* VEX_LEN_XOP_08_86 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_87_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_86_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_8E */ ++ /* VEX_LEN_XOP_08_87 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_8E_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_87_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_8F */ ++ /* VEX_LEN_XOP_08_8E */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_8F_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_8E_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_95 */ ++ /* VEX_LEN_XOP_08_8F */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_95_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_8F_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_96 */ ++ /* VEX_LEN_XOP_08_95 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_96_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_95_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_97 */ ++ /* VEX_LEN_XOP_08_96 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_97_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_96_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_9E */ ++ /* VEX_LEN_XOP_08_97 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_9E_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_97_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_9F */ ++ /* VEX_LEN_XOP_08_9E */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_9F_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_9E_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_A3 */ ++ /* VEX_LEN_XOP_08_9F */ ++ { ++ { VEX_W_TABLE (VEX_W_XOP_08_9F_L_0) }, ++ }, ++ ++ /* VEX_LEN_XOP_08_A3 */ + { + { "vpperm", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, + +- /* VEX_LEN_0FXOP_08_A6 */ ++ /* VEX_LEN_XOP_08_A6 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_A6_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_A6_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_B6 */ ++ /* VEX_LEN_XOP_08_B6 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_B6_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_B6_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_C0 */ ++ /* VEX_LEN_XOP_08_C0 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_C0_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_C0_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_C1 */ ++ /* VEX_LEN_XOP_08_C1 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_C1_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_C1_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_C2 */ ++ /* VEX_LEN_XOP_08_C2 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_C2_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_C2_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_C3 */ ++ /* VEX_LEN_XOP_08_C3 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_C3_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_C3_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_CC */ ++ /* VEX_LEN_XOP_08_CC */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_CC_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_CC_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_CD */ ++ /* VEX_LEN_XOP_08_CD */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_CD_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_CD_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_CE */ ++ /* VEX_LEN_XOP_08_CE */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_CE_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_CE_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_CF */ ++ /* VEX_LEN_XOP_08_CF */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_CF_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_CF_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_EC */ ++ /* VEX_LEN_XOP_08_EC */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_EC_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_EC_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_ED */ ++ /* VEX_LEN_XOP_08_ED */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_ED_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_ED_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_EE */ ++ /* VEX_LEN_XOP_08_EE */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_EE_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_EE_L_0) }, + }, + +- /* VEX_LEN_0FXOP_08_EF */ ++ /* VEX_LEN_XOP_08_EF */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_08_EF_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_08_EF_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_01 */ ++ /* VEX_LEN_XOP_09_01 */ + { + { REG_TABLE (REG_XOP_09_01_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_02 */ ++ /* VEX_LEN_XOP_09_02 */ + { + { REG_TABLE (REG_XOP_09_02_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_12_M_1 */ ++ /* VEX_LEN_XOP_09_12 */ + { +- { REG_TABLE (REG_XOP_09_12_M_1_L_0) }, ++ { REG_TABLE (REG_XOP_09_12_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_82_W_0 */ ++ /* VEX_LEN_XOP_09_82_W_0 */ + { + { "vfrczss", { XM, EXd }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_83_W_0 */ ++ /* VEX_LEN_XOP_09_83_W_0 */ + { + { "vfrczsd", { XM, EXq }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_90 */ ++ /* VEX_LEN_XOP_09_90 */ + { + { "vprotb", { XM, EXx, VexW }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_91 */ ++ /* VEX_LEN_XOP_09_91 */ + { + { "vprotw", { XM, EXx, VexW }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_92 */ ++ /* VEX_LEN_XOP_09_92 */ + { + { "vprotd", { XM, EXx, VexW }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_93 */ ++ /* VEX_LEN_XOP_09_93 */ + { + { "vprotq", { XM, EXx, VexW }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_94 */ ++ /* VEX_LEN_XOP_09_94 */ + { + { "vpshlb", { XM, EXx, VexW }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_95 */ ++ /* VEX_LEN_XOP_09_95 */ + { + { "vpshlw", { XM, EXx, VexW }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_96 */ ++ /* VEX_LEN_XOP_09_96 */ + { + { "vpshld", { XM, EXx, VexW }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_97 */ ++ /* VEX_LEN_XOP_09_97 */ + { + { "vpshlq", { XM, EXx, VexW }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_98 */ ++ /* VEX_LEN_XOP_09_98 */ + { + { "vpshab", { XM, EXx, VexW }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_99 */ ++ /* VEX_LEN_XOP_09_99 */ + { + { "vpshaw", { XM, EXx, VexW }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_9A */ ++ /* VEX_LEN_XOP_09_9A */ + { + { "vpshad", { XM, EXx, VexW }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_9B */ ++ /* VEX_LEN_XOP_09_9B */ + { + { "vpshaq", { XM, EXx, VexW }, 0 }, + }, + +- /* VEX_LEN_0FXOP_09_C1 */ ++ /* VEX_LEN_XOP_09_C1 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_C1_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_C1_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_C2 */ ++ /* VEX_LEN_XOP_09_C2 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_C2_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_C2_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_C3 */ ++ /* VEX_LEN_XOP_09_C3 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_C3_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_C3_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_C6 */ ++ /* VEX_LEN_XOP_09_C6 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_C6_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_C6_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_C7 */ ++ /* VEX_LEN_XOP_09_C7 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_C7_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_C7_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_CB */ ++ /* VEX_LEN_XOP_09_CB */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_CB_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_CB_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_D1 */ ++ /* VEX_LEN_XOP_09_D1 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_D1_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_D1_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_D2 */ ++ /* VEX_LEN_XOP_09_D2 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_D2_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_D2_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_D3 */ ++ /* VEX_LEN_XOP_09_D3 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_D3_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_D3_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_D6 */ ++ /* VEX_LEN_XOP_09_D6 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_D6_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_D6_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_D7 */ ++ /* VEX_LEN_XOP_09_D7 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_D7_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_D7_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_DB */ ++ /* VEX_LEN_XOP_09_DB */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_DB_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_DB_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_E1 */ ++ /* VEX_LEN_XOP_09_E1 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_E1_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_E1_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_E2 */ ++ /* VEX_LEN_XOP_09_E2 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_E2_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_E2_L_0) }, + }, + +- /* VEX_LEN_0FXOP_09_E3 */ ++ /* VEX_LEN_XOP_09_E3 */ + { +- { VEX_W_TABLE (VEX_W_0FXOP_09_E3_L_0) }, ++ { VEX_W_TABLE (VEX_W_XOP_09_E3_L_0) }, + }, + +- /* VEX_LEN_0FXOP_0A_12 */ ++ /* VEX_LEN_XOP_0A_12 */ + { + { REG_TABLE (REG_XOP_0A_12_L_0) }, + }, +@@ -7681,43 +7651,43 @@ static const struct dis386 vex_len_table + static const struct dis386 vex_w_table[][2] = { + { + /* VEX_W_0F41_L_1_M_1 */ +- { PREFIX_TABLE (PREFIX_VEX_0F41_L_1_M_1_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F41_L_1_M_1_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F41_L_1_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F41_L_1_W_1) }, + }, + { + /* VEX_W_0F42_L_1_M_1 */ +- { PREFIX_TABLE (PREFIX_VEX_0F42_L_1_M_1_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F42_L_1_M_1_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F42_L_1_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F42_L_1_W_1) }, + }, + { + /* VEX_W_0F44_L_0_M_1 */ +- { PREFIX_TABLE (PREFIX_VEX_0F44_L_0_M_1_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F44_L_0_M_1_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F44_L_0_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F44_L_0_W_1) }, + }, + { + /* VEX_W_0F45_L_1_M_1 */ +- { PREFIX_TABLE (PREFIX_VEX_0F45_L_1_M_1_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F45_L_1_M_1_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F45_L_1_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F45_L_1_W_1) }, + }, + { + /* VEX_W_0F46_L_1_M_1 */ +- { PREFIX_TABLE (PREFIX_VEX_0F46_L_1_M_1_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F46_L_1_M_1_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F46_L_1_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F46_L_1_W_1) }, + }, + { + /* VEX_W_0F47_L_1_M_1 */ +- { PREFIX_TABLE (PREFIX_VEX_0F47_L_1_M_1_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F47_L_1_M_1_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F47_L_1_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F47_L_1_W_1) }, + }, + { + /* VEX_W_0F4A_L_1_M_1 */ +- { PREFIX_TABLE (PREFIX_VEX_0F4A_L_1_M_1_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F4A_L_1_M_1_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F4A_L_1_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F4A_L_1_W_1) }, + }, + { + /* VEX_W_0F4B_L_1_M_1 */ +- { PREFIX_TABLE (PREFIX_VEX_0F4B_L_1_M_1_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F4B_L_1_M_1_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F4B_L_1_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F4B_L_1_W_1) }, + }, + { + /* VEX_W_0F90_L_0 */ +@@ -7726,28 +7696,28 @@ static const struct dis386 vex_w_table[] + }, + { + /* VEX_W_0F91_L_0_M_0 */ +- { PREFIX_TABLE (PREFIX_VEX_0F91_L_0_M_0_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F91_L_0_M_0_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F91_L_0_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F91_L_0_W_1) }, + }, + { + /* VEX_W_0F92_L_0_M_1 */ +- { PREFIX_TABLE (PREFIX_VEX_0F92_L_0_M_1_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F92_L_0_M_1_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F92_L_0_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F92_L_0_W_1) }, + }, + { + /* VEX_W_0F93_L_0_M_1 */ +- { PREFIX_TABLE (PREFIX_VEX_0F93_L_0_M_1_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F93_L_0_M_1_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F93_L_0_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F93_L_0_W_1) }, + }, + { + /* VEX_W_0F98_L_0_M_1 */ +- { PREFIX_TABLE (PREFIX_VEX_0F98_L_0_M_1_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F98_L_0_M_1_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F98_L_0_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F98_L_0_W_1) }, + }, + { + /* VEX_W_0F99_L_0_M_1 */ +- { PREFIX_TABLE (PREFIX_VEX_0F99_L_0_M_1_W_0) }, +- { PREFIX_TABLE (PREFIX_VEX_0F99_L_0_M_1_W_1) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F99_L_0_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F99_L_0_W_1) }, + }, + { + /* VEX_W_0F380C */ +@@ -7782,23 +7752,23 @@ static const struct dis386 vex_w_table[] + { "vbroadcastsd", { XM, EXq }, PREFIX_DATA }, + }, + { +- /* VEX_W_0F381A_M_0_L_1 */ ++ /* VEX_W_0F381A_L_1 */ + { "vbroadcastf128", { XM, Mxmm }, PREFIX_DATA }, + }, + { +- /* VEX_W_0F382C_M_0 */ ++ /* VEX_W_0F382C */ + { "vmaskmovps", { XM, Vex, Mx }, PREFIX_DATA }, + }, + { +- /* VEX_W_0F382D_M_0 */ ++ /* VEX_W_0F382D */ + { "vmaskmovpd", { XM, Vex, Mx }, PREFIX_DATA }, + }, + { +- /* VEX_W_0F382E_M_0 */ ++ /* VEX_W_0F382E */ + { "vmaskmovps", { Mx, Vex, XM }, PREFIX_DATA }, + }, + { +- /* VEX_W_0F382F_M_0 */ ++ /* VEX_W_0F382F */ + { "vmaskmovpd", { Mx, Vex, XM }, PREFIX_DATA }, + }, + { +@@ -7815,7 +7785,7 @@ static const struct dis386 vex_w_table[] + }, + { + /* VEX_W_0F384B_X86_64_L_0 */ +- { MOD_TABLE (MOD_VEX_0F384B_X86_64_L_0_W_0) }, ++ { PREFIX_TABLE (PREFIX_VEX_0F384B_X86_64_L_0_W_0) }, + }, + { + /* VEX_W_0F3850 */ +@@ -7842,20 +7812,20 @@ static const struct dis386 vex_w_table[] + { "vpbroadcastq", { XM, EXq }, PREFIX_DATA }, + }, + { +- /* VEX_W_0F385A_M_0_L_0 */ ++ /* VEX_W_0F385A_L_0 */ + { "vbroadcasti128", { XM, Mxmm }, PREFIX_DATA }, + }, + { +- /* VEX_W_0F385C_X86_64_M_1_L_0 */ +- { PREFIX_TABLE (PREFIX_VEX_0F385C_X86_64_M_1_L_0_W_0) }, ++ /* VEX_W_0F385C_X86_64_L_0 */ ++ { PREFIX_TABLE (PREFIX_VEX_0F385C_X86_64_L_0_W_0) }, + }, + { +- /* VEX_W_0F385E_X86_64_M_1_L_0 */ +- { PREFIX_TABLE (PREFIX_VEX_0F385E_X86_64_M_1_L_0_W_0) }, ++ /* VEX_W_0F385E_X86_64_L_0 */ ++ { PREFIX_TABLE (PREFIX_VEX_0F385E_X86_64_L_0_W_0) }, + }, + { +- /* VEX_W_0F386C_X86_64_M_1_L_0 */ +- { PREFIX_TABLE (PREFIX_VEX_0F386C_X86_64_M_1_L_0_W_0) }, ++ /* VEX_W_0F386C_X86_64_L_0 */ ++ { PREFIX_TABLE (PREFIX_VEX_0F386C_X86_64_L_0_W_0) }, + }, + { + /* VEX_W_0F3872_P_1 */ +@@ -7888,10 +7858,34 @@ static const struct dis386 vex_w_table[] + { "%XVvpmadd52huq", { XM, Vex, EXx }, PREFIX_DATA }, + }, + { ++ /* VEX_W_0F38CB_P_3 */ ++ { VEX_LEN_TABLE (VEX_LEN_0F38CB_P_3_W_0) }, ++ }, ++ { ++ /* VEX_W_0F38CC_P_3 */ ++ { VEX_LEN_TABLE (VEX_LEN_0F38CC_P_3_W_0) }, ++ }, ++ { ++ /* VEX_W_0F38CD_P_3 */ ++ { VEX_LEN_TABLE (VEX_LEN_0F38CD_P_3_W_0) }, ++ }, ++ { + /* VEX_W_0F38CF */ + { "%XEvgf2p8mulb", { XM, Vex, EXx }, PREFIX_DATA }, + }, + { ++ /* VEX_W_0F38D2 */ ++ { PREFIX_TABLE (PREFIX_VEX_0F38D2_W_0) }, ++ }, ++ { ++ /* VEX_W_0F38D3 */ ++ { PREFIX_TABLE (PREFIX_VEX_0F38D3_W_0) }, ++ }, ++ { ++ /* VEX_W_0F38DA */ ++ { PREFIX_TABLE (PREFIX_VEX_0F38DA_W_0) }, ++ }, ++ { + /* VEX_W_0F3A00_L_1 */ + { Bad_Opcode }, + { "%XEvpermq", { XM, EXx, Ib }, PREFIX_DATA }, +@@ -7963,175 +7957,183 @@ static const struct dis386 vex_w_table[] + { Bad_Opcode }, + { "%XEvgf2p8affineinvqb", { XM, Vex, EXx, Ib }, PREFIX_DATA }, + }, +- /* VEX_W_0FXOP_08_85_L_0 */ ++ { ++ /* VEX_W_0F3ADE */ ++ { VEX_LEN_TABLE (VEX_LEN_0F3ADE_W_0) }, ++ }, ++ { ++ /* VEX_W_MAP7_F8_L_0 */ ++ { REG_TABLE (REG_VEX_MAP7_F8_L_0_W_0) }, ++ }, ++ /* VEX_W_XOP_08_85_L_0 */ + { + { "vpmacssww", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, +- /* VEX_W_0FXOP_08_86_L_0 */ ++ /* VEX_W_XOP_08_86_L_0 */ + { + { "vpmacsswd", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, +- /* VEX_W_0FXOP_08_87_L_0 */ ++ /* VEX_W_XOP_08_87_L_0 */ + { + { "vpmacssdql", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, +- /* VEX_W_0FXOP_08_8E_L_0 */ ++ /* VEX_W_XOP_08_8E_L_0 */ + { + { "vpmacssdd", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, +- /* VEX_W_0FXOP_08_8F_L_0 */ ++ /* VEX_W_XOP_08_8F_L_0 */ + { + { "vpmacssdqh", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, +- /* VEX_W_0FXOP_08_95_L_0 */ ++ /* VEX_W_XOP_08_95_L_0 */ + { + { "vpmacsww", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, +- /* VEX_W_0FXOP_08_96_L_0 */ ++ /* VEX_W_XOP_08_96_L_0 */ + { + { "vpmacswd", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, +- /* VEX_W_0FXOP_08_97_L_0 */ ++ /* VEX_W_XOP_08_97_L_0 */ + { + { "vpmacsdql", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, +- /* VEX_W_0FXOP_08_9E_L_0 */ ++ /* VEX_W_XOP_08_9E_L_0 */ + { + { "vpmacsdd", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, +- /* VEX_W_0FXOP_08_9F_L_0 */ ++ /* VEX_W_XOP_08_9F_L_0 */ + { + { "vpmacsdqh", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, +- /* VEX_W_0FXOP_08_A6_L_0 */ ++ /* VEX_W_XOP_08_A6_L_0 */ + { + { "vpmadcsswd", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, +- /* VEX_W_0FXOP_08_B6_L_0 */ ++ /* VEX_W_XOP_08_B6_L_0 */ + { + { "vpmadcswd", { XM, Vex, EXx, XMVexI4 }, 0 }, + }, +- /* VEX_W_0FXOP_08_C0_L_0 */ ++ /* VEX_W_XOP_08_C0_L_0 */ + { + { "vprotb", { XM, EXx, Ib }, 0 }, + }, +- /* VEX_W_0FXOP_08_C1_L_0 */ ++ /* VEX_W_XOP_08_C1_L_0 */ + { + { "vprotw", { XM, EXx, Ib }, 0 }, + }, +- /* VEX_W_0FXOP_08_C2_L_0 */ ++ /* VEX_W_XOP_08_C2_L_0 */ + { + { "vprotd", { XM, EXx, Ib }, 0 }, + }, +- /* VEX_W_0FXOP_08_C3_L_0 */ ++ /* VEX_W_XOP_08_C3_L_0 */ + { + { "vprotq", { XM, EXx, Ib }, 0 }, + }, +- /* VEX_W_0FXOP_08_CC_L_0 */ ++ /* VEX_W_XOP_08_CC_L_0 */ + { + { "vpcomb", { XM, Vex, EXx, VPCOM }, 0 }, + }, +- /* VEX_W_0FXOP_08_CD_L_0 */ ++ /* VEX_W_XOP_08_CD_L_0 */ + { + { "vpcomw", { XM, Vex, EXx, VPCOM }, 0 }, + }, +- /* VEX_W_0FXOP_08_CE_L_0 */ ++ /* VEX_W_XOP_08_CE_L_0 */ + { + { "vpcomd", { XM, Vex, EXx, VPCOM }, 0 }, + }, +- /* VEX_W_0FXOP_08_CF_L_0 */ ++ /* VEX_W_XOP_08_CF_L_0 */ + { + { "vpcomq", { XM, Vex, EXx, VPCOM }, 0 }, + }, +- /* VEX_W_0FXOP_08_EC_L_0 */ ++ /* VEX_W_XOP_08_EC_L_0 */ + { + { "vpcomub", { XM, Vex, EXx, VPCOM }, 0 }, + }, +- /* VEX_W_0FXOP_08_ED_L_0 */ ++ /* VEX_W_XOP_08_ED_L_0 */ + { + { "vpcomuw", { XM, Vex, EXx, VPCOM }, 0 }, + }, +- /* VEX_W_0FXOP_08_EE_L_0 */ ++ /* VEX_W_XOP_08_EE_L_0 */ + { + { "vpcomud", { XM, Vex, EXx, VPCOM }, 0 }, + }, +- /* VEX_W_0FXOP_08_EF_L_0 */ ++ /* VEX_W_XOP_08_EF_L_0 */ + { + { "vpcomuq", { XM, Vex, EXx, VPCOM }, 0 }, + }, +- /* VEX_W_0FXOP_09_80 */ ++ /* VEX_W_XOP_09_80 */ + { + { "vfrczps", { XM, EXx }, 0 }, + }, +- /* VEX_W_0FXOP_09_81 */ ++ /* VEX_W_XOP_09_81 */ + { + { "vfrczpd", { XM, EXx }, 0 }, + }, +- /* VEX_W_0FXOP_09_82 */ ++ /* VEX_W_XOP_09_82 */ + { +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_82_W_0) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_82_W_0) }, + }, +- /* VEX_W_0FXOP_09_83 */ ++ /* VEX_W_XOP_09_83 */ + { +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_83_W_0) }, ++ { VEX_LEN_TABLE (VEX_LEN_XOP_09_83_W_0) }, + }, +- /* VEX_W_0FXOP_09_C1_L_0 */ ++ /* VEX_W_XOP_09_C1_L_0 */ + { + { "vphaddbw", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_C2_L_0 */ ++ /* VEX_W_XOP_09_C2_L_0 */ + { + { "vphaddbd", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_C3_L_0 */ ++ /* VEX_W_XOP_09_C3_L_0 */ + { + { "vphaddbq", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_C6_L_0 */ ++ /* VEX_W_XOP_09_C6_L_0 */ + { + { "vphaddwd", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_C7_L_0 */ ++ /* VEX_W_XOP_09_C7_L_0 */ + { + { "vphaddwq", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_CB_L_0 */ ++ /* VEX_W_XOP_09_CB_L_0 */ + { + { "vphadddq", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_D1_L_0 */ ++ /* VEX_W_XOP_09_D1_L_0 */ + { + { "vphaddubw", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_D2_L_0 */ ++ /* VEX_W_XOP_09_D2_L_0 */ + { + { "vphaddubd", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_D3_L_0 */ ++ /* VEX_W_XOP_09_D3_L_0 */ + { + { "vphaddubq", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_D6_L_0 */ ++ /* VEX_W_XOP_09_D6_L_0 */ + { + { "vphadduwd", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_D7_L_0 */ ++ /* VEX_W_XOP_09_D7_L_0 */ + { + { "vphadduwq", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_DB_L_0 */ ++ /* VEX_W_XOP_09_DB_L_0 */ + { + { "vphaddudq", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_E1_L_0 */ ++ /* VEX_W_XOP_09_E1_L_0 */ + { + { "vphsubbw", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_E2_L_0 */ ++ /* VEX_W_XOP_09_E2_L_0 */ + { + { "vphsubwd", { XM, EXxmm }, 0 }, + }, +- /* VEX_W_0FXOP_09_E3_L_0 */ ++ /* VEX_W_XOP_09_E3_L_0 */ + { + { "vphsubdq", { XM, EXxmm }, 0 }, + }, +@@ -8143,39 +8145,17 @@ static const struct dis386 mod_table[][2 + { + /* MOD_62_32BIT */ + { "bound{S|}", { Gv, Ma }, 0 }, +- { EVEX_TABLE (EVEX_0F) }, +- }, +- { +- /* MOD_8D */ +- { "leaS", { Gv, M }, 0 }, ++ { EVEX_TABLE () }, + }, + { + /* MOD_C4_32BIT */ + { "lesS", { Gv, Mp }, 0 }, +- { VEX_C4_TABLE (VEX_0F) }, ++ { VEX_C4_TABLE () }, + }, + { + /* MOD_C5_32BIT */ + { "ldsS", { Gv, Mp }, 0 }, +- { VEX_C5_TABLE (VEX_0F) }, +- }, +- { +- /* MOD_C6_REG_7 */ +- { Bad_Opcode }, +- { RM_TABLE (RM_C6_REG_7) }, +- }, +- { +- /* MOD_C7_REG_7 */ +- { Bad_Opcode }, +- { RM_TABLE (RM_C7_REG_7) }, +- }, +- { +- /* MOD_FF_REG_3 */ +- { "{l|}call^", { indirEp }, 0 }, +- }, +- { +- /* MOD_FF_REG_5 */ +- { "{l|}jmp^", { indirEp }, 0 }, ++ { VEX_C5_TABLE () }, + }, + { + /* MOD_0F01_REG_0 */ +@@ -8208,40 +8188,14 @@ static const struct dis386 mod_table[][2 + { RM_TABLE (RM_0F01_REG_7_MOD_3) }, + }, + { +- /* MOD_0F02 */ +- { "larS", { Gv, Mw }, 0 }, +- { "larS", { Gv, Ev }, 0 }, +- }, +- { +- /* MOD_0F03 */ +- { "lslS", { Gv, Mw }, 0 }, +- { "lslS", { Gv, Ev }, 0 }, +- }, +- { + /* MOD_0F12_PREFIX_0 */ +- { "movlpX", { XM, EXq }, 0 }, +- { "movhlps", { XM, EXq }, 0 }, +- }, +- { +- /* MOD_0F12_PREFIX_2 */ +- { "movlpX", { XM, EXq }, 0 }, +- }, +- { +- /* MOD_0F13 */ +- { "movlpX", { EXq, XM }, PREFIX_OPCODE }, ++ { "%XEVmovlpYX", { XM, Vex, EXq }, 0 }, ++ { "%XEVmovhlpY%XS", { XM, Vex, EXq }, 0 }, + }, + { + /* MOD_0F16_PREFIX_0 */ +- { "movhpX", { XM, EXq }, 0 }, +- { "movlhps", { XM, EXq }, 0 }, +- }, +- { +- /* MOD_0F16_PREFIX_2 */ +- { "movhpX", { XM, EXq }, 0 }, +- }, +- { +- /* MOD_0F17 */ +- { "movhpX", { EXq, XM }, PREFIX_OPCODE }, ++ { "%XEVmovhpYX", { XM, Vex, EXq }, 0 }, ++ { "%XEVmovlhpY%XS", { XM, Vex, EXq }, 0 }, + }, + { + /* MOD_0F18_REG_0 */ +@@ -8299,42 +8253,6 @@ static const struct dis386 mod_table[][2 + { REG_TABLE (REG_0F1E_P_1_MOD_3) }, + }, + { +- /* MOD_0F2B_PREFIX_0 */ +- {"movntps", { Mx, XM }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_0F2B_PREFIX_1 */ +- {"movntss", { Md, XM }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_0F2B_PREFIX_2 */ +- {"movntpd", { Mx, XM }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_0F2B_PREFIX_3 */ +- {"movntsd", { Mq, XM }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_0F50 */ +- { Bad_Opcode }, +- { "movmskpX", { Gdq, XS }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_0F71 */ +- { Bad_Opcode }, +- { REG_TABLE (REG_0F71_MOD_0) }, +- }, +- { +- /* MOD_0F72 */ +- { Bad_Opcode }, +- { REG_TABLE (REG_0F72_MOD_0) }, +- }, +- { +- /* MOD_0F73 */ +- { Bad_Opcode }, +- { REG_TABLE (REG_0F73_MOD_0) }, +- }, +- { + /* MOD_0FAE_REG_0 */ + { "fxsave", { FXSAVE }, 0 }, + { PREFIX_TABLE (PREFIX_0FAE_REG_0_MOD_3) }, +@@ -8361,7 +8279,7 @@ static const struct dis386 mod_table[][2 + }, + { + /* MOD_0FAE_REG_5 */ +- { "xrstor", { FXSAVE }, PREFIX_OPCODE }, ++ { "xrstor", { FXSAVE }, PREFIX_OPCODE | PREFIX_REX2_ILLEGAL }, + { PREFIX_TABLE (PREFIX_0FAE_REG_5_MOD_3) }, + }, + { +@@ -8375,34 +8293,6 @@ static const struct dis386 mod_table[][2 + { RM_TABLE (RM_0FAE_REG_7_MOD_3) }, + }, + { +- /* MOD_0FB2 */ +- { "lssS", { Gv, Mp }, 0 }, +- }, +- { +- /* MOD_0FB4 */ +- { "lfsS", { Gv, Mp }, 0 }, +- }, +- { +- /* MOD_0FB5 */ +- { "lgsS", { Gv, Mp }, 0 }, +- }, +- { +- /* MOD_0FC3 */ +- { "movntiS", { Edq, Gdq }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_0FC7_REG_3 */ +- { "xrstors", { FXSAVE }, 0 }, +- }, +- { +- /* MOD_0FC7_REG_4 */ +- { "xsavec", { FXSAVE }, 0 }, +- }, +- { +- /* MOD_0FC7_REG_5 */ +- { "xsaves", { FXSAVE }, 0 }, +- }, +- { + /* MOD_0FC7_REG_6 */ + { PREFIX_TABLE (PREFIX_0FC7_REG_6_MOD_0) }, + { PREFIX_TABLE (PREFIX_0FC7_REG_6_MOD_3) } +@@ -8413,298 +8303,20 @@ static const struct dis386 mod_table[][2 + { PREFIX_TABLE (PREFIX_0FC7_REG_7_MOD_3) } + }, + { +- /* MOD_0FD7 */ +- { Bad_Opcode }, +- { "pmovmskb", { Gdq, MS }, 0 }, +- }, +- { +- /* MOD_0FE7_PREFIX_2 */ +- { "movntdq", { Mx, XM }, 0 }, +- }, +- { +- /* MOD_0FF0_PREFIX_3 */ +- { "lddqu", { XM, M }, 0 }, +- }, +- { +- /* MOD_0F382A */ +- { "movntdqa", { XM, Mx }, PREFIX_DATA }, +- }, +- { + /* MOD_0F38DC_PREFIX_1 */ + { "aesenc128kl", { XM, M }, 0 }, + { "loadiwkey", { XM, EXx }, 0 }, + }, ++ /* MOD_0F38F8 */ + { +- /* MOD_0F38DD_PREFIX_1 */ +- { "aesdec128kl", { XM, M }, 0 }, +- }, +- { +- /* MOD_0F38DE_PREFIX_1 */ +- { "aesenc256kl", { XM, M }, 0 }, +- }, +- { +- /* MOD_0F38DF_PREFIX_1 */ +- { "aesdec256kl", { XM, M }, 0 }, +- }, +- { +- /* MOD_0F38F5 */ +- { "wrussK", { M, Gdq }, PREFIX_DATA }, +- }, +- { +- /* MOD_0F38F6_PREFIX_0 */ +- { "wrssK", { M, Gdq }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_0F38F8_PREFIX_1 */ +- { "enqcmds", { Gva, M }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_0F38F8_PREFIX_2 */ +- { "movdir64b", { Gva, M }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_0F38F8_PREFIX_3 */ +- { "enqcmd", { Gva, M }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_0F38F9 */ +- { "movdiri", { Edq, Gdq }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_0F38FA_PREFIX_1 */ +- { Bad_Opcode }, +- { "encodekey128", { Gd, Ed }, 0 }, +- }, +- { +- /* MOD_0F38FB_PREFIX_1 */ +- { Bad_Opcode }, +- { "encodekey256", { Gd, Ed }, 0 }, +- }, +- { +- /* MOD_0F3A0F_PREFIX_1 */ +- { Bad_Opcode }, +- { REG_TABLE (REG_0F3A0F_PREFIX_1_MOD_3) }, +- }, +- { +- /* MOD_VEX_0F12_PREFIX_0 */ +- { VEX_LEN_TABLE (VEX_LEN_0F12_P_0_M_0) }, +- { VEX_LEN_TABLE (VEX_LEN_0F12_P_0_M_1) }, +- }, +- { +- /* MOD_VEX_0F12_PREFIX_2 */ +- { VEX_LEN_TABLE (VEX_LEN_0F12_P_2_M_0) }, +- }, +- { +- /* MOD_VEX_0F13 */ +- { VEX_LEN_TABLE (VEX_LEN_0F13_M_0) }, +- }, +- { +- /* MOD_VEX_0F16_PREFIX_0 */ +- { VEX_LEN_TABLE (VEX_LEN_0F16_P_0_M_0) }, +- { VEX_LEN_TABLE (VEX_LEN_0F16_P_0_M_1) }, +- }, +- { +- /* MOD_VEX_0F16_PREFIX_2 */ +- { VEX_LEN_TABLE (VEX_LEN_0F16_P_2_M_0) }, +- }, +- { +- /* MOD_VEX_0F17 */ +- { VEX_LEN_TABLE (VEX_LEN_0F17_M_0) }, +- }, +- { +- /* MOD_VEX_0F2B */ +- { "%XEvmovntpX", { Mx, XM }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_VEX_0F41_L_1 */ +- { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F41_L_1_M_1) }, +- }, +- { +- /* MOD_VEX_0F42_L_1 */ +- { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F42_L_1_M_1) }, +- }, +- { +- /* MOD_VEX_0F44_L_0 */ +- { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F44_L_0_M_1) }, +- }, +- { +- /* MOD_VEX_0F45_L_1 */ +- { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F45_L_1_M_1) }, +- }, +- { +- /* MOD_VEX_0F46_L_1 */ +- { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F46_L_1_M_1) }, +- }, +- { +- /* MOD_VEX_0F47_L_1 */ +- { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F47_L_1_M_1) }, +- }, +- { +- /* MOD_VEX_0F4A_L_1 */ +- { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F4A_L_1_M_1) }, +- }, +- { +- /* MOD_VEX_0F4B_L_1 */ +- { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F4B_L_1_M_1) }, +- }, +- { +- /* MOD_VEX_0F50 */ +- { Bad_Opcode }, +- { "vmovmskpX", { Gdq, XS }, PREFIX_OPCODE }, +- }, +- { +- /* MOD_VEX_0F71 */ +- { Bad_Opcode }, +- { REG_TABLE (REG_VEX_0F71_M_0) }, +- }, +- { +- /* MOD_VEX_0F72 */ +- { Bad_Opcode }, +- { REG_TABLE (REG_VEX_0F72_M_0) }, +- }, +- { +- /* MOD_VEX_0F73 */ +- { Bad_Opcode }, +- { REG_TABLE (REG_VEX_0F73_M_0) }, +- }, +- { +- /* MOD_VEX_0F91_L_0 */ +- { VEX_W_TABLE (VEX_W_0F91_L_0_M_0) }, +- }, +- { +- /* MOD_VEX_0F92_L_0 */ +- { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F92_L_0_M_1) }, +- }, +- { +- /* MOD_VEX_0F93_L_0 */ +- { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F93_L_0_M_1) }, +- }, +- { +- /* MOD_VEX_0F98_L_0 */ +- { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F98_L_0_M_1) }, +- }, +- { +- /* MOD_VEX_0F99_L_0 */ +- { Bad_Opcode }, +- { VEX_W_TABLE (VEX_W_0F99_L_0_M_1) }, +- }, +- { +- /* MOD_VEX_0FAE_REG_2 */ +- { VEX_LEN_TABLE (VEX_LEN_0FAE_R_2_M_0) }, +- }, +- { +- /* MOD_VEX_0FAE_REG_3 */ +- { VEX_LEN_TABLE (VEX_LEN_0FAE_R_3_M_0) }, +- }, +- { +- /* MOD_VEX_0FD7 */ +- { Bad_Opcode }, +- { "vpmovmskb", { Gdq, XS }, PREFIX_DATA }, +- }, +- { +- /* MOD_VEX_0FE7 */ +- { "vmovntdq", { Mx, XM }, PREFIX_DATA }, +- }, +- { +- /* MOD_VEX_0FF0_PREFIX_3 */ +- { "vlddqu", { XM, M }, 0 }, +- }, +- { +- /* MOD_VEX_0F381A */ +- { VEX_LEN_TABLE (VEX_LEN_0F381A_M_0) }, +- }, +- { +- /* MOD_VEX_0F382A */ +- { "vmovntdqa", { XM, Mx }, PREFIX_DATA }, +- }, +- { +- /* MOD_VEX_0F382C */ +- { VEX_W_TABLE (VEX_W_0F382C_M_0) }, +- }, +- { +- /* MOD_VEX_0F382D */ +- { VEX_W_TABLE (VEX_W_0F382D_M_0) }, +- }, +- { +- /* MOD_VEX_0F382E */ +- { VEX_W_TABLE (VEX_W_0F382E_M_0) }, +- }, +- { +- /* MOD_VEX_0F382F */ +- { VEX_W_TABLE (VEX_W_0F382F_M_0) }, ++ { PREFIX_TABLE (PREFIX_0F38F8_M_0) }, ++ { X86_64_TABLE (X86_64_0F38F8_M_1) }, + }, + { + /* MOD_VEX_0F3849_X86_64_L_0_W_0 */ + { PREFIX_TABLE (PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_1) }, + }, +- { +- /* MOD_VEX_0F384B_X86_64_L_0_W_0 */ +- { PREFIX_TABLE (PREFIX_VEX_0F384B_X86_64_L_0_W_0_M_0) }, +- }, +- { +- /* MOD_VEX_0F385A */ +- { VEX_LEN_TABLE (VEX_LEN_0F385A_M_0) }, +- }, +- { +- /* MOD_VEX_0F385C_X86_64 */ +- { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0F385C_X86_64_M_1) }, +- }, +- { +- /* MOD_VEX_0F385E_X86_64 */ +- { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0F385E_X86_64_M_1) }, +- }, +- { +- /* MOD_VEX_0F386C_X86_64 */ +- { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0F386C_X86_64_M_1) }, +- }, +- { +- /* MOD_VEX_0F388C */ +- { "vpmaskmov%DQ", { XM, Vex, Mx }, PREFIX_DATA }, +- }, +- { +- /* MOD_VEX_0F388E */ +- { "vpmaskmov%DQ", { Mx, Vex, XM }, PREFIX_DATA }, +- }, +- { +- /* MOD_VEX_0F3A30_L_0 */ +- { Bad_Opcode }, +- { "kshiftr%BW", { MaskG, MaskE, Ib }, PREFIX_DATA }, +- }, +- { +- /* MOD_VEX_0F3A31_L_0 */ +- { Bad_Opcode }, +- { "kshiftr%DQ", { MaskG, MaskE, Ib }, PREFIX_DATA }, +- }, +- { +- /* MOD_VEX_0F3A32_L_0 */ +- { Bad_Opcode }, +- { "kshiftl%BW", { MaskG, MaskE, Ib }, PREFIX_DATA }, +- }, +- { +- /* MOD_VEX_0F3A33_L_0 */ +- { Bad_Opcode }, +- { "kshiftl%DQ", { MaskG, MaskE, Ib }, PREFIX_DATA }, +- }, +- { +- /* MOD_XOP_09_12 */ +- { Bad_Opcode }, +- { VEX_LEN_TABLE (VEX_LEN_0FXOP_09_12_M_1) }, +- }, + + #include "i386-dis-evex-mod.h" + }; +@@ -8727,6 +8339,7 @@ static const struct dis386 rm_table[][8] + { "vmxoff", { Skip_MODRM }, 0 }, + { "pconfig", { Skip_MODRM }, 0 }, + { PREFIX_TABLE (PREFIX_0F01_REG_0_MOD_3_RM_6) }, ++ { PREFIX_TABLE (PREFIX_0F01_REG_0_MOD_3_RM_7) }, + }, + { + /* RM_0F01_REG_1 */ +@@ -8803,7 +8416,7 @@ static const struct dis386 rm_table[][8] + { "sfence", { Skip_MODRM }, 0 }, + }, + { +- /* RM_0F3A0F_P_1_MOD_3_REG_0 */ ++ /* RM_0F3A0F_P_1_R_0 */ + { "hreset", { Skip_MODRM, Ib }, 0 }, + }, + { +@@ -8869,6 +8482,24 @@ ckprefix (instr_info *ins) + return ckp_okay; + ins->last_rex_prefix = i; + break; ++ /* REX2 must be the last prefix. */ ++ case REX2_OPCODE: ++ if (ins->address_mode == mode_64bit) ++ { ++ if (ins->last_rex_prefix >= 0) ++ return ckp_bogus; ++ ++ ins->codep++; ++ if (!fetch_code (ins->info, ins->codep + 1)) ++ return ckp_fetch_error; ++ ins->rex2_payload = *ins->codep; ++ ins->rex2 = ins->rex2_payload >> 4; ++ ins->rex = (ins->rex2_payload & 0xf) | REX_OPCODE; ++ ins->codep++; ++ ins->last_rex2_prefix = i; ++ ins->all_prefixes[i] = REX2_OPCODE; ++ } ++ return ckp_okay; + case 0xf3: + ins->prefixes |= PREFIX_REPZ; + ins->last_repz_prefix = i; +@@ -9036,6 +8667,8 @@ prefix_name (enum address_mode mode, uin + return "bnd"; + case NOTRACK_PREFIX: + return "notrack"; ++ case REX2_OPCODE: ++ return "rex2"; + default: + return NULL; + } +@@ -9053,10 +8686,10 @@ with the -M switch (multiple options sho + fprintf (stream, _(" i8086 Disassemble in 16bit mode\n")); + fprintf (stream, _(" att Display instruction in AT&T syntax\n")); + fprintf (stream, _(" intel Display instruction in Intel syntax\n")); +- fprintf (stream, _(" att-mnemonic\n" +- " Display instruction in AT&T mnemonic\n")); +- fprintf (stream, _(" intel-mnemonic\n" +- " Display instruction in Intel mnemonic\n")); ++ fprintf (stream, _(" att-mnemonic (AT&T syntax only)\n" ++ " Display instruction with AT&T mnemonic\n")); ++ fprintf (stream, _(" intel-mnemonic (AT&T syntax only)\n" ++ " Display instruction with Intel mnemonic\n")); + fprintf (stream, _(" addr64 Assume 64bit address size\n")); + fprintf (stream, _(" addr32 Assume 32bit address size\n")); + fprintf (stream, _(" addr16 Assume 16bit address size\n")); +@@ -9073,6 +8706,8 @@ static const struct dis386 bad_opcode = + /* Fetch error indicator. */ + static const struct dis386 err_opcode = { NULL, { XX }, 0 }; + ++static const struct dis386 map7_f8_opcode = { VEX_LEN_TABLE (VEX_LEN_MAP7_F8) }; ++ + /* Get a pointer to struct dis386 with a valid name. */ + + static const struct dis386 * +@@ -9168,6 +8803,17 @@ get_valid_dis386 (const struct dis386 *d + dp = &prefix_table[dp->op[1].bytemode][vindex]; + break; + ++ case USE_X86_64_EVEX_FROM_VEX_TABLE: ++ ins->evex_type = evex_from_vex; ++ /* EVEX from VEX instrucions require that EVEX.z, EVEX.L’L, EVEX.b and ++ the lower 2 bits of EVEX.aaa must be 0. */ ++ if ((ins->vex.mask_register_specifier & 0x3) != 0 ++ || ins->vex.ll != 0 ++ || ins->vex.zeroing != 0 ++ || ins->vex.b) ++ return &bad_opcode; ++ ++ /* Fall through. */ + case USE_X86_64_TABLE: + vindex = ins->address_mode == mode_64bit ? 1 : 0; + dp = &x86_64_table[dp->op[1].bytemode][vindex]; +@@ -9281,7 +8927,7 @@ get_valid_dis386 (const struct dis386 *d + ins->vex.prefix = REPNE_PREFIX_OPCODE; + break; + } +- ins->need_vex = true; ++ ins->need_vex = 3; + ins->codep++; + vindex = *ins->codep++; + dp = &xop_table[vex_table_index][vindex]; +@@ -9315,6 +8961,9 @@ get_valid_dis386 (const struct dis386 *d + case 0x3: + vex_table_index = VEX_0F3A; + break; ++ case 0x7: ++ vex_table_index = VEX_MAP7; ++ break; + } + ins->codep++; + ins->vex.w = *ins->codep & 0x80; +@@ -9346,10 +8995,15 @@ get_valid_dis386 (const struct dis386 *d + ins->vex.prefix = REPNE_PREFIX_OPCODE; + break; + } +- ins->need_vex = true; ++ ins->need_vex = 3; + ins->codep++; + vindex = *ins->codep++; +- dp = &vex_table[vex_table_index][vindex]; ++ if (vex_table_index != VEX_MAP7) ++ dp = &vex_table[vex_table_index][vindex]; ++ else if (vindex == 0xf8) ++ dp = &map7_f8_opcode; ++ else ++ dp = &bad_opcode; + ins->end_codep = ins->codep; + /* There is no MODRM byte for VEX0F 77. */ + if ((vex_table_index != VEX_0F || vindex != 0x77) +@@ -9381,10 +9035,10 @@ get_valid_dis386 (const struct dis386 *d + ins->vex.prefix = REPNE_PREFIX_OPCODE; + break; + } +- ins->need_vex = true; ++ ins->need_vex = 2; + ins->codep++; + vindex = *ins->codep++; +- dp = &vex_table[dp->op[1].bytemode][vindex]; ++ dp = &vex_table[VEX_0F][vindex]; + ins->end_codep = ins->codep; + /* There is no MODRM byte for VEX 77. */ + if (vindex != 0x77 && !fetch_modrm (ins)) +@@ -9405,9 +9059,13 @@ get_valid_dis386 (const struct dis386 *d + if (!fetch_code (ins->info, ins->codep + 4)) + return &err_opcode; + /* The first byte after 0x62. */ ++ if (*ins->codep & 0x8) ++ ins->rex2 |= REX_B; ++ if (!(*ins->codep & 0x10)) ++ ins->rex2 |= REX_R; ++ + ins->rex = ~(*ins->codep >> 5) & 0x7; +- ins->vex.r = *ins->codep & 0x10; +- switch ((*ins->codep & 0xf)) ++ switch (*ins->codep & 0x7) + { + default: + return &bad_opcode; +@@ -9420,6 +9078,12 @@ get_valid_dis386 (const struct dis386 *d + case 0x3: + vex_table_index = EVEX_0F3A; + break; ++ case 0x4: ++ vex_table_index = EVEX_MAP4; ++ ins->evex_type = evex_from_legacy; ++ if (ins->address_mode != mode_64bit) ++ return &bad_opcode; ++ break; + case 0x5: + vex_table_index = EVEX_MAP5; + break; +@@ -9436,9 +9100,8 @@ get_valid_dis386 (const struct dis386 *d + + ins->vex.register_specifier = (~(*ins->codep >> 3)) & 0xf; + +- /* The U bit. */ + if (!(*ins->codep & 0x4)) +- return &bad_opcode; ++ ins->rex2 |= REX_X; + + switch ((*ins->codep & 0x3)) + { +@@ -9468,12 +9131,32 @@ get_valid_dis386 (const struct dis386 *d + + if (ins->address_mode != mode_64bit) + { ++ /* Report bad for !evex_default and when two fixed values of evex ++ change.. */ ++ if (ins->evex_type != evex_default ++ || (ins->rex2 & (REX_B | REX_X))) ++ return &bad_opcode; + /* In 16/32-bit mode silently ignore following bits. */ + ins->rex &= ~REX_B; +- ins->vex.r = true; ++ ins->rex2 &= ~REX_R; + } + +- ins->need_vex = true; ++ /* EVEX from legacy instructions, when the EVEX.ND bit is 0, ++ all bits of EVEX.vvvv and EVEX.V' must be 1. */ ++ if (ins->evex_type == evex_from_legacy && !ins->vex.nd ++ && (ins->vex.register_specifier || !ins->vex.v)) ++ return &bad_opcode; ++ ++ ins->need_vex = 4; ++ ++ /* EVEX from legacy instructions require that EVEX.z, EVEX.L’L and the ++ lower 2 bits of EVEX.aaa must be 0. */ ++ if (ins->evex_type == evex_from_legacy ++ && ((ins->vex.mask_register_specifier & 0x3) != 0 ++ || ins->vex.ll != 0 ++ || ins->vex.zeroing != 0)) ++ return &bad_opcode; ++ + ins->codep++; + vindex = *ins->codep++; + dp = &evex_table[vex_table_index][vindex]; +@@ -9481,8 +9164,10 @@ get_valid_dis386 (const struct dis386 *d + if (!fetch_modrm (ins)) + return &err_opcode; + +- /* Set vector length. */ +- if (ins->modrm.mod == 3 && ins->vex.b) ++ /* Set vector length. For EVEX-promoted instructions, evex.ll == 0b00, ++ which has the same encoding as vex.length == 128 and they can share ++ the same processing with vex.length in OP_VEX. */ ++ if (ins->modrm.mod == 3 && ins->vex.b && ins->evex_type != evex_from_legacy) + ins->vex.length = 512; + else + { +@@ -9674,6 +9359,7 @@ print_insn (bfd_vma pc, disassemble_info + .last_data_prefix = -1, + .last_addr_prefix = -1, + .last_rex_prefix = -1, ++ .last_rex2_prefix = -1, + .last_seg_prefix = -1, + .fwait_prefix = -1, + }; +@@ -9713,9 +9399,10 @@ print_insn (bfd_vma pc, disassemble_info + } + else if (startswith (p, "intel")) + { +- ins.intel_syntax = 1; + if (startswith (p + 5, "-mnemonic")) + ins.intel_mnemonic = true; ++ else ++ ins.intel_syntax = 1; + } + else if (startswith (p, "att")) + { +@@ -9838,13 +9525,18 @@ print_insn (bfd_vma pc, disassemble_info + goto out; + } + +- if (*ins.codep == 0x0f) ++ /* REX2.M in rex2 prefix represents map0 or map1. */ ++ if (ins.last_rex2_prefix < 0 ? *ins.codep == 0x0f : (ins.rex2 & REX2_M)) + { + unsigned char threebyte; + +- ins.codep++; +- if (!fetch_code (info, ins.codep + 1)) +- goto fetch_error_out; ++ if (!ins.rex2) ++ { ++ ins.codep++; ++ if (!fetch_code (info, ins.codep + 1)) ++ goto fetch_error_out; ++ } ++ + threebyte = *ins.codep; + dp = &dis386_twobyte[threebyte]; + ins.need_modrm = twobyte_has_modrm[threebyte]; +@@ -9881,6 +9573,13 @@ print_insn (bfd_vma pc, disassemble_info + dp = get_valid_dis386 (dp, &ins); + if (dp == &err_opcode) + goto fetch_error_out; ++ ++ /* For APX instructions promoted from legacy maps 0/1, embedded prefix ++ is interpreted as the operand size override. */ ++ if (ins.evex_type == evex_from_legacy ++ && ins.vex.prefix == DATA_PREFIX_OPCODE) ++ sizeflag ^= DFLAG; ++ + if (dp != NULL && putop (&ins, dp->name, sizeflag) == 0) + { + if (!get_sib (&ins, sizeflag)) +@@ -9905,9 +9604,21 @@ print_insn (bfd_vma pc, disassemble_info + oappend (&ins, "{"); + oappend_register (&ins, reg_name); + oappend (&ins, "}"); ++ ++ if (ins.vex.zeroing) ++ oappend (&ins, "{z}"); ++ } ++ else if (ins.vex.zeroing) ++ { ++ oappend (&ins, "{bad}"); ++ continue; + } +- if (ins.vex.zeroing) +- oappend (&ins, "{z}"); ++ ++ /* Instructions with a mask register destination allow for ++ zeroing-masking only (if any masking at all), which is ++ _not_ expressed by EVEX.z. */ ++ if (ins.vex.zeroing && dp->op[0].bytemode == mask_mode) ++ ins.illegal_masking = true; + + /* S/G insns require a mask and don't allow + zeroing-masking. */ +@@ -9915,13 +9626,16 @@ print_insn (bfd_vma pc, disassemble_info + || dp->op[0].bytemode == vex_vsib_q_w_dq_mode) + && (ins.vex.mask_register_specifier == 0 + || ins.vex.zeroing)) ++ ins.illegal_masking = true; ++ ++ if (ins.illegal_masking) + oappend (&ins, "/(bad)"); + } + } + + /* Check whether rounding control was enabled for an insn not +- supporting it. */ +- if (ins.modrm.mod == 3 && ins.vex.b ++ supporting it, when evex.b is not treated as evex.nd. */ ++ if (ins.modrm.mod == 3 && ins.vex.b && ins.evex_type == evex_default + && !(ins.evex_used & EVEX_b_used)) + { + for (i = 0; i < MAX_OPERANDS; ++i) +@@ -9985,15 +9699,15 @@ print_insn (bfd_vma pc, disassemble_info + goto out; + } + +- /* If EVEX.z is set, there must be an actual mask register in use. */ +- if (ins.vex.zeroing && ins.vex.mask_register_specifier == 0) ++ if ((dp->prefix_requirement & PREFIX_REX2_ILLEGAL) ++ && ins.last_rex2_prefix >= 0 && (ins.rex2 & REX2_SPECIAL) == 0) + { + i386_dis_printf (info, dis_style_text, "(bad)"); + ret = ins.end_codep - priv.the_buffer; + goto out; + } + +- switch (dp->prefix_requirement) ++ switch (dp->prefix_requirement & ~PREFIX_REX2_ILLEGAL) + { + case PREFIX_DATA: + /* If only the data prefix is marked as mandatory, its absence renders +@@ -10045,6 +9759,25 @@ print_insn (bfd_vma pc, disassemble_info + if (ins.last_repnz_prefix >= 0) + ins.all_prefixes[ins.last_repnz_prefix] = 0xf2; + break; ++ ++ case PREFIX_NP_OR_DATA: ++ if (ins.vex.prefix == REPE_PREFIX_OPCODE ++ || ins.vex.prefix == REPNE_PREFIX_OPCODE) ++ { ++ i386_dis_printf (info, dis_style_text, "(bad)"); ++ ret = ins.end_codep - priv.the_buffer; ++ goto out; ++ } ++ break; ++ ++ case NO_PREFIX: ++ if (ins.vex.prefix) ++ { ++ i386_dis_printf (info, dis_style_text, "(bad)"); ++ ret = ins.end_codep - priv.the_buffer; ++ goto out; ++ } ++ break; + } + + /* Check if the REX prefix is used. */ +@@ -10052,6 +9785,14 @@ print_insn (bfd_vma pc, disassemble_info + && !ins.need_vex && ins.last_rex_prefix >= 0) + ins.all_prefixes[ins.last_rex_prefix] = 0; + ++ /* Check if the REX2 prefix is used. */ ++ if (ins.last_rex2_prefix >= 0 ++ && ((ins.rex2 & REX2_SPECIAL) ++ || (((ins.rex2 & 7) ^ (ins.rex2_used & 7)) == 0 ++ && (ins.rex ^ ins.rex_used) == 0 ++ && (ins.rex2 & 7)))) ++ ins.all_prefixes[ins.last_rex2_prefix] = 0; ++ + /* Check if the SEG prefix is used. */ + if ((ins.prefixes & (PREFIX_CS | PREFIX_SS | PREFIX_DS | PREFIX_ES + | PREFIX_FS | PREFIX_GS)) != 0 +@@ -10080,7 +9821,11 @@ print_insn (bfd_vma pc, disassemble_info + if (name == NULL) + abort (); + prefix_length += strlen (name) + 1; +- i386_dis_printf (info, dis_style_mnemonic, "%s ", name); ++ if (ins.all_prefixes[i] == REX2_OPCODE) ++ i386_dis_printf (info, dis_style_mnemonic, "{%s 0x%x} ", name, ++ (unsigned int) ins.rex2_payload); ++ else ++ i386_dis_printf (info, dis_style_mnemonic, "%s ", name); + } + + /* Check maximum code length. */ +@@ -10540,16 +10285,6 @@ swap_operand (instr_info *ins) + } + + static bool +-OP_Skip_MODRM (instr_info *ins, int bytemode ATTRIBUTE_UNUSED, +- int sizeflag ATTRIBUTE_UNUSED) +-{ +- /* Skip mod/rm byte. */ +- MODRM_CHECK; +- ins->codep++; +- return true; +-} +- +-static bool + dofloat (instr_info *ins, int sizeflag) + { + const struct dis386 *dp; +@@ -10753,7 +10488,7 @@ putop (instr_info *ins, const char *in_t + { + case 'X': + if (!ins->vex.evex || ins->vex.b || ins->vex.ll >= 2 +- || !ins->vex.r ++ || (ins->rex2 & 7) + || (ins->modrm.mod == 3 && (ins->rex & REX_X)) + || !ins->vex.v || ins->vex.mask_register_specifier) + break; +@@ -10794,16 +10529,23 @@ putop (instr_info *ins, const char *in_t + ins->used_prefixes |= (ins->prefixes & PREFIX_ADDR); + break; + case 'F': +- if (ins->intel_syntax) +- break; +- if ((ins->prefixes & PREFIX_ADDR) || (sizeflag & SUFFIX_ALWAYS)) ++ if (l == 0) + { +- if (sizeflag & AFLAG) +- *ins->obufp++ = ins->address_mode == mode_64bit ? 'q' : 'l'; +- else +- *ins->obufp++ = ins->address_mode == mode_64bit ? 'l' : 'w'; +- ins->used_prefixes |= (ins->prefixes & PREFIX_ADDR); ++ if (ins->intel_syntax) ++ break; ++ if ((ins->prefixes & PREFIX_ADDR) || (sizeflag & SUFFIX_ALWAYS)) ++ { ++ if (sizeflag & AFLAG) ++ *ins->obufp++ = ins->address_mode == mode_64bit ? 'q' : 'l'; ++ else ++ *ins->obufp++ = ins->address_mode == mode_64bit ? 'l' : 'w'; ++ ins->used_prefixes |= (ins->prefixes & PREFIX_ADDR); ++ } + } ++ else if (l == 1 && last[0] == 'C') ++ break; ++ else ++ abort (); + break; + case 'G': + if (ins->intel_syntax || (ins->obufp[-1] != 's' +@@ -10860,7 +10602,16 @@ putop (instr_info *ins, const char *in_t + *ins->obufp++ = 'd'; + break; + case 'L': +- abort (); ++ if (ins->intel_syntax) ++ break; ++ if (sizeflag & SUFFIX_ALWAYS) ++ { ++ if (ins->rex & REX_W) ++ *ins->obufp++ = 'q'; ++ else ++ *ins->obufp++ = 'l'; ++ } ++ break; + case 'M': + if (ins->intel_mnemonic != cond) + *ins->obufp++ = 'r'; +@@ -10895,6 +10646,19 @@ putop (instr_info *ins, const char *in_t + case 'P': + if (l == 0) + { ++ if (!cond && ins->last_rex2_prefix >= 0 && (ins->rex & REX_W)) ++ { ++ /* For pushp and popp, p is printed and do not print {rex2} ++ for them. */ ++ *ins->obufp++ = 'p'; ++ ins->rex2 |= REX2_SPECIAL; ++ break; ++ } ++ ++ /* For "!P" print nothing else in Intel syntax. */ ++ if (!cond && ins->intel_syntax) ++ break; ++ + if ((ins->modrm.mod == 3 || !cond) + && !(sizeflag & SUFFIX_ALWAYS)) + break; +@@ -11039,7 +10803,10 @@ putop (instr_info *ins, const char *in_t + break; + case 'V': + if (l == 0) +- abort (); ++ { ++ if (ins->need_vex) ++ *ins->obufp++ = 'v'; ++ } + else if (l == 1) + { + switch (last[0]) +@@ -11116,10 +10883,15 @@ putop (instr_info *ins, const char *in_t + *ins->obufp++ = 's'; + break; + case 'Y': +- if (l == 1 && last[0] == 'X') ++ if (l == 0) ++ { ++ if (ins->vex.mask_register_specifier) ++ ins->illegal_masking = true; ++ } ++ else if (l == 1 && last[0] == 'X') + { + if (!ins->need_vex) +- abort (); ++ break; + if (ins->intel_syntax + || ((ins->modrm.mod == 3 || ins->vex.b) + && !(sizeflag & SUFFIX_ALWAYS))) +@@ -11296,14 +11068,6 @@ append_seg (instr_info *ins) + oappend_char (ins, ':'); + } + +-static bool +-OP_indirE (instr_info *ins, int bytemode, int sizeflag) +-{ +- if (!ins->intel_syntax) +- oappend (ins, "*"); +- return OP_E (ins, bytemode, sizeflag); +-} +- + static void + print_operand_value (instr_info *ins, bfd_vma disp, + enum disassembler_style style) +@@ -11367,7 +11131,8 @@ print_displacement (instr_info *ins, bfd + static void + intel_operand_size (instr_info *ins, int bytemode, int sizeflag) + { +- if (ins->vex.b) ++ /* Check if there is a broadcast, when evex.b is not treated as evex.nd. */ ++ if (ins->vex.b && ins->evex_type == evex_default) + { + if (!ins->vex.no_broadcast) + switch (bytemode) +@@ -11514,11 +11279,9 @@ intel_operand_size (instr_info *ins, int + case xmmq_mode: + case evex_half_bcst_xmmqh_mode: + case evex_half_bcst_xmmq_mode: +- if (!ins->need_vex) +- abort (); +- + switch (ins->vex.length) + { ++ case 0: + case 128: + oappend (ins, "QWORD PTR "); + break; +@@ -11631,9 +11394,16 @@ print_register (instr_info *ins, unsigne + { + const char (*names)[8]; + ++ /* Masking is invalid for insns with GPR destination. Set the flag uniformly, ++ as the consumer will inspect it only for the destination operand. */ ++ if (bytemode != mask_mode && ins->vex.mask_register_specifier) ++ ins->illegal_masking = true; ++ + USED_REX (rexmask); + if (ins->rex & rexmask) + reg += 8; ++ if (ins->rex2 & rexmask) ++ reg += 16; + + switch (bytemode) + { +@@ -11641,7 +11411,7 @@ print_register (instr_info *ins, unsigne + case b_swap_mode: + if (reg & 4) + USED_REX (0); +- if (ins->rex) ++ if (ins->rex || ins->rex2) + names = att_names8rex; + else + names = att_names8; +@@ -11831,20 +11601,44 @@ BadOp (instr_info *ins) + /* Throw away prefixes and 1st. opcode byte. */ + struct dis_private *priv = ins->info->private_data; + +- ins->codep = priv->the_buffer + ins->nr_prefixes + 1; ++ ins->codep = priv->the_buffer + ins->nr_prefixes + ins->need_vex + 1; + ins->obufp = stpcpy (ins->obufp, "(bad)"); + return true; + } + + static bool ++OP_Skip_MODRM (instr_info *ins, int bytemode ATTRIBUTE_UNUSED, ++ int sizeflag ATTRIBUTE_UNUSED) ++{ ++ if (ins->modrm.mod != 3) ++ return BadOp (ins); ++ ++ /* Skip mod/rm byte. */ ++ MODRM_CHECK; ++ ins->codep++; ++ ins->has_skipped_modrm = true; ++ return true; ++} ++ ++static bool + OP_E_memory (instr_info *ins, int bytemode, int sizeflag) + { + int add = (ins->rex & REX_B) ? 8 : 0; + int riprel = 0; + int shift; + +- if (ins->vex.evex) ++ add += (ins->rex2 & REX_B) ? 16 : 0; ++ ++ /* Handles EVEX other than APX EVEX-promoted instructions. */ ++ if (ins->vex.evex && ins->evex_type == evex_default) + { ++ ++ /* Zeroing-masking is invalid for memory destinations. Set the flag ++ uniformly, as the consumer will inspect it only for the destination ++ operand. */ ++ if (ins->vex.zeroing) ++ ins->illegal_masking = true; ++ + switch (bytemode) + { + case dw_mode: +@@ -11980,6 +11774,13 @@ OP_E_memory (instr_info *ins, int bytemo + abort (); + if (ins->vex.evex) + { ++ /* S/G EVEX insns require EVEX.X4 not to be set. */ ++ if (ins->rex2 & REX_X) ++ { ++ oappend (ins, "(bad)"); ++ return true; ++ } ++ + if (!ins->vex.v) + vindex += 16; + check_gather = ins->obufp == ins->op_out[1]; +@@ -12009,6 +11810,9 @@ OP_E_memory (instr_info *ins, int bytemo + } + break; + default: ++ if (ins->rex2 & REX_X) ++ vindex += 16; ++ + if (vindex != 4) + indexes = ins->address_mode == mode_64bit && !addr32flag + ? att_names64 : att_names32; +@@ -12179,7 +11983,7 @@ OP_E_memory (instr_info *ins, int bytemo + + if (ins->rex & REX_R) + modrm_reg += 8; +- if (!ins->vex.r) ++ if (ins->rex2 & REX_R) + modrm_reg += 16; + if (vindex == modrm_reg) + oappend (ins, "/(bad)"); +@@ -12261,7 +12065,7 @@ OP_E_memory (instr_info *ins, int bytemo + print_operand_value (ins, disp & 0xffff, dis_style_text); + } + } +- if (ins->vex.b) ++ if (ins->vex.b && ins->evex_type == evex_default) + { + ins->evex_used |= EVEX_b_used; + +@@ -12344,7 +12148,11 @@ OP_E (instr_info *ins, int bytemode, int + { + /* Skip mod/rm byte. */ + MODRM_CHECK; +- ins->codep++; ++ if (!ins->has_skipped_modrm) ++ { ++ ins->codep++; ++ ins->has_skipped_modrm = true; ++ } + + if (ins->modrm.mod == 3) + { +@@ -12358,16 +12166,30 @@ OP_E (instr_info *ins, int bytemode, int + return true; + } + ++ /* Masking is invalid for insns with GPR-like memory destination. Set the ++ flag uniformly, as the consumer will inspect it only for the destination ++ operand. */ ++ if (ins->vex.mask_register_specifier) ++ ins->illegal_masking = true; ++ + return OP_E_memory (ins, bytemode, sizeflag); + } + + static bool ++OP_indirE (instr_info *ins, int bytemode, int sizeflag) ++{ ++ if (ins->modrm.mod == 3 && bytemode == f_mode) ++ /* bad lcall/ljmp */ ++ return BadOp (ins); ++ if (!ins->intel_syntax) ++ oappend (ins, "*"); ++ return OP_E (ins, bytemode, sizeflag); ++} ++ ++static bool + OP_G (instr_info *ins, int bytemode, int sizeflag) + { +- if (ins->vex.evex && !ins->vex.r && ins->address_mode == mode_64bit) +- oappend (ins, "(bad)"); +- else +- print_register (ins, ins->modrm.reg, REX_R, bytemode, sizeflag); ++ print_register (ins, ins->modrm.reg, REX_R, bytemode, sizeflag); + return true; + } + +@@ -12375,7 +12197,7 @@ static bool + OP_REG (instr_info *ins, int code, int sizeflag) + { + const char *s; +- int add; ++ int add = 0; + + switch (code) + { +@@ -12388,8 +12210,8 @@ OP_REG (instr_info *ins, int code, int s + USED_REX (REX_B); + if (ins->rex & REX_B) + add = 8; +- else +- add = 0; ++ if (ins->rex2 & REX_B) ++ add += 16; + + switch (code) + { +@@ -12520,6 +12342,8 @@ OP_I (instr_info *ins, int bytemode, int + case const_1_mode: + if (ins->intel_syntax) + oappend (ins, "1"); ++ else ++ oappend (ins, "$1"); + return true; + default: + oappend (ins, INTERNAL_DISASSEMBLER_ERROR); +@@ -12921,6 +12745,7 @@ print_vector_reg (instr_info *ins, unsig + { + switch (ins->vex.length) + { ++ case 0: + case 128: + case 256: + names = att_names_xmm; +@@ -12995,7 +12820,7 @@ OP_XMM (instr_info *ins, int bytemode, i + reg += 8; + if (ins->vex.evex) + { +- if (!ins->vex.r) ++ if (ins->rex2 & REX_R) + reg += 16; + } + +@@ -13100,6 +12925,8 @@ OP_EX (instr_info *ins, int bytemode, in + USED_REX (REX_B); + if (ins->rex & REX_B) + reg += 8; ++ if (ins->rex2 & REX_B) ++ reg += 16; + if (ins->vex.evex) + { + USED_REX (REX_X); +@@ -13122,28 +12949,44 @@ OP_EX (instr_info *ins, int bytemode, in + } + + static bool +-OP_MS (instr_info *ins, int bytemode, int sizeflag) ++OP_R (instr_info *ins, int bytemode, int sizeflag) + { +- if (ins->modrm.mod == 3) +- return OP_EM (ins, bytemode, sizeflag); +- return BadOp (ins); +-} ++ if (ins->modrm.mod != 3) ++ return BadOp (ins); + +-static bool +-OP_XS (instr_info *ins, int bytemode, int sizeflag) +-{ +- if (ins->modrm.mod == 3) +- return OP_EX (ins, bytemode, sizeflag); +- return BadOp (ins); ++ switch (bytemode) ++ { ++ case d_mode: ++ case dq_mode: ++ case q_mode: ++ case mask_mode: ++ return OP_E (ins, bytemode, sizeflag); ++ case q_mm_mode: ++ return OP_EM (ins, x_mode, sizeflag); ++ case xmm_mode: ++ if (ins->vex.length <= 128) ++ break; ++ return BadOp (ins); ++ } ++ ++ return OP_EX (ins, bytemode, sizeflag); + } + + static bool + OP_M (instr_info *ins, int bytemode, int sizeflag) + { ++ /* Skip mod/rm byte. */ ++ MODRM_CHECK; ++ ins->codep++; ++ + if (ins->modrm.mod == 3) + /* bad bound,lea,lds,les,lfs,lgs,lss,cmpxchg8b,vmptrst modrm */ + return BadOp (ins); +- return OP_E (ins, bytemode, sizeflag); ++ ++ if (bytemode == x_mode) ++ ins->vex.no_broadcast = true; ++ ++ return OP_E_memory (ins, bytemode, sizeflag); + } + + static bool +@@ -13586,7 +13429,14 @@ OP_VEX (instr_info *ins, int bytemode, i + const char (*names)[8]; + + if (!ins->need_vex) +- abort (); ++ return true; ++ ++ if (ins->evex_type == evex_from_legacy) ++ { ++ ins->evex_used |= EVEX_b_used; ++ if (!ins->vex.nd) ++ return true; ++ } + + reg = ins->vex.register_specifier; + ins->vex.register_specifier = 0; +@@ -13679,12 +13529,22 @@ OP_VEX (instr_info *ins, int bytemode, i + names = att_names_xmm; + ins->evex_used |= EVEX_len_used; + break; ++ case v_mode: + case dq_mode: + if (ins->rex & REX_W) + names = att_names64; ++ else if (bytemode == v_mode ++ && !(sizeflag & DFLAG)) ++ names = att_names16; + else + names = att_names32; + break; ++ case b_mode: ++ names = att_names8rex; ++ break; ++ case q_mode: ++ names = att_names64; ++ break; + case mask_bd_mode: + case mask_mode: + if (reg > 0x7) +@@ -13984,7 +13844,7 @@ DistinctDest_Fixup (instr_info *ins, int + /* Calc destination register number. */ + if (ins->rex & REX_R) + modrm_reg += 8; +- if (!ins->vex.r) ++ if (ins->rex2 & REX_R) + modrm_reg += 16; + + /* Calc src1 register number. */ +@@ -14069,3 +13929,58 @@ PREFETCHI_Fixup (instr_info *ins, int by + + return OP_M (ins, bytemode, sizeflag); + } ++ ++static bool ++PUSH2_POP2_Fixup (instr_info *ins, int bytemode, int sizeflag) ++{ ++ if (ins->modrm.mod != 3) ++ return true; ++ ++ unsigned int vvvv_reg = ins->vex.register_specifier ++ | (!ins->vex.v << 4); ++ unsigned int rm_reg = ins->modrm.rm + (ins->rex & REX_B ? 8 : 0) ++ + (ins->rex2 & REX_B ? 16 : 0); ++ ++ /* Push2/Pop2 cannot use RSP and Pop2 cannot pop two same registers. */ ++ if (!ins->vex.nd || vvvv_reg == 0x4 || rm_reg == 0x4 ++ || (!ins->modrm.reg ++ && vvvv_reg == rm_reg)) ++ { ++ oappend (ins, "(bad)"); ++ return true; ++ } ++ ++ return OP_VEX (ins, bytemode, sizeflag); ++} ++ ++static bool ++JMPABS_Fixup (instr_info *ins, int bytemode, int sizeflag) ++{ ++ if (ins->last_rex2_prefix >= 0) ++ { ++ uint64_t op; ++ ++ if ((ins->prefixes & (PREFIX_OPCODE | PREFIX_ADDR | PREFIX_LOCK)) != 0x0 ++ || (ins->rex & REX_W) != 0x0) ++ { ++ oappend (ins, "(bad)"); ++ return true; ++ } ++ ++ if (bytemode == eAX_reg) ++ return true; ++ ++ if (!get64 (ins, &op)) ++ return false; ++ ++ ins->mnemonicendp = stpcpy (ins->obuf, "jmpabs"); ++ ins->rex2 |= REX2_SPECIAL; ++ oappend_immediate (ins, op); ++ ++ return true; ++ } ++ ++ if (bytemode == eAX_reg) ++ return OP_IMREG (ins, bytemode, sizeflag); ++ return OP_OFF64 (ins, bytemode, sizeflag); ++} +diff -rupN binutils.orig/opcodes/i386-gen.c binutils-2.41/opcodes/i386-gen.c +--- binutils.orig/opcodes/i386-gen.c 2024-01-18 12:12:24.644946663 +0000 ++++ binutils-2.41/opcodes/i386-gen.c 2024-01-18 12:13:13.517911158 +0000 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 2007-2023 Free Software Foundation, Inc. ++/* Copyright (C) 2007-2024 Free Software Foundation, Inc. + + This file is part of the GNU opcodes library. + +@@ -63,7 +63,7 @@ static const dependency isa_dependencies + { "NOCONA", + "GENERIC64|FISTTP|SSE3|MONITOR|CX16" }, + { "CORE", +- "P4|FISTTP|SSE3|MONITOR|CX16" }, ++ "P4|FISTTP|SSE3|MONITOR" }, + { "CORE2", + "NOCONA|SSSE3" }, + { "COREI7", +@@ -94,6 +94,8 @@ static const dependency isa_dependencies + "ZNVER2|INVLPGB|TLBSYNC|VAES|VPCLMULQDQ|INVPCID|SNP|OSPKE" }, + { "ZNVER4", + "ZNVER3|AVX512F|AVX512DQ|AVX512IFMA|AVX512CD|AVX512BW|AVX512VL|AVX512_BF16|AVX512VBMI|AVX512_VBMI2|AVX512_VNNI|AVX512_BITALG|AVX512_VPOPCNTDQ|GFNI|RMPQUERY" }, ++ { "ZNVER5", ++ "ZNVER4|AVX_VNNI|MOVDIRI|MOVDIR64B|AVX512_VP2INTERSECT|PREFETCHI" }, + { "BTVER1", + "GENERIC64|FISTTP|MONITOR|CX16|LAHF_SAHF|Rdtscp|SSSE3|SSE4A|ABM|PRFCHW|Clflush|FISTTP|SVME" }, + { "BTVER2", +@@ -162,8 +164,14 @@ static const dependency isa_dependencies + "AVX2" }, + { "AVX_VNNI_INT8", + "AVX2" }, ++ { "AVX_VNNI_INT16", ++ "AVX2" }, + { "AVX_NE_CONVERT", + "AVX2" }, ++ { "CX16", ++ "64" }, ++ { "LKGS", ++ "64" }, + { "FRED", + "LKGS" }, + { "AVX512F", +@@ -212,6 +220,12 @@ static const dependency isa_dependencies + "XSAVE" }, + { "SHA", + "SSE2" }, ++ { "SHA512", ++ "AVX2" }, ++ { "SM3", ++ "AVX" }, ++ { "SM4", ++ "AVX2" }, + { "XSAVES", + "XSAVEC" }, + { "XSAVEC", +@@ -232,13 +246,13 @@ static const dependency isa_dependencies + { "SNP", + "SEV_ES" }, + { "RMPQUERY", +- "SNP" }, ++ "SNP|64" }, + { "TSX", + "RTM|HLE" }, + { "TSXLDTRK", + "RTM" }, + { "AMX_TILE", +- "XSAVE" }, ++ "XSAVE|64" }, + { "AMX_INT8", + "AMX_TILE" }, + { "AMX_BF16", +@@ -251,10 +265,24 @@ static const dependency isa_dependencies + "SSE2" }, + { "WIDEKL", + "KL" }, ++ { "PBNDKB", ++ "64" }, ++ { "UINTR", ++ "64" }, ++ { "PREFETCHI", ++ "64" }, ++ { "CMPCCXADD", ++ "64" }, ++ { "MSRLIST", ++ "64" }, ++ { "USER_MSR", ++ "64" }, ++ { "APX_F", ++ "XSAVE|64" }, + }; + + /* This array is populated as process_i386_initializers() walks cpu_flags[]. */ +-static unsigned char isa_reverse_deps[Cpu64][Cpu64]; ++static unsigned char isa_reverse_deps[CpuMax][CpuMax]; + + typedef struct bitfield + { +@@ -317,7 +345,6 @@ static bitfield cpu_flags[] = + BITFIELD (LWP), + BITFIELD (BMI), + BITFIELD (TBM), +- BITFIELD (LM), + BITFIELD (Movbe), + BITFIELD (CX16), + BITFIELD (LAHF_SAHF), +@@ -339,6 +366,9 @@ static bitfield cpu_flags[] = + BITFIELD (PRFCHW), + BITFIELD (SMAP), + BITFIELD (SHA), ++ BITFIELD (SHA512), ++ BITFIELD (SM3), ++ BITFIELD (SM4), + BITFIELD (ClflushOpt), + BITFIELD (XSAVES), + BITFIELD (XSAVEC), +@@ -362,6 +392,7 @@ static bitfield cpu_flags[] = + BITFIELD (PREFETCHI), + BITFIELD (AVX_IFMA), + BITFIELD (AVX_VNNI_INT8), ++ BITFIELD (AVX_VNNI_INT16), + BITFIELD (CMPCCXADD), + BITFIELD (WRMSRNS), + BITFIELD (MSRLIST), +@@ -369,6 +400,8 @@ static bitfield cpu_flags[] = + BITFIELD (RAO_INT), + BITFIELD (FRED), + BITFIELD (LKGS), ++ BITFIELD (USER_MSR), ++ BITFIELD (APX_F), + BITFIELD (MWAITX), + BITFIELD (CLZERO), + BITFIELD (OSPKE), +@@ -381,6 +414,7 @@ static bitfield cpu_flags[] = + BITFIELD (VPCLMULQDQ), + BITFIELD (WBNOINVD), + BITFIELD (PCONFIG), ++ BITFIELD (PBNDKB), + BITFIELD (WAITPKG), + BITFIELD (UINTR), + BITFIELD (CLDEMOTE), +@@ -451,12 +485,12 @@ static bitfield opcode_modifiers[] = + BITFIELD (StaticRounding), + BITFIELD (SAE), + BITFIELD (Disp8MemShift), +- BITFIELD (Vsz), + BITFIELD (Optimize), +- BITFIELD (ATTMnemonic), +- BITFIELD (ATTSyntax), +- BITFIELD (IntelSyntax), ++ BITFIELD (Dialect), + BITFIELD (ISA64), ++ BITFIELD (NoEgpr), ++ BITFIELD (NF), ++ BITFIELD (Rex2), + }; + + #define CLASS(n) #n, n +@@ -575,7 +609,7 @@ static void + process_copyright (FILE *fp) + { + fprintf (fp, "/* This file is automatically generated by i386-gen. Do not edit! */\n\ +-/* Copyright (C) 2007-2023 Free Software Foundation, Inc.\n\ ++/* Copyright (C) 2007-2024 Free Software Foundation, Inc.\n\ + \n\ + This file is part of the GNU opcodes library.\n\ + \n\ +@@ -713,7 +747,10 @@ add_isa_dependencies (bitfield *flags, c + *strchr (str, ':') = '\0'; + isa = str; + } +- for (i = 0; i < Cpu64; ++i) ++ /* isa_dependencies[] prefers "LM" over "64". */ ++ else if (!strcmp (f, "LM")) ++ isa = "64"; ++ for (i = 0; i < CpuMax; ++i) + if (strcasecmp (flags[i].name, isa) == 0) + { + flags[i].value = value; +@@ -756,8 +793,10 @@ add_isa_dependencies (bitfield *flags, c + } + free (deps); + +- /* ISA extensions with dependencies need CPU_ANY_*_FLAGS emitted. */ +- if (reverse < ARRAY_SIZE (isa_reverse_deps[0])) ++ /* ISA extensions with dependencies need CPU_ANY_*_FLAGS emitted, ++ unless the sole dependency is the "64-bit mode only" one. */ ++ if (reverse < ARRAY_SIZE (isa_reverse_deps[0]) ++ && strcmp (isa_dependencies[i].deps, "64")) + isa_reverse_deps[reverse][reverse] = 1; + + is_avx = orig_is_avx; +@@ -772,33 +811,64 @@ add_isa_dependencies (bitfield *flags, c + + static void + output_cpu_flags (FILE *table, bitfield *flags, unsigned int size, +- int macro, const char *comma, const char *indent) ++ int mode, const char *comma, const char *indent, int lineno) + { +- unsigned int i; ++ unsigned int i = 0, j = 0; + +- memset (&active_cpu_flags, 0, sizeof(active_cpu_flags)); ++ if (mode < 0) ++ memset (&active_cpu_flags, 0, sizeof(active_cpu_flags)); + + fprintf (table, "%s{ { ", indent); + +- for (i = 0; i < size - 1; i++) ++ if (mode <= 0) + { +- if (((i + 1) % 20) != 0) ++ for (j = ~0u; i < CpuAttrEnums; i++) ++ { ++ if (!flags[i].value) ++ continue; ++ ++ if (j < ~0u) ++ fail ("%s: %d: invalid combination of CPU identifiers\n", ++ filename, lineno); ++ j = i; ++ if (mode) ++ active_cpu_flags.array[i / 32] |= 1U << (i % 32); ++ } ++ ++ /* Write 0 to indicate "no associated flag". */ ++ fprintf (table, "%u, ", j + 1); ++ ++ j = 1; ++ } ++ ++ for (; i < size - 1; i++, j++) ++ { ++ if (((j + 1) % 20) != 0) + fprintf (table, "%d, ", flags[i].value); + else + fprintf (table, "%d,", flags[i].value); +- if (((i + 1) % 20) == 0) ++ if (((j + 1) % 20) == 0) + { + /* We need \\ for macro. */ +- if (macro) ++ if (mode > 0) + fprintf (table, " \\\n %s", indent); + else + fprintf (table, "\n %s", indent); + } +- if (flags[i].value) ++ if (mode < 0 && flags[i].value) + active_cpu_flags.array[i / 32] |= 1U << (i % 32); + } + +- fprintf (table, "%d } }%s\n", flags[i].value, comma); ++#if defined(CpuAttrUnused) != defined(CpuUnused) ++ if (mode <= 0) ++# ifdef CpuUnused ++ fprintf (table, " } }%s\n", comma); ++# else ++ fprintf (table, "%d, 0 } }%s\n", flags[i].value, comma); ++# endif ++ else ++#endif ++ fprintf (table, "%d } }%s\n", flags[i].value, comma); + } + + static void +@@ -811,15 +881,17 @@ process_i386_cpu_flag (FILE *table, char + unsigned int i; + int value = 1; + bool is_isa = false; +- bitfield flags [ARRAY_SIZE (cpu_flags)]; ++ bitfield all [ARRAY_SIZE (cpu_flags)]; ++ bitfield any [ARRAY_SIZE (cpu_flags)]; + + /* Copy the default cpu flags. */ +- memcpy (flags, cpu_flags, sizeof (cpu_flags)); ++ memcpy (all, cpu_flags, sizeof (cpu_flags)); ++ memcpy (any, cpu_flags, sizeof (cpu_flags)); + + if (flag == NULL) + { + for (i = 0; i < ARRAY_SIZE (isa_reverse_deps[0]); ++i) +- flags[i].value = isa_reverse_deps[reverse][i]; ++ any[i].value = isa_reverse_deps[reverse][i]; + goto output; + } + +@@ -839,11 +911,11 @@ process_i386_cpu_flag (FILE *table, char + else + next = flag + 1; + +- /* First we turn on everything except for cpu64, cpuno64, and - if ++ /* First we turn on everything except for cpuno64 and - if + present - the padding field. */ +- for (i = 0; i < ARRAY_SIZE (flags); i++) +- if (flags[i].position < Cpu64) +- flags[i].value = 1; ++ for (i = 0; i < ARRAY_SIZE (any); i++) ++ if (any[i].position < CpuNo64) ++ any[i].value = 1; + + /* Turn off selective bits. */ + value = 0; +@@ -851,10 +923,10 @@ process_i386_cpu_flag (FILE *table, char + + if (name != NULL && value != 0) + { +- for (i = 0; i < ARRAY_SIZE (flags); i++) +- if (strcasecmp (flags[i].name, name) == 0) ++ for (i = 0; i < ARRAY_SIZE (any); i++) ++ if (strcasecmp (any[i].name, name) == 0) + { +- add_isa_dependencies (flags, name, 1, reverse); ++ add_isa_dependencies (any, name, 1, reverse); + is_isa = true; + break; + } +@@ -862,18 +934,40 @@ process_i386_cpu_flag (FILE *table, char + + if (strcmp (flag, "0")) + { ++ bool combined = false; ++ + if (is_isa) + return; + + /* Turn on/off selective bits. */ + last = flag + strlen (flag); ++ if (name == NULL && strchr (flag, '&')) ++ { ++ for (; next < last && *next != '('; ) ++ { ++ str = next_field (next, '&', &next, last); ++ set_bitfield (str, all, value, ARRAY_SIZE (all), lineno); ++ } ++ if (*next == '(') ++ { ++ if (*--last != ')') ++ fail ("%s: %d: missing `)' in bitfield: %s\n", filename, ++ lineno, flag); ++ ++next; ++ *last = '\0'; ++ } ++ combined = true; ++ } + for (; next && next < last; ) + { + str = next_field (next, '|', &next, last); +- if (name == NULL) +- set_bitfield (str, flags, value, ARRAY_SIZE (flags), lineno); +- else +- add_isa_dependencies (flags, str, value, reverse); ++ if (name) ++ add_isa_dependencies (any, str, value, reverse); ++ else if (combined || next < last) ++ set_bitfield (str, any, value, ARRAY_SIZE (any), lineno); ++ else /* Singular specifiers go into "all". */ ++ set_bitfield (str, all, value, ARRAY_SIZE (all), lineno); ++ combined = true; + } + } + +@@ -883,6 +977,15 @@ process_i386_cpu_flag (FILE *table, char + size_t len = strlen (name); + char *upper = xmalloc (len + 1); + ++ /* Cpu64 is special: It specifies a mode dependency, not an ISA one. Zap ++ the flag from ISA initializer macros (and from CPU_ANY_64_FLAGS ++ itself we only care about tracking its dependents. Also don't emit the ++ (otherwise all zero) CPU_64_FLAGS. */ ++ if (flag != NULL && reverse == Cpu64) ++ return; ++ if (is_isa || flag == NULL) ++ any[Cpu64].value = 0; ++ + for (i = 0; i < len; ++i) + { + /* Don't emit #define-s for auxiliary entries. */ +@@ -895,9 +998,19 @@ process_i386_cpu_flag (FILE *table, char + flag != NULL ? "": "ANY_", upper); + free (upper); + } ++ else ++ { ++ /* Synthesize "64-bit mode only" dependencies from the dependencies we ++ have accumulated. */ ++ for (i = 0; i < ARRAY_SIZE (isa_reverse_deps[0]); ++i) ++ if (all[i].value && isa_reverse_deps[Cpu64][i]) ++ all[Cpu64].value = 1; ++ ++ output_cpu_flags(table, all, ARRAY_SIZE (all), -1, comma, indent, lineno); ++ } + +- output_cpu_flags (table, flags, ARRAY_SIZE (flags), name != NULL, +- comma, indent); ++ output_cpu_flags (table, any, ARRAY_SIZE (any), name != NULL, ++ comma, indent, lineno); + } + + static void +@@ -973,10 +1086,44 @@ get_element_size (char **opnd, int linen + return elem_size; + } + ++static bool ++rex2_disallowed (const unsigned long long opcode, unsigned int length, ++ unsigned int space, const char *cpu_flags) ++{ ++ /* Some opcodes encode a ModR/M-like byte directly in the opcode. */ ++ unsigned int base_opcode = opcode >> (8 * length - 8); ++ ++ /* All opcodes listed map0 0x4*, 0x7*, 0xa*, 0xe* and map1 0x3*, 0x8* ++ are reserved under REX2 and triggers #UD when prefixed with REX2 */ ++ if (space == 0) ++ switch (base_opcode >> 4) ++ { ++ case 0x4: ++ case 0x7: ++ case 0xA: ++ case 0xE: ++ return true; ++ default: ++ return false; ++ } ++ ++ if (space == SPACE_0F) ++ switch (base_opcode >> 4) ++ { ++ case 0x3: ++ case 0x8: ++ return true; ++ default: ++ return false; ++ } ++ ++ return false; ++} ++ + static void + process_i386_opcode_modifier (FILE *table, char *mod, unsigned int space, + unsigned int prefix, const char *extension_opcode, +- char **opnd, int lineno) ++ char **opnd, int lineno, bool rex2_disallowed) + { + char *str, *next, *last; + bitfield modifiers [ARRAY_SIZE (opcode_modifiers)]; +@@ -986,8 +1133,10 @@ process_i386_opcode_modifier (FILE *tabl + SPACE(0F), + SPACE(0F38), + SPACE(0F3A), ++ SPACE(EVEXMAP4), + SPACE(EVEXMAP5), + SPACE(EVEXMAP6), ++ SPACE(VEXMAP7), + SPACE(XOP08), + SPACE(XOP09), + SPACE(XOP0A), +@@ -1092,6 +1241,22 @@ process_i386_opcode_modifier (FILE *tabl + fprintf (table, " SPACE_%s, %s,\n", + spaces[space], extension_opcode ? extension_opcode : "None"); + ++ /* Rather than evaluating multiple conditions at runtime to determine ++ whether an EVEX encoding is being dealt with, derive that information ++ right here. A missing EVex attribute means "dynamic". */ ++ if (!modifiers[EVex].value ++ && (modifiers[Disp8MemShift].value ++ || modifiers[Broadcast].value ++ || modifiers[Masking].value ++ || modifiers[SAE].value)) ++ modifiers[EVex].value = EVEXDYN; ++ ++ /* Vex, legacy map2 and map3 and rex2_disallowed do not support EGPR. ++ For templates supporting both Vex and EVex allowing EGPR. */ ++ if ((modifiers[Vex].value || space > SPACE_0F || rex2_disallowed) ++ && !modifiers[EVex].value) ++ modifiers[NoEgpr].value = 1; ++ + output_opcode_modifier (table, modifiers, ARRAY_SIZE (modifiers)); + } + +@@ -1316,7 +1481,9 @@ output_i386_opcode (FILE *table, const c + free (ident); + + process_i386_opcode_modifier (table, opcode_modifier, space, prefix, +- extension_opcode, operand_types, lineno); ++ extension_opcode, operand_types, lineno, ++ rex2_disallowed (opcode, length, space, ++ cpu_flags)); + + process_i386_cpu_flag (table, cpu_flags, NULL, ",", " ", lineno, CpuMax); + +@@ -1773,23 +1940,26 @@ process_i386_opcodes (FILE *table) + + /* Generate opcode sets array. */ + fprintf (table, "\n/* i386 opcode sets table. */\n\n"); +- fprintf (table, "static const insn_template *const i386_op_sets[] =\n{\n"); +- fprintf (table, " i386_optab,\n"); ++ fprintf (table, "typedef unsigned short i386_op_off_t;\n"); ++ fprintf (table, "static const i386_op_off_t i386_op_sets[] =\n{\n "); + + for (nr = j = 0; j < i; j++) + { + struct opcode_entry *next = &opcode_array[j]->entry; + ++ if ((j + 1) % 8 != 0) ++ fprintf (table, "%5u,", nr); ++ else ++ fprintf (table, "%5u,\n ", nr); + do + { + ++nr; + next = next->next; + } + while (next); +- fprintf (table, " i386_optab + %u,\n", nr); + } + +- fprintf (table, "};\n"); ++ fprintf (table, "%5u\n};\n", nr); + + /* Emit mnemonics and associated #define-s. */ + qsort (opcode_array, i, sizeof (*opcode_array), mnemonic_cmp); +@@ -1819,7 +1989,7 @@ process_i386_opcodes (FILE *table) + fprintf (fp, "#define MN_%s ", str); + free (str); + str = mkident (next); +- fprintf (fp, "(MN_%s + %u)\n", str, l1 - l); ++ fprintf (fp, "(MN_%s + %zu)\n", str, l1 - l); + } + else + { +@@ -1935,7 +2105,7 @@ process_i386_initializers (void) + + process_copyright (fp); + +- for (i = 0; i < Cpu64; i++) ++ for (i = 0; i < CpuMax; i++) + process_i386_cpu_flag (fp, "0", cpu_flags[i].name, "", " ", -1, i); + + for (i = 0; i < ARRAY_SIZE (isa_dependencies); i++) +@@ -2071,6 +2241,16 @@ main (int argc, char **argv) + fail ("%d unused bits in i386_cpu_flags.\n", c); + #endif + ++ /* If this triggers, CpuIsaBits needs to be increased. */ ++ static_assert (CpuAttrEnums <= (1u << CpuIsaBits)); ++ ++ /* Check the unused bitfield in i386_cpu_attr. */ ++#ifndef CpuAttrUnused ++ c = CpuAttrNumOfBits - (CpuIsaBits + CpuMax + 1 - CpuAttrEnums); ++ if (c) ++ fail ("%d unused bits in i386_cpu_attr.\n", c); ++#endif ++ + static_assert (ARRAY_SIZE (opcode_modifiers) == Opcode_Modifier_Num); + + /* Check the unused bitfield in i386_operand_type. */ +@@ -2095,6 +2275,8 @@ main (int argc, char **argv) + qsort (operand_types, ARRAY_SIZE (operand_types), + sizeof (operand_types [0]), compare); + ++ process_i386_initializers (); ++ + table = fopen ("i386-tbl.h", "w"); + if (table == NULL) + fail ("can't create i386-tbl.h, errno = %s\n", +@@ -2104,7 +2286,6 @@ main (int argc, char **argv) + + process_i386_opcodes (table); + process_i386_registers (table); +- process_i386_initializers (); + + fclose (table); + +diff -rupN binutils.orig/opcodes/i386-init.h binutils-2.41/opcodes/i386-init.h +--- binutils.orig/opcodes/i386-init.h 2024-01-18 12:12:24.644946663 +0000 ++++ binutils-2.41/opcodes/i386-init.h 2024-01-18 12:13:13.517911158 +0000 +@@ -1,5 +1,5 @@ + /* This file is automatically generated by i386-gen. Do not edit! */ +-/* Copyright (C) 2007-2023 Free Software Foundation, Inc. ++/* Copyright (C) 2007-2024 Free Software Foundation, Inc. + + This file is part of the GNU opcodes library. + +@@ -25,7 +25,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_286_FLAGS \ + { { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -34,7 +35,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_386_FLAGS \ + { { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -43,7 +45,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_486_FLAGS \ + { { 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -52,25 +55,28 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_586_FLAGS \ +- { { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_686_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_CMOV_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -79,7 +85,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_FXSR_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -88,7 +95,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_CLFLUSH_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -97,7 +105,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_NOP_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -106,7 +115,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SYSCALL_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -115,7 +125,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_8087_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -124,844 +135,898 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_287_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_387_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_687_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_FISTTP_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_MMX_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SSE_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SSE2_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_3DNOW_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + +-#define CPU_3DNOWA_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++#define CPU_SSE3_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_SSE3_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_PADLOCK_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SVME_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_VMX_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SMX_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SSSE3_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SSE4A_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_LZCNT_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_POPCNT_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_MONITOR_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SSE4_1_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SSE4_2_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_AVX_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AVX2_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_AVX512F_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AVX512CD_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512ER_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512PF_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_AVX512VL_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512DQ_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512BW_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_IAMCU_FLAGS \ + { { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_XSAVE_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_XSAVEOPT_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AES_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_PCLMULQDQ_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_FMA_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_FMA4_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_XOP_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_LWP_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_BMI_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_TBM_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_MOVBE_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_CX16_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_LAHF_SAHF_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_EPT_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_RDTSCP_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_FSGSBASE_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_RDRND_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_F16C_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_BMI2_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_HLE_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_RTM_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_INVPCID_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_VMFUNC_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_MPX_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + +-#define CPU_LM_FLAGS \ ++#define CPU_MPX_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_RDSEED_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ADX_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_PRFCHW_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SMAP_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SHA_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_SHA512_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_SM3_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_SM4_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_CLFLUSHOPT_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_XSAVES_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_XSAVEC_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_PREFETCHWT1_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SE1_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_CLWB_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AVX512IFMA_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512VBMI_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512_4FMAPS_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512_4VNNIW_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512_VPOPCNTDQ_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512_VBMI2_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512_VNNI_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512_BITALG_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512_BF16_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_AVX512_VP2INTERSECT_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_TDX_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AVX_VNNI_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AVX512_FP16_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } + + #define CPU_PREFETCHI_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AVX_IFMA_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AVX_VNNI_INT8_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_AVX_VNNI_INT16_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_CMPCCXADD_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_WRMSRNS_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_MSRLIST_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AVX_NE_CONVERT_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_RAO_INT_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_FRED_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_LKGS_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_USER_MSR_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_MWAITX_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_CLZERO_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_OSPKE_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_RDPID_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -969,8 +1034,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_PTWRITE_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -978,8 +1044,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_IBT_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -987,8 +1054,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SHSTK_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -996,80 +1064,89 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AMX_INT8_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AMX_BF16_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AMX_FP16_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AMX_COMPLEX_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AMX_TILE_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_GFNI_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_VAES_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_VPCLMULQDQ_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_WBNOINVD_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1077,8 +1154,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_PCONFIG_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1086,8 +1164,19 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_PBNDKB_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_WAITPKG_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1095,8 +1184,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_UINTR_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1104,8 +1194,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_CLDEMOTE_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1113,8 +1204,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_MOVDIRI_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1122,8 +1214,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_MOVDIR64B_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1132,7 +1225,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ENQCMD_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1141,7 +1235,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SERIALIZE_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1150,7 +1245,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_RDPRU_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1159,7 +1255,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_MCOMMIT_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1168,43 +1265,48 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SEV_ES_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_TSXLDTRK_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_KL_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_WIDEKL_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_HRESET_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1213,7 +1315,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_INVLPGB_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1222,7 +1325,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_TLBSYNC_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1231,34 +1335,128 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_SNP_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_RMPQUERY_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_287_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_387_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_3DNOW_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_3DNOWA_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_AVX_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_HLE_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 0, 0, 0, 0, 0 } } ++ ++#define CPU_AVX512F_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 0, 0, 0, 0 } } ++ ++#define CPU_AVX512VL_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 1, 0, 0, 0 } } ++ ++#define CPU_APX_F_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0 } } + + #define CPU_UNKNOWN_FLAGS \ + { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, \ ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +- 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0 } } ++ 1, 1, 1, 1, 0, 0 } } + + #define CPU_GENERIC32_FLAGS \ + { { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1267,16 +1465,18 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_GENERIC64_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_NONE_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1285,790 +1485,858 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_PENTIUMPRO_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_P2_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_P3_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_P4_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_NOCONA_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_CORE_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_CORE2_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_COREI7_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_K6_FLAGS \ +- { { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_K6_2_FLAGS \ +- { { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, \ ++ { { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ATHLON_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_K8_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AMDFAM10_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, \ +- 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, \ ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_BDVER1_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, \ ++ 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \ ++ 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_BDVER2_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, \ +- 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, \ ++ 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, \ ++ 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_BDVER3_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, \ +- 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, \ ++ 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, \ ++ 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_BDVER4_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, \ +- 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, \ ++ 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, \ ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ZNVER1_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, \ +- 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, \ ++ 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, \ ++ 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, \ ++ 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ZNVER2_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, \ +- 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, \ ++ 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, \ ++ 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, \ ++ 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, \ ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ZNVER3_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, \ +- 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0 } } ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, \ ++ 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, \ ++ 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, \ ++ 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, \ ++ 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ZNVER4_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, \ +- 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, \ +- 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, \ +- 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0 } } ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, \ ++ 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, \ ++ 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, \ ++ 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, \ ++ 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, \ ++ 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, \ ++ 0, 1, 1, 0, 0, 0 } } ++ ++#define CPU_ZNVER5_FLAGS \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, \ ++ 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, \ ++ 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, \ ++ 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, \ ++ 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, \ ++ 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, \ ++ 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, \ ++ 0, 1, 1, 0, 0, 0 } } + + #define CPU_BTVER1_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, \ ++ 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_BTVER2_FLAGS \ +- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, \ +- 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, \ +- 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, \ ++ 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, \ ++ 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ABM_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_AVX10_1_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \ +- 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ +- 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, \ ++ 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 1, 0, 0, 0 } } + + #define CPU_TSX_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_ANY_FXSR_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_ANY_8087_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 1, 0, 0, 0, 0, 0 } } + +-#define CPU_ANY_287_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++#define CPU_ANY_FXSR_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + +-#define CPU_ANY_387_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, \ ++#define CPU_ANY_8087_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_687_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_FISTTP_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_MMX_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_ANY_SSE_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_ANY_SSE2_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + +-#define CPU_ANY_3DNOW_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++#define CPU_ANY_SSE_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + +-#define CPU_ANY_3DNOWA_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++#define CPU_ANY_SSE2_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \ ++ 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_SSE3_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ ++ 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_SVME_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_VMX_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_SSSE3_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_SSE4A_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_SSE4_1_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_SSE4_2_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_ANY_AVX_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, \ +- 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX2_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, \ +- 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_ANY_AVX512F_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, \ +- 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, \ ++ 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 1, 1, 0, 0, 0 } } + + #define CPU_ANY_AVX512CD_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512ER_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512PF_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } +- +-#define CPU_ANY_AVX512VL_FLAGS \ +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512DQ_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512BW_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, \ ++ 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_IAMCU_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_XSAVE_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, \ +- 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, \ +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, \ +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, \ ++ 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, \ ++ 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, \ ++ 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 1, 1, 0, 0 } } + + #define CPU_ANY_XSAVEOPT_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AES_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_PCLMULQDQ_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_FMA_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_FMA4_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_XOP_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_LWP_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_EPT_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_F16C_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_RTM_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_VMFUNC_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_MPX_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_SHA_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_ANY_SHA512_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_ANY_SM3_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_ANY_SM4_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_XSAVES_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_XSAVEC_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512IFMA_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512VBMI_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512_4FMAPS_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512_4VNNIW_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512_VPOPCNTDQ_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512_VBMI2_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512_VNNI_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512_BITALG_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512_BF16_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512_VP2INTERSECT_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX_VNNI_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX512_FP16_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX_IFMA_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX_VNNI_INT8_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_ANY_AVX_VNNI_INT16_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AVX_NE_CONVERT_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_FRED_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_LKGS_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_OSPKE_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2076,8 +2344,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AMX_INT8_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2085,8 +2354,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AMX_BF16_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2094,8 +2364,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AMX_FP16_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2103,8 +2374,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AMX_COMPLEX_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2112,8 +2384,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_AMX_TILE_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2121,8 +2394,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_GFNI_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2130,8 +2404,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_VAES_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2139,8 +2414,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_VPCLMULQDQ_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2148,8 +2424,9 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_SEV_ES_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2158,7 +2435,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_TSXLDTRK_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2167,7 +2445,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_KL_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2176,7 +2455,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_WIDEKL_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2185,7 +2465,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_SNP_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2194,7 +2475,8 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_RMPQUERY_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -2203,5 +2485,96 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } } ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_ANY_287_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_ANY_387_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_ANY_3DNOW_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_ANY_3DNOWA_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0 } } ++ ++#define CPU_ANY_64_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0 } } ++ ++#define CPU_ANY_AVX_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ ++ 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, \ ++ 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 0, 1, 1, 0, 0, 0 } } ++ ++#define CPU_ANY_AVX512F_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, \ ++ 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 1, 1, 0, 0, 0 } } ++ ++#define CPU_ANY_AVX512VL_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 1, 0, 0, 0 } } ++ ++#define CPU_ANY_APX_F_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0 } } + +diff -rupN binutils.orig/opcodes/i386-mnem.h binutils-2.41/opcodes/i386-mnem.h +--- binutils.orig/opcodes/i386-mnem.h 2024-01-18 12:12:24.602946633 +0000 ++++ binutils-2.41/opcodes/i386-mnem.h 2024-01-18 12:13:13.517911158 +0000 +@@ -1,5 +1,5 @@ + /* This file is automatically generated by i386-gen. Do not edit! */ +-/* Copyright (C) 2007-2023 Free Software Foundation, Inc. ++/* Copyright (C) 2007-2024 Free Software Foundation, Inc. + + This file is part of the GNU opcodes library. + +@@ -27,2321 +27,2345 @@ extern const char i386_mnemonics[]; + #define MN_fld1 0x22 + #define MN_ud1 0x27 + #define MN_sha1msg1 0x2b +-#define MN_sha256msg1 0x34 +-#define MN_fprem1 0x3f +-#define MN_f2xm1 0x46 +-#define MN_fyl2xp1 0x4c +-#define MN_tileloaddt1 0x54 +-#define MN_prefetcht1 0x60 +-#define MN_prefetchit1 0x6b +-#define MN_pfrcpit1 0x77 +-#define MN_pfrsqit1 0x80 +-#define MN_int1 0x89 +-#define MN_prefetchwt1 0x8e +-#define MN_vmovdqa32 0x9a +-#define MN_data32 0xa4 +-#define MN_crc32 0xab +-#define MN_endbr32 0xb1 +-#define MN_addr32 0xb9 +-#define MN_vmovdqu32 0xc0 +-#define MN_ud2 0xca +-#define MN_fldlg2 0xce +-#define MN_sha1msg2 0xd5 +-#define MN_sha256msg2 0xde +-#define MN_fldln2 0xe9 +-#define MN_sha256rnds2 0xf0 +-#define MN_prefetcht2 0xfc +-#define MN_pfrcpit2 0x107 +-#define MN_vbroadcastf32x2 0x110 +-#define MN_vbroadcasti32x2 0x120 +-#define MN_vshuff64x2 0x130 +-#define MN_vextractf64x2 0x13b +-#define MN_vinsertf64x2 0x149 +-#define MN_vbroadcastf64x2 0x156 +-#define MN_vshufi64x2 0x166 +-#define MN_vextracti64x2 0x171 +-#define MN_vinserti64x2 0x17f +-#define MN_vbroadcasti64x2 0x18c +-#define MN_int3 0x19c +-#define MN_vmovdqa64 0x1a1 +-#define MN_xsavec64 0x1ab ++#define MN_vsha512msg1 0x34 ++#define MN_vsm3msg1 0x40 ++#define MN_sha256msg1 0x49 ++#define MN_fprem1 0x54 ++#define MN_f2xm1 0x5b ++#define MN_fyl2xp1 0x61 ++#define MN_tileloaddt1 0x69 ++#define MN_prefetcht1 0x75 ++#define MN_prefetchit1 0x80 ++#define MN_pfrcpit1 0x8c ++#define MN_pfrsqit1 0x95 ++#define MN_int1 0x9e ++#define MN_prefetchwt1 0xa3 ++#define MN_vmovdqa32 0xaf ++#define MN_data32 0xb9 ++#define MN_crc32 0xc0 ++#define MN_endbr32 0xc6 ++#define MN_addr32 0xce ++#define MN_vmovdqu32 0xd5 ++#define MN_ud2 0xdf ++#define MN_fldlg2 0xe3 ++#define MN_sha1msg2 0xea ++#define MN_vsha512msg2 0xf3 ++#define MN_vsm3msg2 0xff ++#define MN_sha256msg2 0x108 ++#define MN_push2 0x113 ++#define MN_fldln2 0x119 ++#define MN_pop2 0x120 ++#define MN_vsha512rnds2 0x125 ++#define MN_vsm3rnds2 0x132 ++#define MN_sha256rnds2 0x13c ++#define MN_prefetcht2 0x148 ++#define MN_pfrcpit2 0x153 ++#define MN_vbroadcastf32x2 0x15c ++#define MN_vbroadcasti32x2 0x16c ++#define MN_vshuff64x2 0x17c ++#define MN_vextractf64x2 0x187 ++#define MN_vinsertf64x2 0x195 ++#define MN_vbroadcastf64x2 0x1a2 ++#define MN_vshufi64x2 0x1b2 ++#define MN_vextracti64x2 0x1bd ++#define MN_vinserti64x2 0x1cb ++#define MN_vbroadcasti64x2 0x1d8 ++#define MN_int3 0x1e8 ++#define MN_vmovdqa64 0x1ed ++#define MN_xsavec64 0x1f7 + #define MN_xsave64 (MN_fxsave64 + 1) +-#define MN_fxsave64 0x1b4 +-#define MN_endbr64 0x1bd ++#define MN_fxsave64 0x200 ++#define MN_endbr64 0x209 + #define MN_xrstor64 (MN_fxrstor64 + 1) +-#define MN_fxrstor64 0x1c5 +-#define MN_xsaves64 0x1cf +-#define MN_xrstors64 0x1d8 +-#define MN_xsaveopt64 0x1e2 +-#define MN_vmovdqu64 0x1ed +-#define MN_rex64 0x1f7 +-#define MN_sha1rnds4 0x1fd +-#define MN_vshuff32x4 0x207 +-#define MN_vextractf32x4 0x212 +-#define MN_vinsertf32x4 0x220 +-#define MN_vbroadcastf32x4 0x22d +-#define MN_vshufi32x4 0x23d +-#define MN_vextracti32x4 0x248 +-#define MN_vinserti32x4 0x256 +-#define MN_vbroadcasti32x4 0x263 +-#define MN_vextractf64x4 0x273 +-#define MN_vinsertf64x4 0x281 +-#define MN_vbroadcastf64x4 0x28e +-#define MN_vextracti64x4 0x29e +-#define MN_vinserti64x4 0x2ac +-#define MN_vbroadcasti64x4 0x2b9 +-#define MN_data16 0x2c9 +-#define MN_vcvtne2ps2bf16 0x2d0 +-#define MN_vcvtneps2bf16 0x2df +-#define MN_addr16 0x2ed +-#define MN_vmovdqu16 0x2f4 +-#define MN_xsha256 0x2fe +-#define MN_encodekey256 0x306 +-#define MN_vperm2f128 0x313 +-#define MN_vextractf128 0x31e +-#define MN_vinsertf128 0x32b +-#define MN_vbroadcastf128 0x337 +-#define MN_vperm2i128 0x346 +-#define MN_vextracti128 0x351 +-#define MN_vinserti128 0x35e +-#define MN_vbroadcasti128 0x36a +-#define MN_encodekey128 0x379 +-#define MN_vmovdqu8 0x386 +-#define MN_vextractf32x8 0x38f +-#define MN_vinsertf32x8 0x39d +-#define MN_vbroadcastf32x8 0x3aa +-#define MN_vextracti32x8 0x3ba +-#define MN_vinserti32x8 0x3c8 +-#define MN_vbroadcasti32x8 0x3d5 +-#define MN_ud2a 0x3e5 +-#define MN_aaa 0x3ea +-#define MN_daa 0x3ee +-#define MN_ssca 0x3f2 +-#define MN_lea 0x3f7 +-#define MN_invlpga 0x3fb +-#define MN_pusha 0x403 +-#define MN_ja 0x409 +-#define MN_jna 0x40c +-#define MN_setna 0x410 ++#define MN_fxrstor64 0x211 ++#define MN_xsaves64 0x21b ++#define MN_xrstors64 0x224 ++#define MN_xsaveopt64 0x22e ++#define MN_vmovdqu64 0x239 ++#define MN_rex64 0x243 ++#define MN_sha1rnds4 0x249 ++#define MN_vsm4rnds4 0x253 ++#define MN_vshuff32x4 0x25d ++#define MN_vextractf32x4 0x268 ++#define MN_vinsertf32x4 0x276 ++#define MN_vbroadcastf32x4 0x283 ++#define MN_vshufi32x4 0x293 ++#define MN_vextracti32x4 0x29e ++#define MN_vinserti32x4 0x2ac ++#define MN_vbroadcasti32x4 0x2b9 ++#define MN_vextractf64x4 0x2c9 ++#define MN_vinsertf64x4 0x2d7 ++#define MN_vbroadcastf64x4 0x2e4 ++#define MN_vextracti64x4 0x2f4 ++#define MN_vinserti64x4 0x302 ++#define MN_vbroadcasti64x4 0x30f ++#define MN_vsm4key4 0x31f ++#define MN_data16 0x328 ++#define MN_vcvtne2ps2bf16 0x32f ++#define MN_vcvtneps2bf16 0x33e ++#define MN_addr16 0x34c ++#define MN_vmovdqu16 0x353 ++#define MN_xsha256 0x35d ++#define MN_encodekey256 0x365 ++#define MN_vperm2f128 0x372 ++#define MN_vextractf128 0x37d ++#define MN_vinsertf128 0x38a ++#define MN_vbroadcastf128 0x396 ++#define MN_vperm2i128 0x3a5 ++#define MN_vextracti128 0x3b0 ++#define MN_vinserti128 0x3bd ++#define MN_vbroadcasti128 0x3c9 ++#define MN_encodekey128 0x3d8 ++#define MN_vmovdqu8 0x3e5 ++#define MN_vextractf32x8 0x3ee ++#define MN_vinsertf32x8 0x3fc ++#define MN_vbroadcastf32x8 0x409 ++#define MN_vextracti32x8 0x419 ++#define MN_vinserti32x8 0x427 ++#define MN_vbroadcasti32x8 0x434 ++#define MN_ud2a 0x444 ++#define MN_aaa 0x449 ++#define MN_daa 0x44d ++#define MN_ssca 0x451 ++#define MN_lea 0x456 ++#define MN_invlpga 0x45a ++#define MN_pusha 0x462 ++#define MN_ja 0x468 ++#define MN_jna 0x46b ++#define MN_setna 0x46f + #define MN_cmovna (MN_fcmovna + 1) +-#define MN_fcmovna 0x416 +-#define MN_popa 0x41e ++#define MN_fcmovna 0x475 ++#define MN_popa 0x47d + #define MN_movntdqa (MN_vmovntdqa + 1) +-#define MN_vmovntdqa 0x423 ++#define MN_vmovntdqa 0x482 + #define MN_movdqa (MN_vmovdqa + 1) +-#define MN_vmovdqa 0x42d +-#define MN_seta 0x435 +-#define MN_prefetchnta 0x43a ++#define MN_vmovdqa 0x48c ++#define MN_seta 0x494 ++#define MN_prefetchnta 0x499 + #define MN_cmova (MN_fcmova + 1) +-#define MN_fcmova 0x446 +-#define MN_rex_b 0x44d +-#define MN_ud2b 0x453 +-#define MN_vpermi2b 0x458 +-#define MN_vpmovm2b 0x461 +-#define MN_vpermt2b 0x46a +-#define MN_movdir64b 0x473 +-#define MN_cmpxchg16b 0x47d +-#define MN_cmpxchg8b 0x488 +-#define MN_vpshab 0x492 +-#define MN_sbb 0x499 ++#define MN_fcmova 0x4a5 ++#define MN_rex_b 0x4ac ++#define MN_ud2b 0x4b2 ++#define MN_vpermi2b 0x4b7 ++#define MN_vpmovm2b 0x4c0 ++#define MN_vpermt2b 0x4c9 ++#define MN_movdir64b 0x4d2 ++#define MN_cmpxchg16b 0x4dc ++#define MN_cmpxchg8b 0x4e7 ++#define MN_vpshab 0x4f1 ++#define MN_sbb 0x4f8 + #define MN_psubb (MN_vpsubb + 1) +-#define MN_vpsubb 0x49d +-#define MN_xcrypt_ecb 0x4a4 +-#define MN_xcryptecb 0x4af +-#define MN_llwpcb 0x4b9 +-#define MN_slwpcb 0x4c0 +-#define MN_kaddb 0x4c7 ++#define MN_vpsubb 0x4fc ++#define MN_xcrypt_ecb 0x503 ++#define MN_xcryptecb 0x50e ++#define MN_llwpcb 0x518 ++#define MN_slwpcb 0x51f ++#define MN_kaddb 0x526 + #define MN_paddb (MN_vpaddb + 1) +-#define MN_vpaddb 0x4cd +-#define MN_kandb 0x4d4 +-#define MN_vpexpandb 0x4da +-#define MN_vpmovusdb 0x4e4 +-#define MN_vpmovsdb 0x4ee +-#define MN_vpmovdb 0x4f7 +-#define MN_vpcomgeb 0x4ff +-#define MN_vpcomleb 0x508 +-#define MN_vpcmpnleb 0x511 +-#define MN_vpcmpleb 0x51b +-#define MN_vpcomfalseb 0x524 +-#define MN_vpcomtrueb 0x530 +-#define MN_xcrypt_cfb 0x53b +-#define MN_xcryptcfb 0x546 +-#define MN_xcrypt_ofb 0x550 +-#define MN_xcryptofb 0x55b ++#define MN_vpaddb 0x52c ++#define MN_kandb 0x533 ++#define MN_vpexpandb 0x539 ++#define MN_vpmovusdb 0x543 ++#define MN_vpmovsdb 0x54d ++#define MN_vpmovdb 0x556 ++#define MN_vpcomgeb 0x55e ++#define MN_vpcomleb 0x567 ++#define MN_vpcmpnleb 0x570 ++#define MN_vpcmpleb 0x57a ++#define MN_vpcomfalseb 0x583 ++#define MN_vpcomtrueb 0x58f ++#define MN_xcrypt_cfb 0x59a ++#define MN_xcryptcfb 0x5a5 ++#define MN_xcrypt_ofb 0x5af ++#define MN_xcryptofb 0x5ba + #define MN_pshufb (MN_vpshufb + 1) +-#define MN_vpshufb 0x565 +-#define MN_invlpgb 0x56d ++#define MN_vpshufb 0x5c4 ++#define MN_invlpgb 0x5cc + #define MN_pavgb (MN_vpavgb + 1) +-#define MN_vpavgb 0x575 +-#define MN_jb 0x57c ++#define MN_vpavgb 0x5d4 ++#define MN_jb 0x5db ++#define MN_pbndkb 0x5de + #define MN_pmovmskb (MN_vpmovmskb + 1) +-#define MN_vpmovmskb 0x57f +-#define MN_vpshlb 0x589 +-#define MN_kshiftlb 0x590 ++#define MN_vpmovmskb 0x5e5 ++#define MN_vpshlb 0x5ef ++#define MN_kshiftlb 0x5f6 + #define MN_gf2p8mulb (MN_vgf2p8mulb + 1) +-#define MN_vgf2p8mulb 0x599 +-#define MN_vpblendmb 0x5a4 +-#define MN_vptestnmb 0x5ae +-#define MN_vpcomb 0x5b8 +-#define MN_vpshufbitqmb 0x5bf +-#define MN_vpermb 0x5cc +-#define MN_vptestmb 0x5d3 +-#define MN_kandnb 0x5dc ++#define MN_vgf2p8mulb 0x5ff ++#define MN_vpblendmb 0x60a ++#define MN_vptestnmb 0x614 ++#define MN_vpcomb 0x61e ++#define MN_vpshufbitqmb 0x625 ++#define MN_vpermb 0x632 ++#define MN_vptestmb 0x639 ++#define MN_kandnb 0x642 + #define MN_psignb (MN_vpsignb + 1) +-#define MN_vpsignb 0x5e3 +-#define MN_jnb 0x5eb +-#define MN_setnb 0x5ef ++#define MN_vpsignb 0x649 ++#define MN_jnb 0x651 ++#define MN_setnb 0x655 + #define MN_cmovnb (MN_fcmovnb + 1) +-#define MN_fcmovnb 0x5f5 +-#define MN_vpcmpb 0x5fd +-#define MN_vpcomeqb 0x604 ++#define MN_fcmovnb 0x65b ++#define MN_vpcmpb 0x663 ++#define MN_vpcomeqb 0x66a + #define MN_gf2p8affineqb (MN_vgf2p8affineqb + 1) +-#define MN_vgf2p8affineqb 0x60d +-#define MN_vpcomneqb 0x61c +-#define MN_vpcmpneqb 0x626 ++#define MN_vgf2p8affineqb 0x673 ++#define MN_vpcomneqb 0x682 ++#define MN_vpcmpneqb 0x68c + #define MN_pcmpeqb (MN_vpcmpeqb + 1) +-#define MN_vpcmpeqb 0x630 +-#define MN_vpmovusqb 0x639 +-#define MN_vpmovsqb 0x643 +-#define MN_vpmultishiftqb 0x64c ++#define MN_vpcmpeqb 0x696 ++#define MN_vpmovusqb 0x69f ++#define MN_vpmovsqb 0x6a9 ++#define MN_vpmultishiftqb 0x6b2 + #define MN_gf2p8affineinvqb (MN_vgf2p8affineinvqb + 1) +-#define MN_vgf2p8affineinvqb 0x65b +-#define MN_vpmovqb 0x66d +-#define MN_rex_rb 0x675 +-#define MN_korb 0x67c +-#define MN_kxnorb 0x681 +-#define MN_kxorb 0x688 ++#define MN_vgf2p8affineinvqb 0x6c1 ++#define MN_vpmovqb 0x6d3 ++#define MN_rex_rb 0x6db ++#define MN_korb 0x6e2 ++#define MN_kxnorb 0x6e7 ++#define MN_kxorb 0x6ee + #define MN_pinsrb (MN_vpinsrb + 1) +-#define MN_vpinsrb 0x68e +-#define MN_kshiftrb 0x696 ++#define MN_vpinsrb 0x6f4 ++#define MN_kshiftrb 0x6fc + #define MN_pextrb (MN_vpextrb + 1) +-#define MN_vpextrb 0x69f +-#define MN_rex_wrb 0x6a7 ++#define MN_vpextrb 0x705 ++#define MN_rex_wrb 0x70d + #define MN_pabsb (MN_vpabsb + 1) +-#define MN_vpabsb 0x6af ++#define MN_vpabsb 0x715 + #define MN_psubsb (MN_vpsubsb + 1) +-#define MN_vpsubsb 0x6b6 ++#define MN_vpsubsb 0x71c + #define MN_paddsb (MN_vpaddsb + 1) +-#define MN_vpaddsb 0x6be ++#define MN_vpaddsb 0x724 + #define MN_pminsb (MN_vpminsb + 1) +-#define MN_vpminsb 0x6c6 +-#define MN_vpcompressb 0x6ce ++#define MN_vpminsb 0x72c ++#define MN_vpcompressb 0x734 + #define MN_psubusb (MN_vpsubusb + 1) +-#define MN_vpsubusb 0x6da ++#define MN_vpsubusb 0x740 + #define MN_paddusb (MN_vpaddusb + 1) +-#define MN_vpaddusb 0x6e3 +-#define MN_pavgusb 0x6ec +-#define MN_movsb 0x6f4 ++#define MN_vpaddusb 0x749 ++#define MN_pavgusb 0x752 ++#define MN_movsb 0x75a + #define MN_pmaxsb (MN_vpmaxsb + 1) +-#define MN_vpmaxsb 0x6fa +-#define MN_setb 0x702 +-#define MN_vpcomgtb 0x707 ++#define MN_vpmaxsb 0x760 ++#define MN_setb 0x768 ++#define MN_vpcomgtb 0x76d + #define MN_pcmpgtb (MN_vpcmpgtb + 1) +-#define MN_vpcmpgtb 0x710 +-#define MN_vpcomltb 0x719 +-#define MN_vpcmpnltb 0x722 +-#define MN_vpcmpltb 0x72c +-#define MN_vpopcntb 0x735 +-#define MN_knotb 0x73e +-#define MN_vprotb 0x744 +-#define MN_vpbroadcastb 0x74b +-#define MN_ktestb 0x758 +-#define MN_kortestb 0x75f +-#define MN_vpcomgeub 0x768 +-#define MN_vpcomleub 0x772 +-#define MN_vpcmpnleub 0x77c +-#define MN_vpcmpleub 0x787 +-#define MN_vpcomfalseub 0x791 +-#define MN_vpcomtrueub 0x79e +-#define MN_vpcomub 0x7aa ++#define MN_vpcmpgtb 0x776 ++#define MN_vpcomltb 0x77f ++#define MN_vpcmpnltb 0x788 ++#define MN_vpcmpltb 0x792 ++#define MN_vpopcntb 0x79b ++#define MN_knotb 0x7a4 ++#define MN_vprotb 0x7aa ++#define MN_vpbroadcastb 0x7b1 ++#define MN_ktestb 0x7be ++#define MN_kortestb 0x7c5 ++#define MN_vpcomgeub 0x7ce ++#define MN_vpcomleub 0x7d8 ++#define MN_vpcmpnleub 0x7e2 ++#define MN_vpcmpleub 0x7ed ++#define MN_vpcomfalseub 0x7f7 ++#define MN_vpcomtrueub 0x804 ++#define MN_vpcomub 0x810 + #define MN_pminub (MN_vpminub + 1) +-#define MN_vpminub 0x7b2 +-#define MN_vpcmpub 0x7ba +-#define MN_vpcomequb 0x7c2 +-#define MN_vpcomnequb 0x7cc +-#define MN_vpcmpnequb 0x7d7 +-#define MN_vpcmpequb 0x7e2 ++#define MN_vpminub 0x818 ++#define MN_vpcmpub 0x820 ++#define MN_vpcomequb 0x828 ++#define MN_vpcomnequb 0x832 ++#define MN_vpcmpnequb 0x83d ++#define MN_vpcmpequb 0x848 + #define MN_sub (MN_fsub + 1) + #define MN_fsub (MN_pfsub + 1) +-#define MN_pfsub 0x7ec +-#define MN_fisub 0x7f2 +-#define MN_vpcomgtub 0x7f8 +-#define MN_vpcomltub 0x802 +-#define MN_vpcmpnltub 0x80c +-#define MN_vpcmpltub 0x817 ++#define MN_pfsub 0x852 ++#define MN_fisub 0x858 ++#define MN_vpcomgtub 0x85e ++#define MN_vpcomltub 0x868 ++#define MN_vpcmpnltub 0x872 ++#define MN_vpcmpltub 0x87d + #define MN_pmaxub (MN_vpmaxub + 1) +-#define MN_vpmaxub 0x821 ++#define MN_vpmaxub 0x887 + #define MN_pblendvb (MN_vpblendvb + 1) +-#define MN_vpblendvb 0x829 ++#define MN_vpblendvb 0x88f + #define MN_cmovb (MN_fcmovb + 1) +-#define MN_fcmovb 0x833 +-#define MN_kmovb 0x83a +-#define MN_rex_wb 0x840 +-#define MN_clwb 0x847 ++#define MN_fcmovb 0x899 ++#define MN_kmovb 0x8a0 ++#define MN_rex_wb 0x8a6 ++#define MN_clwb 0x8ad + #define MN_packsswb (MN_vpacksswb + 1) +-#define MN_vpacksswb 0x84c ++#define MN_vpacksswb 0x8b2 + #define MN_packuswb (MN_vpackuswb + 1) +-#define MN_vpackuswb 0x856 +-#define MN_vpmovuswb 0x860 +-#define MN_vpmovswb 0x86a +-#define MN_vpmovwb 0x873 +-#define MN_rex_xb 0x87b +-#define MN_rex_rxb 0x882 +-#define MN_rex_wrxb 0x88a +-#define MN_rex_wxb 0x893 +-#define MN_movzb 0x89b +-#define MN_clac 0x8a1 +-#define MN_stac 0x8a6 +-#define MN_xcrypt_cbc 0x8ab +-#define MN_xcryptcbc 0x8b6 +-#define MN_pfacc 0x8c0 +-#define MN_pfnacc 0x8c6 +-#define MN_pfpnacc 0x8cd +-#define MN_adc 0x8d5 ++#define MN_vpackuswb 0x8bc ++#define MN_vpmovuswb 0x8c6 ++#define MN_vpmovswb 0x8d0 ++#define MN_vpmovwb 0x8d9 ++#define MN_rex_xb 0x8e1 ++#define MN_rex_rxb 0x8e8 ++#define MN_rex_wrxb 0x8f0 ++#define MN_rex_wxb 0x8f9 ++#define MN_movzb 0x901 ++#define MN_clac 0x907 ++#define MN_stac 0x90c ++#define MN_xcrypt_cbc 0x911 ++#define MN_xcryptcbc 0x91c ++#define MN_pfacc 0x926 ++#define MN_pfnacc 0x92c ++#define MN_pfpnacc 0x933 ++#define MN_adc 0x93b + #define MN_dec (MN_aesdec + 3) + #define MN_aesdec (MN_vaesdec + 1) +-#define MN_vaesdec 0x8d9 +-#define MN_getsec 0x8e1 +-#define MN_xsavec 0x8e8 +-#define MN_blcic 0x8ef +-#define MN_blsic 0x8f5 +-#define MN_jc 0x8fb +-#define MN_t1mskc 0x8fe +-#define MN_clc 0x905 +-#define MN_cmc 0x909 ++#define MN_vaesdec 0x93f ++#define MN_getsec 0x947 ++#define MN_xsavec 0x94e ++#define MN_blcic 0x955 ++#define MN_blsic 0x95b ++#define MN_jc 0x961 ++#define MN_t1mskc 0x964 ++#define MN_clc 0x96b ++#define MN_cmc 0x96f + #define MN_aesimc (MN_vaesimc + 1) +-#define MN_vaesimc 0x90d +-#define MN_rdpmc 0x915 ++#define MN_vaesimc 0x973 ++#define MN_rdpmc 0x97b + #define MN_aesenc (MN_vaesenc + 1) +-#define MN_vaesenc 0x91b +-#define MN_inc 0x923 +-#define MN_jnc 0x927 +-#define MN_setnc 0x92b +-#define MN_vmfunc 0x931 +-#define MN_cmovnc 0x938 +-#define MN_tlbsync 0x93f +-#define MN_rdtsc 0x947 +-#define MN_btc 0x94d +-#define MN_setc 0x951 +-#define MN_stc 0x956 +-#define MN_cmovc 0x95a +-#define MN_vpermi2d 0x960 +-#define MN_vpmovm2d 0x969 +-#define MN_vpermt2d 0x972 +-#define MN_vpbroadcastmw2d 0x97b +-#define MN_aad 0x98b +-#define MN_vmread 0x98f +-#define MN_vpshad 0x996 +-#define MN_vmload 0x99d ++#define MN_vaesenc 0x981 ++#define MN_inc 0x989 ++#define MN_jnc 0x98d ++#define MN_setnc 0x991 ++#define MN_vmfunc 0x997 ++#define MN_cmovnc 0x99e ++#define MN_tlbsync 0x9a5 ++#define MN_rdtsc 0x9ad ++#define MN_btc 0x9b3 ++#define MN_setc 0x9b7 ++#define MN_stc 0x9bc ++#define MN_cmovc 0x9c0 ++#define MN_vpermi2d 0x9c6 ++#define MN_vpmovm2d 0x9cf ++#define MN_vpermt2d 0x9d8 ++#define MN_vpbroadcastmw2d 0x9e1 ++#define MN_aad 0x9f1 ++#define MN_vmread 0x9f5 ++#define MN_vpshad 0x9fc ++#define MN_vmload 0xa03 + #define MN_psrad (MN_vpsrad + 1) +-#define MN_vpsrad 0x9a4 +-#define MN_vphaddbd 0x9ab +-#define MN_vphaddubd 0x9b4 ++#define MN_vpsrad 0xa0a ++#define MN_vphaddbd 0xa11 ++#define MN_vphaddubd 0xa1a + #define MN_phsubd (MN_vphsubd + 1) +-#define MN_vphsubd 0x9be ++#define MN_vphsubd 0xa24 + #define MN_psubd (MN_vpsubd + 1) +-#define MN_vpsubd 0x9c6 ++#define MN_vpsubd 0xa2c + #define MN_pmovsxbd (MN_vpmovsxbd + 1) +-#define MN_vpmovsxbd 0x9cd ++#define MN_vpmovsxbd 0xa33 + #define MN_pmovzxbd (MN_vpmovzxbd + 1) +-#define MN_vpmovzxbd 0x9d7 ++#define MN_vpmovzxbd 0xa3d + #define MN_add (MN_aadd + 1) +-#define MN_aadd 0x9e1 ++#define MN_aadd 0xa47 + #define MN_fadd (MN_pfadd + 1) +-#define MN_pfadd 0x9e6 +-#define MN_fiadd 0x9ec +-#define MN_tileloadd 0x9f2 ++#define MN_pfadd 0xa4c ++#define MN_fiadd 0xa52 ++#define MN_tileloadd 0xa58 + #define MN_xadd (MN_cmpnaxadd + 5) +-#define MN_cmpnaxadd 0x9fc +-#define MN_cmpaxadd 0xa06 +-#define MN_cmpnbxadd 0xa0f +-#define MN_cmpbxadd 0xa19 +-#define MN_cmpncxadd 0xa22 +-#define MN_cmpcxadd 0xa2c +-#define MN_cmpnaexadd 0xa35 +-#define MN_cmpaexadd 0xa40 +-#define MN_cmpnbexadd 0xa4a +-#define MN_cmpbexadd 0xa55 +-#define MN_cmpngexadd 0xa5f +-#define MN_cmpgexadd 0xa6a +-#define MN_cmpnlexadd 0xa74 +-#define MN_cmplexadd 0xa7f +-#define MN_cmpnexadd 0xa89 +-#define MN_cmpexadd 0xa93 +-#define MN_cmppexadd 0xa9c +-#define MN_cmpngxadd 0xaa6 +-#define MN_cmpgxadd 0xab0 +-#define MN_cmpnlxadd 0xab9 +-#define MN_cmplxadd 0xac3 +-#define MN_cmpnoxadd 0xacc +-#define MN_cmpoxadd 0xad6 +-#define MN_cmppoxadd 0xadf +-#define MN_cmpnpxadd 0xae9 +-#define MN_cmppxadd 0xaf3 +-#define MN_cmpnsxadd 0xafc +-#define MN_cmpsxadd 0xb06 +-#define MN_cmpnzxadd 0xb0f +-#define MN_cmpzxadd 0xb19 ++#define MN_cmpnaxadd 0xa62 ++#define MN_cmpaxadd 0xa6c ++#define MN_cmpnbxadd 0xa75 ++#define MN_cmpbxadd 0xa7f ++#define MN_cmpncxadd 0xa88 ++#define MN_cmpcxadd 0xa92 ++#define MN_cmpnaexadd 0xa9b ++#define MN_cmpaexadd 0xaa6 ++#define MN_cmpnbexadd 0xab0 ++#define MN_cmpbexadd 0xabb ++#define MN_cmpngexadd 0xac5 ++#define MN_cmpgexadd 0xad0 ++#define MN_cmpnlexadd 0xada ++#define MN_cmplexadd 0xae5 ++#define MN_cmpnexadd 0xaef ++#define MN_cmpexadd 0xaf9 ++#define MN_cmppexadd 0xb02 ++#define MN_cmpngxadd 0xb0c ++#define MN_cmpgxadd 0xb16 ++#define MN_cmpnlxadd 0xb1f ++#define MN_cmplxadd 0xb29 ++#define MN_cmpnoxadd 0xb32 ++#define MN_cmpoxadd 0xb3c ++#define MN_cmppoxadd 0xb45 ++#define MN_cmpnpxadd 0xb4f ++#define MN_cmppxadd 0xb59 ++#define MN_cmpnsxadd 0xb62 ++#define MN_cmpsxadd 0xb6c ++#define MN_cmpnzxadd 0xb75 ++#define MN_cmpzxadd 0xb7f + #define MN_phaddd (MN_vphaddd + 1) +-#define MN_vphaddd 0xb22 +-#define MN_kaddd 0xb2a ++#define MN_vphaddd 0xb88 ++#define MN_kaddd 0xb90 + #define MN_paddd (MN_vpaddd + 1) +-#define MN_vpaddd 0xb30 +-#define MN_vpshldd 0xb37 +-#define MN_kandd 0xb3f +-#define MN_vpandd 0xb45 +-#define MN_vpexpandd 0xb4c +-#define MN_vpblendd 0xb56 +-#define MN_vpgatherdd 0xb5f +-#define MN_vpscatterdd 0xb6a +-#define MN_vpshrdd 0xb76 +-#define MN_vpmacsdd 0xb7e +-#define MN_vpmacssdd 0xb87 +-#define MN_rdseed 0xb91 +-#define MN_vpcomged 0xb98 +-#define MN_vpcomled 0xba1 +-#define MN_vpcmpnled 0xbaa +-#define MN_vpcmpled 0xbb4 +-#define MN_tilestored 0xbbd +-#define MN_vpcomfalsed 0xbc8 +-#define MN_vpcomtrued 0xbd4 +-#define MN_pi2fd 0xbdf ++#define MN_vpaddd 0xb96 ++#define MN_vpshldd 0xb9d ++#define MN_kandd 0xba5 ++#define MN_vpandd 0xbab ++#define MN_vpexpandd 0xbb2 ++#define MN_vpblendd 0xbbc ++#define MN_vpgatherdd 0xbc5 ++#define MN_vpscatterdd 0xbd0 ++#define MN_vpshrdd 0xbdc ++#define MN_vpmacsdd 0xbe4 ++#define MN_vpmacssdd 0xbed ++#define MN_rdseed 0xbf7 ++#define MN_vpcomged 0xbfe ++#define MN_vpcomled 0xc07 ++#define MN_vpcmpnled 0xc10 ++#define MN_vpcmpled 0xc1a ++#define MN_tilestored 0xc23 ++#define MN_vpcomfalsed 0xc2e ++#define MN_vpcomtrued 0xc3a ++#define MN_pi2fd 0xc45 + #define MN_pshufd (MN_vpshufd + 1) +-#define MN_vpshufd 0xbe5 +-#define MN_vpternlogd 0xbed +-#define MN_pf2id 0xbf8 +-#define MN_invpcid 0xbfe +-#define MN_rdpid 0xc06 +-#define MN_invvpid 0xc0c +-#define MN_cpuid 0xc14 +-#define MN_fbld 0xc1a +-#define MN_cld 0xc1f +-#define MN_fld 0xc23 ++#define MN_vpshufd 0xc4b ++#define MN_vpternlogd 0xc53 ++#define MN_pf2id 0xc5e ++#define MN_invpcid 0xc64 ++#define MN_rdpid 0xc6c ++#define MN_invvpid 0xc72 ++#define MN_cpuid 0xc7a ++#define MN_fbld 0xc80 ++#define MN_cld 0xc85 ++#define MN_fld 0xc89 + #define MN_shld (MN_vpshld + 2) +-#define MN_vpshld 0xc27 +-#define MN_fild 0xc2e ++#define MN_vpshld 0xc8d ++#define MN_fild 0xc94 + #define MN_pslld (MN_vpslld + 1) +-#define MN_vpslld 0xc33 ++#define MN_vpslld 0xc99 + #define MN_pmulld (MN_vpmulld + 1) +-#define MN_vpmulld 0xc3a +-#define MN_vprold 0xc42 ++#define MN_vpmulld 0xca0 ++#define MN_vprold 0xca8 + #define MN_psrld (MN_vpsrld + 1) +-#define MN_vpsrld 0xc49 +-#define MN_vmptrld 0xc50 +-#define MN_kshiftld 0xc58 +-#define MN_enqcmd 0xc61 +-#define MN_vpblendmd 0xc68 +-#define MN_vptestnmd 0xc72 +-#define MN_vpcomd 0xc7c +-#define MN_vpermd 0xc83 +-#define MN_vptestmd 0xc8a ++#define MN_vpsrld 0xcaf ++#define MN_vmptrld 0xcb6 ++#define MN_kshiftld 0xcbe ++#define MN_enqcmd 0xcc7 ++#define MN_vpblendmd 0xcce ++#define MN_vptestnmd 0xcd8 ++#define MN_vpcomd 0xce2 ++#define MN_vpermd 0xce9 ++#define MN_vptestmd 0xcf0 + #define MN_and (MN_aand + 1) +-#define MN_aand 0xc93 ++#define MN_aand 0xcf9 + #define MN_pand (MN_vpand + 1) +-#define MN_vpand 0xc98 +-#define MN_rdrand 0xc9e +-#define MN_bnd 0xca5 +-#define MN_kandnd 0xca9 +-#define MN_vpandnd 0xcb0 +-#define MN_xend 0xcb8 +-#define MN_valignd 0xcbd ++#define MN_vpand 0xcfe ++#define MN_rdrand 0xd04 ++#define MN_bnd 0xd0b ++#define MN_kandnd 0xd0f ++#define MN_vpandnd 0xd16 ++#define MN_xend 0xd1e ++#define MN_valignd 0xd23 + #define MN_psignd (MN_vpsignd + 1) +-#define MN_vpsignd 0xcc5 +-#define MN_bound 0xccd +-#define MN_slod 0xcd3 +-#define MN_vfmaddsub231pd 0xcd8 +-#define MN_vfmsub231pd 0xce7 +-#define MN_vfnmsub231pd 0xcf3 +-#define MN_vfmsubadd231pd 0xd00 +-#define MN_vfmadd231pd 0xd0f +-#define MN_vfnmadd231pd 0xd1b +-#define MN_vfmaddsub132pd 0xd28 +-#define MN_vfmsub132pd 0xd37 +-#define MN_vfnmsub132pd 0xd43 +-#define MN_vfmsubadd132pd 0xd50 +-#define MN_vfmadd132pd 0xd5f +-#define MN_vfnmadd132pd 0xd6b +-#define MN_vcvtph2pd 0xd78 +-#define MN_vpermi2pd 0xd82 +-#define MN_cvtpi2pd 0xd8c +-#define MN_vpermil2pd 0xd95 +-#define MN_vexp2pd 0xda0 ++#define MN_vpsignd 0xd2b ++#define MN_bound 0xd33 ++#define MN_slod 0xd39 ++#define MN_vfmaddsub231pd 0xd3e ++#define MN_vfmsub231pd 0xd4d ++#define MN_vfnmsub231pd 0xd59 ++#define MN_vfmsubadd231pd 0xd66 ++#define MN_vfmadd231pd 0xd75 ++#define MN_vfnmadd231pd 0xd81 ++#define MN_vfmaddsub132pd 0xd8e ++#define MN_vfmsub132pd 0xd9d ++#define MN_vfnmsub132pd 0xda9 ++#define MN_vfmsubadd132pd 0xdb6 ++#define MN_vfmadd132pd 0xdc5 ++#define MN_vfnmadd132pd 0xdd1 ++#define MN_vcvtph2pd 0xdde ++#define MN_vpermi2pd 0xde8 ++#define MN_cvtpi2pd 0xdf2 ++#define MN_vpermil2pd 0xdfb ++#define MN_vexp2pd 0xe06 + #define MN_cvtdq2pd (MN_vcvtdq2pd + 1) +-#define MN_vcvtdq2pd 0xda8 +-#define MN_vcvtudq2pd 0xdb2 +-#define MN_vcvtqq2pd 0xdbd +-#define MN_vcvtuqq2pd 0xdc7 ++#define MN_vcvtdq2pd 0xe0e ++#define MN_vcvtudq2pd 0xe18 ++#define MN_vcvtqq2pd 0xe23 ++#define MN_vcvtuqq2pd 0xe2d + #define MN_cvtps2pd (MN_vcvtps2pd + 1) +-#define MN_vcvtps2pd 0xdd2 +-#define MN_vpermt2pd 0xddc +-#define MN_vfmaddsub213pd 0xde6 +-#define MN_vfmsub213pd 0xdf5 +-#define MN_vfnmsub213pd 0xe01 +-#define MN_vfmsubadd213pd 0xe0e +-#define MN_vfmadd213pd 0xe1d +-#define MN_vfnmadd213pd 0xe29 +-#define MN_vrcp14pd 0xe36 +-#define MN_vrsqrt14pd 0xe3f +-#define MN_vrcp28pd 0xe4a +-#define MN_vrsqrt28pd 0xe53 ++#define MN_vcvtps2pd 0xe38 ++#define MN_vpermt2pd 0xe42 ++#define MN_vfmaddsub213pd 0xe4c ++#define MN_vfmsub213pd 0xe5b ++#define MN_vfnmsub213pd 0xe67 ++#define MN_vfmsubadd213pd 0xe74 ++#define MN_vfmadd213pd 0xe83 ++#define MN_vfnmadd213pd 0xe8f ++#define MN_vrcp14pd 0xe9c ++#define MN_vrsqrt14pd 0xea5 ++#define MN_vrcp28pd 0xeb0 ++#define MN_vrsqrt28pd 0xeb9 + #define MN_movapd (MN_vmovapd + 1) +-#define MN_vmovapd 0xe5e +-#define MN_pswapd 0xe66 ++#define MN_vmovapd 0xec4 ++#define MN_pswapd 0xecc + #define MN_subpd (MN_addsubpd + 3) + #define MN_addsubpd (MN_vfmaddsubpd + 3) +-#define MN_vfmaddsubpd 0xe6d +-#define MN_vaddsubpd 0xe79 ++#define MN_vfmaddsubpd 0xed3 ++#define MN_vaddsubpd 0xedf + #define MN_hsubpd (MN_vhsubpd + 1) +-#define MN_vhsubpd 0xe83 +-#define MN_vfmsubpd 0xe8b +-#define MN_vfnmsubpd 0xe94 +-#define MN_vsubpd 0xe9e +-#define MN_vgatherpf0dpd 0xea5 +-#define MN_vscatterpf0dpd 0xeb3 +-#define MN_vgatherpf1dpd 0xec2 +-#define MN_vscatterpf1dpd 0xed0 ++#define MN_vhsubpd 0xee9 ++#define MN_vfmsubpd 0xef1 ++#define MN_vfnmsubpd 0xefa ++#define MN_vsubpd 0xf04 ++#define MN_vgatherpf0dpd 0xf0b ++#define MN_vscatterpf0dpd 0xf19 ++#define MN_vgatherpf1dpd 0xf28 ++#define MN_vscatterpf1dpd 0xf36 + #define MN_addpd (MN_vfmsubaddpd + 6) +-#define MN_vfmsubaddpd 0xedf ++#define MN_vfmsubaddpd 0xf45 + #define MN_haddpd (MN_vhaddpd + 1) +-#define MN_vhaddpd 0xeeb +-#define MN_vfmaddpd 0xef3 +-#define MN_vfnmaddpd 0xefc +-#define MN_vaddpd 0xf06 ++#define MN_vhaddpd 0xf51 ++#define MN_vfmaddpd 0xf59 ++#define MN_vfnmaddpd 0xf62 ++#define MN_vaddpd 0xf6c + #define MN_andpd (MN_vexpandpd + 4) +-#define MN_vexpandpd 0xf0d +-#define MN_vandpd 0xf17 ++#define MN_vexpandpd 0xf73 ++#define MN_vandpd 0xf7d + #define MN_blendpd (MN_vblendpd + 1) +-#define MN_vblendpd 0xf1e ++#define MN_vblendpd 0xf84 + #define MN_roundpd (MN_vroundpd + 1) +-#define MN_vroundpd 0xf27 +-#define MN_vgatherdpd 0xf30 +-#define MN_vscatterdpd 0xf3b ++#define MN_vroundpd 0xf8d ++#define MN_vgatherdpd 0xf96 ++#define MN_vscatterdpd 0xfa1 + #define MN_cmpunordpd (MN_vcmpunordpd + 1) +-#define MN_vcmpunordpd 0xf47 ++#define MN_vcmpunordpd 0xfad + #define MN_cmpordpd (MN_vcmpordpd + 1) +-#define MN_vcmpordpd 0xf53 +-#define MN_vreducepd 0xf5d +-#define MN_vrangepd 0xf67 +-#define MN_vcmpngepd 0xf70 +-#define MN_vcmpgepd 0xf7a +-#define MN_vrndscalepd 0xf83 ++#define MN_vcmpordpd 0xfb9 ++#define MN_vreducepd 0xfc3 ++#define MN_vrangepd 0xfcd ++#define MN_vcmpngepd 0xfd6 ++#define MN_vcmpgepd 0xfe0 ++#define MN_vrndscalepd 0xfe9 + #define MN_cmpnlepd (MN_vcmpnlepd + 1) +-#define MN_vcmpnlepd 0xf8f ++#define MN_vcmpnlepd 0xff5 + #define MN_cmplepd (MN_vcmplepd + 1) +-#define MN_vcmplepd 0xf99 +-#define MN_vcmpfalsepd 0xfa2 +-#define MN_vcmptruepd 0xfae +-#define MN_vscalefpd 0xfb9 ++#define MN_vcmplepd 0xfff ++#define MN_vcmpfalsepd 0x1008 ++#define MN_vcmptruepd 0x1014 ++#define MN_vscalefpd 0x101f + #define MN_shufpd (MN_vshufpd + 1) +-#define MN_vshufpd 0xfc3 ++#define MN_vshufpd 0x1029 + #define MN_unpckhpd (MN_vunpckhpd + 1) +-#define MN_vunpckhpd 0xfcb ++#define MN_vunpckhpd 0x1031 + #define MN_movhpd (MN_vmovhpd + 1) +-#define MN_vmovhpd 0xfd5 ++#define MN_vmovhpd 0x103b + #define MN_movmskpd (MN_vmovmskpd + 1) +-#define MN_vmovmskpd 0xfdd +-#define MN_vpermilpd 0xfe7 ++#define MN_vmovmskpd 0x1043 ++#define MN_vpermilpd 0x104d + #define MN_unpcklpd (MN_vunpcklpd + 1) +-#define MN_vunpcklpd 0xff1 ++#define MN_vunpcklpd 0x1057 + #define MN_mulpd (MN_vmulpd + 1) +-#define MN_vmulpd 0xffb ++#define MN_vmulpd 0x1061 + #define MN_movlpd (MN_vmovlpd + 1) +-#define MN_vmovlpd 0x1002 +-#define MN_vpcmpd 0x100a +-#define MN_vblendmpd 0x1011 +-#define MN_vfixupimmpd 0x101b +-#define MN_vpermpd 0x1027 ++#define MN_vmovlpd 0x1068 ++#define MN_vpcmpd 0x1070 ++#define MN_vblendmpd 0x1077 ++#define MN_vfixupimmpd 0x1081 ++#define MN_vpermpd 0x108d + #define MN_andnpd (MN_vandnpd + 1) +-#define MN_vandnpd 0x102f ++#define MN_vandnpd 0x1095 + #define MN_minpd (MN_vminpd + 1) +-#define MN_vminpd 0x1037 ++#define MN_vminpd 0x109d + #define MN_dppd (MN_vdppd + 1) +-#define MN_vdppd 0x103e ++#define MN_vdppd 0x10a4 + #define MN_cmppd (MN_vcmppd + 1) +-#define MN_vcmppd 0x1044 +-#define MN_vgetexppd 0x104b +-#define MN_vgatherpf0qpd 0x1055 +-#define MN_vscatterpf0qpd 0x1063 +-#define MN_vgatherpf1qpd 0x1072 +-#define MN_vscatterpf1qpd 0x1080 +-#define MN_vcmpunord_qpd 0x108f +-#define MN_vcmpord_qpd 0x109d ++#define MN_vcmppd 0x10aa ++#define MN_vgetexppd 0x10b1 ++#define MN_vgatherpf0qpd 0x10bb ++#define MN_vscatterpf0qpd 0x10c9 ++#define MN_vgatherpf1qpd 0x10d8 ++#define MN_vscatterpf1qpd 0x10e6 ++#define MN_vcmpunord_qpd 0x10f5 ++#define MN_vcmpord_qpd 0x1103 + #define MN_cmpneqpd (MN_vcmpneqpd + 1) +-#define MN_vcmpneqpd 0x10a9 ++#define MN_vcmpneqpd 0x110f + #define MN_cmpeqpd (MN_vcmpeqpd + 1) +-#define MN_vcmpeqpd 0x10b3 +-#define MN_vcmpge_oqpd 0x10bc +-#define MN_vcmple_oqpd 0x10c8 +-#define MN_vcmpfalse_oqpd 0x10d4 +-#define MN_vcmpneq_oqpd 0x10e3 +-#define MN_vcmpeq_oqpd 0x10f0 +-#define MN_vcmpgt_oqpd 0x10fc +-#define MN_vcmplt_oqpd 0x1108 +-#define MN_vgatherqpd 0x1114 +-#define MN_vscatterqpd 0x111f +-#define MN_vcmpnge_uqpd 0x112b +-#define MN_vcmpnle_uqpd 0x1138 +-#define MN_vcmptrue_uqpd 0x1145 +-#define MN_vcmpneq_uqpd 0x1153 +-#define MN_vcmpeq_uqpd 0x1160 +-#define MN_vcmpngt_uqpd 0x116c +-#define MN_vcmpnlt_uqpd 0x1179 ++#define MN_vcmpeqpd 0x1119 ++#define MN_vcmpge_oqpd 0x1122 ++#define MN_vcmple_oqpd 0x112e ++#define MN_vcmpfalse_oqpd 0x113a ++#define MN_vcmpneq_oqpd 0x1149 ++#define MN_vcmpeq_oqpd 0x1156 ++#define MN_vcmpgt_oqpd 0x1162 ++#define MN_vcmplt_oqpd 0x116e ++#define MN_vgatherqpd 0x117a ++#define MN_vscatterqpd 0x1185 ++#define MN_vcmpnge_uqpd 0x1191 ++#define MN_vcmpnle_uqpd 0x119e ++#define MN_vcmptrue_uqpd 0x11ab ++#define MN_vcmpneq_uqpd 0x11b9 ++#define MN_vcmpeq_uqpd 0x11c6 ++#define MN_vcmpngt_uqpd 0x11d2 ++#define MN_vcmpnlt_uqpd 0x11df + #define MN_orpd (MN_vorpd + 1) +-#define MN_vorpd 0x1186 ++#define MN_vorpd 0x11ec + #define MN_xorpd (MN_vxorpd + 1) +-#define MN_vxorpd 0x118c +-#define MN_vcmpunord_spd 0x1193 +-#define MN_vcmpord_spd 0x11a1 +-#define MN_vcmpge_ospd 0x11ad +-#define MN_vcmple_ospd 0x11b9 +-#define MN_vcmpfalse_ospd 0x11c5 +-#define MN_vcmpneq_ospd 0x11d4 +-#define MN_vcmpeq_ospd 0x11e1 +-#define MN_vcmpgt_ospd 0x11ed +-#define MN_vcmplt_ospd 0x11f9 +-#define MN_vfpclasspd 0x1205 +-#define MN_incsspd 0x1210 +-#define MN_rdsspd 0x1218 +-#define MN_vcompresspd 0x121f +-#define MN_vcmpnge_uspd 0x122b +-#define MN_vcmpnle_uspd 0x1238 +-#define MN_vcmptrue_uspd 0x1245 +-#define MN_vcmpneq_uspd 0x1253 +-#define MN_vcmpeq_uspd 0x1260 +-#define MN_vcmpngt_uspd 0x126c +-#define MN_vcmpnlt_uspd 0x1279 +-#define MN_vcmpngtpd 0x1286 +-#define MN_vcmpgtpd 0x1290 ++#define MN_vxorpd 0x11f2 ++#define MN_vcmpunord_spd 0x11f9 ++#define MN_vcmpord_spd 0x1207 ++#define MN_vcmpge_ospd 0x1213 ++#define MN_vcmple_ospd 0x121f ++#define MN_vcmpfalse_ospd 0x122b ++#define MN_vcmpneq_ospd 0x123a ++#define MN_vcmpeq_ospd 0x1247 ++#define MN_vcmpgt_ospd 0x1253 ++#define MN_vcmplt_ospd 0x125f ++#define MN_vfpclasspd 0x126b ++#define MN_incsspd 0x1276 ++#define MN_rdsspd 0x127e ++#define MN_vcompresspd 0x1285 ++#define MN_vcmpnge_uspd 0x1291 ++#define MN_vcmpnle_uspd 0x129e ++#define MN_vcmptrue_uspd 0x12ab ++#define MN_vcmpneq_uspd 0x12b9 ++#define MN_vcmpeq_uspd 0x12c6 ++#define MN_vcmpngt_uspd 0x12d2 ++#define MN_vcmpnlt_uspd 0x12df ++#define MN_vcmpngtpd 0x12ec ++#define MN_vcmpgtpd 0x12f6 + #define MN_cmpnltpd (MN_vcmpnltpd + 1) +-#define MN_vcmpnltpd 0x1299 ++#define MN_vcmpnltpd 0x12ff + #define MN_cmpltpd (MN_vcmpltpd + 1) +-#define MN_vcmpltpd 0x12a3 +-#define MN_vgetmantpd 0x12ac ++#define MN_vcmpltpd 0x1309 ++#define MN_vgetmantpd 0x1312 + #define MN_movntpd (MN_vmovntpd + 1) +-#define MN_vmovntpd 0x12b7 ++#define MN_vmovntpd 0x131d + #define MN_sqrtpd (MN_vsqrtpd + 1) +-#define MN_vsqrtpd 0x12c0 +-#define MN_vtestpd 0x12c8 ++#define MN_vsqrtpd 0x1326 ++#define MN_vtestpd 0x132e + #define MN_movupd (MN_vmovupd + 1) +-#define MN_vmovupd 0x12d0 ++#define MN_vmovupd 0x1336 + #define MN_blendvpd (MN_vblendvpd + 1) +-#define MN_vblendvpd 0x12d8 ++#define MN_vblendvpd 0x133e + #define MN_divpd (MN_vdivpd + 1) +-#define MN_vdivpd 0x12e2 +-#define MN_vmaskmovpd 0x12e9 ++#define MN_vdivpd 0x1348 ++#define MN_vmaskmovpd 0x134f + #define MN_maxpd (MN_vmaxpd + 1) +-#define MN_vmaxpd 0x12f4 +-#define MN_vfrczpd 0x12fb +-#define MN_vpcomeqd 0x1303 +-#define MN_vpcomneqd 0x130c +-#define MN_vpcmpneqd 0x1316 ++#define MN_vmaxpd 0x135a ++#define MN_vfrczpd 0x1361 ++#define MN_vpcomeqd 0x1369 ++#define MN_vpcomneqd 0x1372 ++#define MN_vpcmpneqd 0x137c + #define MN_pcmpeqd (MN_vpcmpeqd + 1) +-#define MN_vpcmpeqd 0x1320 +-#define MN_vpgatherqd 0x1329 +-#define MN_vpscatterqd 0x1334 +-#define MN_vpmovusqd 0x1340 +-#define MN_vpmovsqd 0x134a +-#define MN_vpmovqd 0x1353 +-#define MN_shrd 0x135b +-#define MN_kord 0x1360 +-#define MN_kxnord 0x1365 +-#define MN_vpord 0x136c +-#define MN_vprord 0x1372 ++#define MN_vpcmpeqd 0x1386 ++#define MN_vpgatherqd 0x138f ++#define MN_vpscatterqd 0x139a ++#define MN_vpmovusqd 0x13a6 ++#define MN_vpmovsqd 0x13b0 ++#define MN_vpmovqd 0x13b9 ++#define MN_shrd 0x13c1 ++#define MN_kord 0x13c6 ++#define MN_kxnord 0x13cb ++#define MN_vpord 0x13d2 ++#define MN_vprord 0x13d8 + #define MN_word (MN_aword + 1) +-#define MN_aword 0x1379 ++#define MN_aword 0x13df + #define MN_dword (MN_adword + 1) +-#define MN_adword 0x137f +-#define MN_kxord 0x1386 +-#define MN_vpxord 0x138c ++#define MN_adword 0x13e5 ++#define MN_kxord 0x13ec ++#define MN_vpxord 0x13f2 + #define MN_pinsrd (MN_vpinsrd + 1) +-#define MN_vpinsrd 0x1393 +-#define MN_kshiftrd 0x139b ++#define MN_vpinsrd 0x13f9 ++#define MN_kshiftrd 0x1401 + #define MN_pextrd (MN_vpextrd + 1) +-#define MN_vpextrd 0x13a4 +-#define MN_vfmsub231sd 0x13ac +-#define MN_vfnmsub231sd 0x13b8 +-#define MN_vfmadd231sd 0x13c5 +-#define MN_vfnmadd231sd 0x13d1 +-#define MN_vfmsub132sd 0x13de +-#define MN_vfnmsub132sd 0x13ea +-#define MN_vfmadd132sd 0x13f7 +-#define MN_vfnmadd132sd 0x1403 +-#define MN_vcvtsh2sd 0x1410 ++#define MN_vpextrd 0x140a ++#define MN_vfmsub231sd 0x1412 ++#define MN_vfnmsub231sd 0x141e ++#define MN_vfmadd231sd 0x142b ++#define MN_vfnmadd231sd 0x1437 ++#define MN_vfmsub132sd 0x1444 ++#define MN_vfnmsub132sd 0x1450 ++#define MN_vfmadd132sd 0x145d ++#define MN_vfnmadd132sd 0x1469 ++#define MN_vcvtsh2sd 0x1476 + #define MN_cvtsi2sd (MN_vcvtsi2sd + 1) +-#define MN_vcvtsi2sd 0x141a +-#define MN_vcvtusi2sd 0x1424 ++#define MN_vcvtsi2sd 0x1480 ++#define MN_vcvtusi2sd 0x148a + #define MN_cvtss2sd (MN_vcvtss2sd + 1) +-#define MN_vcvtss2sd 0x142f +-#define MN_vfmsub213sd 0x1439 +-#define MN_vfnmsub213sd 0x1445 +-#define MN_vfmadd213sd 0x1452 +-#define MN_vfnmadd213sd 0x145e +-#define MN_vrcp14sd 0x146b +-#define MN_vrsqrt14sd 0x1474 +-#define MN_vrcp28sd 0x147f +-#define MN_vrsqrt28sd 0x1488 ++#define MN_vcvtss2sd 0x1495 ++#define MN_vfmsub213sd 0x149f ++#define MN_vfnmsub213sd 0x14ab ++#define MN_vfmadd213sd 0x14b8 ++#define MN_vfnmadd213sd 0x14c4 ++#define MN_vrcp14sd 0x14d1 ++#define MN_vrsqrt14sd 0x14da ++#define MN_vrcp28sd 0x14e5 ++#define MN_vrsqrt28sd 0x14ee + #define MN_pabsd (MN_vpabsd + 1) +-#define MN_vpabsd 0x1493 ++#define MN_vpabsd 0x14f9 + #define MN_subsd (MN_vfmsubsd + 3) +-#define MN_vfmsubsd 0x149a +-#define MN_vfnmsubsd 0x14a3 +-#define MN_vsubsd 0x14ad ++#define MN_vfmsubsd 0x1500 ++#define MN_vfnmsubsd 0x1509 ++#define MN_vsubsd 0x1513 + #define MN_addsd (MN_vfmaddsd + 3) +-#define MN_vfmaddsd 0x14b4 +-#define MN_vfnmaddsd 0x14bd +-#define MN_vaddsd 0x14c7 ++#define MN_vfmaddsd 0x151a ++#define MN_vfnmaddsd 0x1523 ++#define MN_vaddsd 0x152d + #define MN_roundsd (MN_vroundsd + 1) +-#define MN_vroundsd 0x14ce ++#define MN_vroundsd 0x1534 + #define MN_cmpunordsd (MN_vcmpunordsd + 1) +-#define MN_vcmpunordsd 0x14d7 ++#define MN_vcmpunordsd 0x153d + #define MN_cmpordsd (MN_vcmpordsd + 1) +-#define MN_vcmpordsd 0x14e3 +-#define MN_vreducesd 0x14ed +-#define MN_vrangesd 0x14f7 +-#define MN_vcmpngesd 0x1500 +-#define MN_vcmpgesd 0x150a +-#define MN_vrndscalesd 0x1513 ++#define MN_vcmpordsd 0x1549 ++#define MN_vreducesd 0x1553 ++#define MN_vrangesd 0x155d ++#define MN_vcmpngesd 0x1566 ++#define MN_vcmpgesd 0x1570 ++#define MN_vrndscalesd 0x1579 + #define MN_cmpnlesd (MN_vcmpnlesd + 1) +-#define MN_vcmpnlesd 0x151f ++#define MN_vcmpnlesd 0x1585 + #define MN_cmplesd (MN_vcmplesd + 1) +-#define MN_vcmplesd 0x1529 +-#define MN_vcmpfalsesd 0x1532 +-#define MN_vcmptruesd 0x153e +-#define MN_vscalefsd 0x1549 ++#define MN_vcmplesd 0x158f ++#define MN_vcmpfalsesd 0x1598 ++#define MN_vcmptruesd 0x15a4 ++#define MN_vscalefsd 0x15af + #define MN_comisd (MN_ucomisd + 1) + #define MN_ucomisd (MN_vucomisd + 1) +-#define MN_vucomisd 0x1553 +-#define MN_vcomisd 0x155c ++#define MN_vucomisd 0x15b9 ++#define MN_vcomisd 0x15c2 + #define MN_mulsd (MN_vmulsd + 1) +-#define MN_vmulsd 0x1564 +-#define MN_vfixupimmsd 0x156b ++#define MN_vmulsd 0x15ca ++#define MN_vfixupimmsd 0x15d1 + #define MN_minsd (MN_pminsd + 1) + #define MN_pminsd (MN_vpminsd + 1) +-#define MN_vpminsd 0x1577 +-#define MN_vminsd 0x157f ++#define MN_vpminsd 0x15dd ++#define MN_vminsd 0x15e5 + #define MN_cmpsd (MN_vcmpsd + 1) +-#define MN_vcmpsd 0x1586 +-#define MN_vgetexpsd 0x158d +-#define MN_vcmpunord_qsd 0x1597 +-#define MN_vcmpord_qsd 0x15a5 ++#define MN_vcmpsd 0x15ec ++#define MN_vgetexpsd 0x15f3 ++#define MN_vcmpunord_qsd 0x15fd ++#define MN_vcmpord_qsd 0x160b + #define MN_cmpneqsd (MN_vcmpneqsd + 1) +-#define MN_vcmpneqsd 0x15b1 ++#define MN_vcmpneqsd 0x1617 + #define MN_cmpeqsd (MN_vcmpeqsd + 1) +-#define MN_vcmpeqsd 0x15bb +-#define MN_vcmpge_oqsd 0x15c4 +-#define MN_vcmple_oqsd 0x15d0 +-#define MN_vcmpfalse_oqsd 0x15dc +-#define MN_vcmpneq_oqsd 0x15eb +-#define MN_vcmpeq_oqsd 0x15f8 +-#define MN_vcmpgt_oqsd 0x1604 +-#define MN_vcmplt_oqsd 0x1610 +-#define MN_vcmpnge_uqsd 0x161c +-#define MN_vcmpnle_uqsd 0x1629 +-#define MN_vcmptrue_uqsd 0x1636 +-#define MN_vcmpneq_uqsd 0x1644 +-#define MN_vcmpeq_uqsd 0x1651 +-#define MN_vcmpngt_uqsd 0x165d +-#define MN_vcmpnlt_uqsd 0x166a +-#define MN_vcmpunord_ssd 0x1677 +-#define MN_vcmpord_ssd 0x1685 +-#define MN_vpdpbssd 0x1691 +-#define MN_tdpbssd 0x169a +-#define MN_vpcompressd 0x16a2 +-#define MN_vcmpge_ossd 0x16ae +-#define MN_vcmple_ossd 0x16ba +-#define MN_vcmpfalse_ossd 0x16c6 +-#define MN_vcmpneq_ossd 0x16d5 +-#define MN_vcmpeq_ossd 0x16e2 +-#define MN_vcmpgt_ossd 0x16ee +-#define MN_vcmplt_ossd 0x16fa +-#define MN_wrssd 0x1706 +-#define MN_vfpclasssd 0x170c +-#define MN_vcmpnge_ussd 0x1717 +-#define MN_vcmpnle_ussd 0x1724 +-#define MN_vcmptrue_ussd 0x1731 +-#define MN_vcmpneq_ussd 0x173f +-#define MN_vcmpeq_ussd 0x174c +-#define MN_vcmpngt_ussd 0x1758 +-#define MN_vcmpnlt_ussd 0x1765 +-#define MN_wrussd 0x1772 +-#define MN_vp4dpwssd 0x1779 +-#define MN_vpdpwssd 0x1783 +-#define MN_vcmpngtsd 0x178c +-#define MN_vcmpgtsd 0x1796 ++#define MN_vcmpeqsd 0x1621 ++#define MN_vcmpge_oqsd 0x162a ++#define MN_vcmple_oqsd 0x1636 ++#define MN_vcmpfalse_oqsd 0x1642 ++#define MN_vcmpneq_oqsd 0x1651 ++#define MN_vcmpeq_oqsd 0x165e ++#define MN_vcmpgt_oqsd 0x166a ++#define MN_vcmplt_oqsd 0x1676 ++#define MN_vcmpnge_uqsd 0x1682 ++#define MN_vcmpnle_uqsd 0x168f ++#define MN_vcmptrue_uqsd 0x169c ++#define MN_vcmpneq_uqsd 0x16aa ++#define MN_vcmpeq_uqsd 0x16b7 ++#define MN_vcmpngt_uqsd 0x16c3 ++#define MN_vcmpnlt_uqsd 0x16d0 ++#define MN_vcmpunord_ssd 0x16dd ++#define MN_vcmpord_ssd 0x16eb ++#define MN_vpdpbssd 0x16f7 ++#define MN_tdpbssd 0x1700 ++#define MN_vpcompressd 0x1708 ++#define MN_vcmpge_ossd 0x1714 ++#define MN_vcmple_ossd 0x1720 ++#define MN_vcmpfalse_ossd 0x172c ++#define MN_vcmpneq_ossd 0x173b ++#define MN_vcmpeq_ossd 0x1748 ++#define MN_vcmpgt_ossd 0x1754 ++#define MN_vcmplt_ossd 0x1760 ++#define MN_wrssd 0x176c ++#define MN_vfpclasssd 0x1772 ++#define MN_vcmpnge_ussd 0x177d ++#define MN_vcmpnle_ussd 0x178a ++#define MN_vcmptrue_ussd 0x1797 ++#define MN_vcmpneq_ussd 0x17a5 ++#define MN_vcmpeq_ussd 0x17b2 ++#define MN_vcmpngt_ussd 0x17be ++#define MN_vcmpnlt_ussd 0x17cb ++#define MN_wrussd 0x17d8 ++#define MN_vp4dpwssd 0x17df ++#define MN_vpdpwssd 0x17e9 ++#define MN_vcmpngtsd 0x17f2 ++#define MN_vcmpgtsd 0x17fc + #define MN_cmpnltsd (MN_vcmpnltsd + 1) +-#define MN_vcmpnltsd 0x179f ++#define MN_vcmpnltsd 0x1805 + #define MN_cmpltsd (MN_vcmpltsd + 1) +-#define MN_vcmpltsd 0x17a9 +-#define MN_vgetmantsd 0x17b2 +-#define MN_movntsd 0x17bd ++#define MN_vcmpltsd 0x180f ++#define MN_vgetmantsd 0x1818 ++#define MN_movntsd 0x1823 + #define MN_sqrtsd (MN_vsqrtsd + 1) +-#define MN_vsqrtsd 0x17c5 +-#define MN_vbroadcastsd 0x17cd +-#define MN_vpdpbusd 0x17da +-#define MN_tdpbusd 0x17e3 ++#define MN_vsqrtsd 0x182b ++#define MN_vbroadcastsd 0x1833 ++#define MN_vpdpbusd 0x1840 ++#define MN_tdpbusd 0x1849 ++#define MN_vpdpwusd 0x1851 + #define MN_divsd (MN_vdivsd + 1) +-#define MN_vdivsd 0x17eb ++#define MN_vdivsd 0x185a + #define MN_movsd (MN_vmovsd + 1) +-#define MN_vmovsd 0x17f2 ++#define MN_vmovsd 0x1861 + #define MN_maxsd (MN_pmaxsd + 1) + #define MN_pmaxsd (MN_vpmaxsd + 1) +-#define MN_vpmaxsd 0x17f9 +-#define MN_vmaxsd 0x1801 +-#define MN_vfrczsd 0x1808 +-#define MN_vp2intersectd 0x1810 +-#define MN_vpconflictd 0x181e +-#define MN_vpcomgtd 0x182a ++#define MN_vpmaxsd 0x1868 ++#define MN_vmaxsd 0x1870 ++#define MN_vfrczsd 0x1877 ++#define MN_vp2intersectd 0x187f ++#define MN_vpconflictd 0x188d ++#define MN_vpcomgtd 0x1899 + #define MN_pcmpgtd (MN_vpcmpgtd + 1) +-#define MN_vpcmpgtd 0x1833 +-#define MN_cltd 0x183c +-#define MN_vpcomltd 0x1841 +-#define MN_vpcmpnltd 0x184a +-#define MN_vpcmpltd 0x1854 +-#define MN_vpopcntd 0x185d +-#define MN_vplzcntd 0x1866 +-#define MN_knotd 0x186f +-#define MN_vprotd 0x1875 ++#define MN_vpcmpgtd 0x18a2 ++#define MN_cltd 0x18ab ++#define MN_vpcomltd 0x18b0 ++#define MN_vpcmpnltd 0x18b9 ++#define MN_vpcmpltd 0x18c3 ++#define MN_vpopcntd 0x18cc ++#define MN_vplzcntd 0x18d5 ++#define MN_knotd 0x18de ++#define MN_vprotd 0x18e4 + #define MN_std (MN_vpbroadcastd + 9) +-#define MN_vpbroadcastd 0x187c +-#define MN_ktestd 0x1889 +-#define MN_kortestd 0x1890 +-#define MN_cwtd 0x1899 +-#define MN_vpcomgeud 0x189e +-#define MN_vpcomleud 0x18a8 +-#define MN_vpcmpnleud 0x18b2 +-#define MN_vpcmpleud 0x18bd +-#define MN_vpcomfalseud 0x18c7 +-#define MN_vpcomtrueud 0x18d4 +-#define MN_vpcomud 0x18e0 ++#define MN_vpbroadcastd 0x18eb ++#define MN_ktestd 0x18f8 ++#define MN_kortestd 0x18ff ++#define MN_cwtd 0x1908 ++#define MN_vpcomgeud 0x190d ++#define MN_vpcomleud 0x1917 ++#define MN_vpcmpnleud 0x1921 ++#define MN_vpcmpleud 0x192c ++#define MN_vpcomfalseud 0x1936 ++#define MN_vpcomtrueud 0x1943 ++#define MN_vpcomud 0x194f + #define MN_pminud (MN_vpminud + 1) +-#define MN_vpminud 0x18e8 +-#define MN_vpcmpud 0x18f0 +-#define MN_vpcomequd 0x18f8 +-#define MN_vpcomnequd 0x1902 +-#define MN_vpcmpnequd 0x190d +-#define MN_vpcmpequd 0x1918 +-#define MN_vpdpbsud 0x1922 +-#define MN_tdpbsud 0x192b +-#define MN_vpcomgtud 0x1933 +-#define MN_vpcomltud 0x193d +-#define MN_vpcmpnltud 0x1947 +-#define MN_vpcmpltud 0x1952 +-#define MN_vpdpbuud 0x195c +-#define MN_tdpbuud 0x1965 ++#define MN_vpminud 0x1957 ++#define MN_vpcmpud 0x195f ++#define MN_vpcomequd 0x1967 ++#define MN_vpcomnequd 0x1971 ++#define MN_vpcmpnequd 0x197c ++#define MN_vpcmpequd 0x1987 ++#define MN_vpdpbsud 0x1991 ++#define MN_tdpbsud 0x199a ++#define MN_vpdpwsud 0x19a2 ++#define MN_vpcomgtud 0x19ab ++#define MN_vpcomltud 0x19b5 ++#define MN_vpcmpnltud 0x19bf ++#define MN_vpcmpltud 0x19ca ++#define MN_vpdpbuud 0x19d4 ++#define MN_tdpbuud 0x19dd ++#define MN_vpdpwuud 0x19e5 + #define MN_pmaxud (MN_vpmaxud + 1) +-#define MN_vpmaxud 0x196d +-#define MN_vpsravd 0x1975 +-#define MN_vpshldvd 0x197d +-#define MN_vpshrdvd 0x1986 +-#define MN_vpsllvd 0x198f +-#define MN_vprolvd 0x1997 +-#define MN_vpsrlvd 0x199f ++#define MN_vpmaxud 0x19ee ++#define MN_vpsravd 0x19f6 ++#define MN_vpshldvd 0x19fe ++#define MN_vpshrdvd 0x1a07 ++#define MN_vpsllvd 0x1a10 ++#define MN_vprolvd 0x1a18 ++#define MN_vpsrlvd 0x1a20 + #define MN_invd (MN_wbinvd + 2) +-#define MN_wbinvd 0x19a7 +-#define MN_wbnoinvd 0x19ae ++#define MN_wbinvd 0x1a28 ++#define MN_wbnoinvd 0x1a2f + #define MN_movd (MN_kmovd + 1) + #define MN_kmovd (MN_vpmaskmovd + 5) +-#define MN_vpmaskmovd 0x19b7 +-#define MN_vmovd 0x19c2 +-#define MN_vprorvd 0x19c8 +-#define MN_vphsubwd 0x19d0 +-#define MN_cwd 0x19d9 +-#define MN_vphaddwd 0x19dd ++#define MN_vpmaskmovd 0x1a38 ++#define MN_vmovd 0x1a43 ++#define MN_vprorvd 0x1a49 ++#define MN_vphsubwd 0x1a51 ++#define MN_cwd 0x1a5a ++#define MN_vphaddwd 0x1a5e + #define MN_pmaddwd (MN_vpmaddwd + 1) +-#define MN_vpmaddwd 0x19e6 ++#define MN_vpmaddwd 0x1a67 + #define MN_punpckhwd (MN_vpunpckhwd + 1) +-#define MN_vpunpckhwd 0x19ef +-#define MN_kunpckwd 0x19fa ++#define MN_vpunpckhwd 0x1a70 ++#define MN_kunpckwd 0x1a7b + #define MN_punpcklwd (MN_vpunpcklwd + 1) +-#define MN_vpunpcklwd 0x1a03 +-#define MN_vpmacswd 0x1a0e +-#define MN_vpmadcswd 0x1a17 +-#define MN_vpmacsswd 0x1a21 +-#define MN_vpmadcsswd 0x1a2b +-#define MN_vphadduwd 0x1a36 ++#define MN_vpunpcklwd 0x1a84 ++#define MN_vpmacswd 0x1a8f ++#define MN_vpmadcswd 0x1a98 ++#define MN_vpmacsswd 0x1aa2 ++#define MN_vpmadcsswd 0x1aac ++#define MN_vphadduwd 0x1ab7 + #define MN_pmovsxwd (MN_vpmovsxwd + 1) +-#define MN_vpmovsxwd 0x1a40 ++#define MN_vpmovsxwd 0x1ac1 + #define MN_pmovzxwd (MN_vpmovzxwd + 1) +-#define MN_vpmovzxwd 0x1a4a +-#define MN_movsxd 0x1a54 +-#define MN_fldl2e 0x1a5b +-#define MN_jae 0x1a62 +-#define MN_jnae 0x1a66 +-#define MN_setnae 0x1a6b ++#define MN_vpmovzxwd 0x1acb ++#define MN_movsxd 0x1ad5 ++#define MN_fldl2e 0x1adc ++#define MN_jae 0x1ae3 ++#define MN_jnae 0x1ae7 ++#define MN_setnae 0x1aec + #define MN_cmovnae (MN_fcmovnae + 1) +-#define MN_fcmovnae 0x1a72 +-#define MN_setae 0x1a7b ++#define MN_fcmovnae 0x1af3 ++#define MN_setae 0x1afc + #define MN_cmovae (MN_fcmovae + 1) +-#define MN_fcmovae 0x1a81 +-#define MN_jbe 0x1a89 +-#define MN_jnbe 0x1a8d +-#define MN_setnbe 0x1a92 ++#define MN_fcmovae 0x1b02 ++#define MN_jbe 0x1b0a ++#define MN_jnbe 0x1b0e ++#define MN_setnbe 0x1b13 + #define MN_cmovnbe (MN_fcmovnbe + 1) +-#define MN_fcmovnbe 0x1a99 +-#define MN_setbe 0x1aa2 ++#define MN_fcmovnbe 0x1b1a ++#define MN_setbe 0x1b23 + #define MN_movbe (MN_cmovbe + 1) + #define MN_cmovbe (MN_fcmovbe + 1) +-#define MN_fcmovbe 0x1aa8 +-#define MN_lfence 0x1ab0 +-#define MN_mfence 0x1ab7 +-#define MN_sfence 0x1abe +-#define MN_cwde 0x1ac5 +-#define MN_ffree 0x1aca +-#define MN_jge 0x1ad0 +-#define MN_jnge 0x1ad4 +-#define MN_setnge 0x1ad9 +-#define MN_cmovnge 0x1ae0 +-#define MN_pfcmpge 0x1ae8 +-#define MN_setge 0x1af0 +-#define MN_cmovge 0x1af6 +-#define MN_je 0x1afd +-#define MN_fscale 0x1b00 +-#define MN_jle 0x1b07 +-#define MN_jnle 0x1b0b +-#define MN_setnle 0x1b10 +-#define MN_cmovnle 0x1b17 +-#define MN_setle 0x1b1f +-#define MN_cmovle 0x1b25 +-#define MN_vmresume 0x1b2c +-#define MN_jne 0x1b35 +-#define MN_repne 0x1b39 +-#define MN_loopne 0x1b3f +-#define MN_setne 0x1b46 ++#define MN_fcmovbe 0x1b29 ++#define MN_lfence 0x1b31 ++#define MN_mfence 0x1b38 ++#define MN_sfence 0x1b3f ++#define MN_cwde 0x1b46 ++#define MN_ffree 0x1b4b ++#define MN_jge 0x1b51 ++#define MN_jnge 0x1b55 ++#define MN_setnge 0x1b5a ++#define MN_cmovnge 0x1b61 ++#define MN_pfcmpge 0x1b69 ++#define MN_setge 0x1b71 ++#define MN_cmovge 0x1b77 ++#define MN_je 0x1b7e ++#define MN_fscale 0x1b81 ++#define MN_jle 0x1b88 ++#define MN_jnle 0x1b8c ++#define MN_setnle 0x1b91 ++#define MN_cmovnle 0x1b98 ++#define MN_setle 0x1ba0 ++#define MN_cmovle 0x1ba6 ++#define MN_vmresume 0x1bad ++#define MN_jne 0x1bb6 ++#define MN_repne 0x1bba ++#define MN_loopne 0x1bc0 ++#define MN_setne 0x1bc7 + #define MN_cmovne (MN_fcmovne + 1) +-#define MN_fcmovne 0x1b4c +-#define MN_repe 0x1b54 +-#define MN_jpe 0x1b59 +-#define MN_loope 0x1b5d +-#define MN_setpe 0x1b63 +-#define MN_cmovpe 0x1b69 +-#define MN_cdqe 0x1b70 +-#define MN_xacquire 0x1b75 +-#define MN_xstore 0x1b7e +-#define MN_rdfsbase 0x1b85 +-#define MN_wrfsbase 0x1b8e +-#define MN_rdgsbase 0x1b97 +-#define MN_wrgsbase 0x1ba0 +-#define MN_tilerelease 0x1ba9 +-#define MN_xrelease 0x1bb5 ++#define MN_fcmovne 0x1bcd ++#define MN_repe 0x1bd5 ++#define MN_jpe 0x1bda ++#define MN_loope 0x1bde ++#define MN_setpe 0x1be4 ++#define MN_cmovpe 0x1bea ++#define MN_cdqe 0x1bf1 ++#define MN_xacquire 0x1bf6 ++#define MN_xstore 0x1bff ++#define MN_rdfsbase 0x1c06 ++#define MN_wrfsbase 0x1c0f ++#define MN_rdgsbase 0x1c18 ++#define MN_wrgsbase 0x1c21 ++#define MN_tilerelease 0x1c2a ++#define MN_xrelease 0x1c36 + #define MN_pause (MN_tpause + 1) +-#define MN_tpause 0x1bbe +-#define MN_pvalidate 0x1bc5 +-#define MN_rmpupdate 0x1bcf +-#define MN_sete 0x1bd9 +-#define MN_vmwrite 0x1bde +-#define MN_ptwrite 0x1be6 +-#define MN_cldemote 0x1bee +-#define MN_sha1nexte 0x1bf7 +-#define MN_leave 0x1c01 +-#define MN_fsave 0x1c07 +-#define MN_vmsave 0x1c0d +-#define MN_fnsave 0x1c14 ++#define MN_tpause 0x1c3f ++#define MN_pvalidate 0x1c46 ++#define MN_rmpupdate 0x1c50 ++#define MN_sete 0x1c5a ++#define MN_vmwrite 0x1c5f ++#define MN_ptwrite 0x1c67 ++#define MN_cldemote 0x1c6f ++#define MN_sha1nexte 0x1c78 ++#define MN_leave 0x1c82 ++#define MN_fsave 0x1c88 ++#define MN_vmsave 0x1c8e ++#define MN_fnsave 0x1c95 + #define MN_xsave (MN_fxsave + 1) +-#define MN_fxsave 0x1c1b ++#define MN_fxsave 0x1c9c + #define MN_cmove (MN_fcmove + 1) +-#define MN_fcmove 0x1c22 +-#define MN_serialize 0x1c29 +-#define MN_vmxoff 0x1c33 +-#define MN_lahf 0x1c3a +-#define MN_sahf 0x1c3f +-#define MN_pushf 0x1c44 +-#define MN_popf 0x1c4a +-#define MN_bsf 0x1c4f +-#define MN_retf 0x1c53 +-#define MN_neg 0x1c58 +-#define MN_ldtilecfg 0x1c5c +-#define MN_sttilecfg 0x1c66 ++#define MN_fcmove 0x1ca3 ++#define MN_serialize 0x1caa ++#define MN_vmxoff 0x1cb4 ++#define MN_lahf 0x1cbb ++#define MN_sahf 0x1cc0 ++#define MN_pushf 0x1cc5 ++#define MN_popf 0x1ccb ++#define MN_bsf 0x1cd0 ++#define MN_retf 0x1cd4 ++#define MN_neg 0x1cd9 ++#define MN_ldtilecfg 0x1cdd ++#define MN_sttilecfg 0x1ce7 + #define MN_xchg (MN_cmpxchg + 3) +-#define MN_cmpxchg 0x1c70 +-#define MN_pconfig 0x1c78 +-#define MN_jg 0x1c80 +-#define MN_jng 0x1c83 +-#define MN_xstore_rng 0x1c87 +-#define MN_xstorerng 0x1c92 +-#define MN_setng 0x1c9c +-#define MN_cmovng 0x1ca2 +-#define MN_invlpg 0x1ca9 +-#define MN_setg 0x1cb0 +-#define MN_cmovg 0x1cb5 +-#define MN_vmlaunch 0x1cbb +-#define MN_prefetch 0x1cc4 +-#define MN_fxch 0x1ccd +-#define MN_vfmaddsub231ph 0x1cd2 +-#define MN_vfmsub231ph 0x1ce1 +-#define MN_vfnmsub231ph 0x1ced +-#define MN_vfmsubadd231ph 0x1cfa +-#define MN_vfmadd231ph 0x1d09 +-#define MN_vfnmadd231ph 0x1d15 +-#define MN_vfmaddsub132ph 0x1d22 +-#define MN_vfmsub132ph 0x1d31 +-#define MN_vfnmsub132ph 0x1d3d +-#define MN_vfmsubadd132ph 0x1d4a +-#define MN_vfmadd132ph 0x1d59 +-#define MN_vfnmadd132ph 0x1d65 +-#define MN_vcvtpd2ph 0x1d72 +-#define MN_vcvtdq2ph 0x1d7c +-#define MN_vcvtudq2ph 0x1d86 +-#define MN_vcvtqq2ph 0x1d91 +-#define MN_vcvtuqq2ph 0x1d9b +-#define MN_vcvtps2ph 0x1da6 +-#define MN_vcvtw2ph 0x1db0 +-#define MN_vcvtuw2ph 0x1db9 +-#define MN_vfmaddsub213ph 0x1dc3 +-#define MN_vfmsub213ph 0x1dd2 +-#define MN_vfnmsub213ph 0x1dde +-#define MN_vfmsubadd213ph 0x1deb +-#define MN_vfmadd213ph 0x1dfa +-#define MN_vfnmadd213ph 0x1e06 +-#define MN_vsubph 0x1e13 +-#define MN_vfcmaddcph 0x1e1a +-#define MN_vfmaddcph 0x1e25 +-#define MN_vfcmulcph 0x1e2f +-#define MN_vfmulcph 0x1e39 +-#define MN_vaddph 0x1e42 +-#define MN_vcmpunordph 0x1e49 +-#define MN_vcmpordph 0x1e55 +-#define MN_vreduceph 0x1e5f +-#define MN_vcmpngeph 0x1e69 +-#define MN_vcmpgeph 0x1e73 +-#define MN_vrndscaleph 0x1e7c +-#define MN_vcmpnleph 0x1e88 +-#define MN_vcmpleph 0x1e92 +-#define MN_vcmpfalseph 0x1e9b +-#define MN_vcmptrueph 0x1ea7 +-#define MN_vscalefph 0x1eb2 +-#define MN_vmulph 0x1ebc +-#define MN_vminph 0x1ec3 +-#define MN_vrcpph 0x1eca +-#define MN_vcmpph 0x1ed1 +-#define MN_vgetexpph 0x1ed8 +-#define MN_vcmpunord_qph 0x1ee2 +-#define MN_vcmpord_qph 0x1ef0 +-#define MN_vcmpneqph 0x1efc +-#define MN_vcmpeqph 0x1f06 +-#define MN_vcmpge_oqph 0x1f0f +-#define MN_vcmple_oqph 0x1f1b +-#define MN_vcmpfalse_oqph 0x1f27 +-#define MN_vcmpneq_oqph 0x1f36 +-#define MN_vcmpeq_oqph 0x1f43 +-#define MN_vcmpgt_oqph 0x1f4f +-#define MN_vcmplt_oqph 0x1f5b +-#define MN_vcmpnge_uqph 0x1f67 +-#define MN_vcmpnle_uqph 0x1f74 +-#define MN_vcmptrue_uqph 0x1f81 +-#define MN_vcmpneq_uqph 0x1f8f +-#define MN_vcmpeq_uqph 0x1f9c +-#define MN_vcmpngt_uqph 0x1fa8 +-#define MN_vcmpnlt_uqph 0x1fb5 +-#define MN_vcmpunord_sph 0x1fc2 +-#define MN_vcmpord_sph 0x1fd0 +-#define MN_vcmpge_osph 0x1fdc +-#define MN_vcmple_osph 0x1fe8 +-#define MN_vcmpfalse_osph 0x1ff4 +-#define MN_vcmpneq_osph 0x2003 +-#define MN_vcmpeq_osph 0x2010 +-#define MN_vcmpgt_osph 0x201c +-#define MN_vcmplt_osph 0x2028 +-#define MN_vfpclassph 0x2034 +-#define MN_vcmpnge_usph 0x203f +-#define MN_vcmpnle_usph 0x204c +-#define MN_vcmptrue_usph 0x2059 +-#define MN_vcmpneq_usph 0x2067 +-#define MN_vcmpeq_usph 0x2074 +-#define MN_vcmpngt_usph 0x2080 +-#define MN_vcmpnlt_usph 0x208d +-#define MN_vcmpngtph 0x209a +-#define MN_vcmpgtph 0x20a4 +-#define MN_vcmpnltph 0x20ad +-#define MN_vcmpltph 0x20b7 +-#define MN_vgetmantph 0x20c0 +-#define MN_vrsqrtph 0x20cb +-#define MN_vsqrtph 0x20d4 +-#define MN_vdivph 0x20dc +-#define MN_vmaxph 0x20e3 +-#define MN_vpmacsdqh 0x20ea +-#define MN_vpmacssdqh 0x20f4 +-#define MN_vfmsub231sh 0x20ff +-#define MN_vfnmsub231sh 0x210b +-#define MN_vfmadd231sh 0x2118 +-#define MN_vfnmadd231sh 0x2124 +-#define MN_vfmsub132sh 0x2131 +-#define MN_vfnmsub132sh 0x213d +-#define MN_vfmadd132sh 0x214a +-#define MN_vfnmadd132sh 0x2156 +-#define MN_vcvtsd2sh 0x2163 +-#define MN_vcvtsi2sh 0x216d +-#define MN_vcvtusi2sh 0x2177 +-#define MN_vcvtss2sh 0x2182 +-#define MN_vfmsub213sh 0x218c +-#define MN_vfnmsub213sh 0x2198 +-#define MN_vfmadd213sh 0x21a5 +-#define MN_vfnmadd213sh 0x21b1 +-#define MN_psmash 0x21be +-#define MN_vsubsh 0x21c5 +-#define MN_vfcmaddcsh 0x21cc +-#define MN_vfmaddcsh 0x21d7 +-#define MN_vfcmulcsh 0x21e1 +-#define MN_vfmulcsh 0x21eb +-#define MN_vaddsh 0x21f4 +-#define MN_vcmpunordsh 0x21fb +-#define MN_vcmpordsh 0x2207 +-#define MN_vreducesh 0x2211 +-#define MN_vcmpngesh 0x221b +-#define MN_vcmpgesh 0x2225 +-#define MN_vrndscalesh 0x222e +-#define MN_vcmpnlesh 0x223a +-#define MN_vcmplesh 0x2244 +-#define MN_vcmpfalsesh 0x224d +-#define MN_vcmptruesh 0x2259 +-#define MN_vscalefsh 0x2264 +-#define MN_vucomish 0x226e +-#define MN_vcomish 0x2277 +-#define MN_vmulsh 0x227f +-#define MN_vminsh 0x2286 +-#define MN_vrcpsh 0x228d +-#define MN_vcmpsh 0x2294 +-#define MN_vgetexpsh 0x229b +-#define MN_vcmpunord_qsh 0x22a5 +-#define MN_vcmpord_qsh 0x22b3 +-#define MN_vcmpneqsh 0x22bf +-#define MN_vcmpeqsh 0x22c9 +-#define MN_vcmpge_oqsh 0x22d2 +-#define MN_vcmple_oqsh 0x22de +-#define MN_vcmpfalse_oqsh 0x22ea +-#define MN_vcmpneq_oqsh 0x22f9 +-#define MN_vcmpeq_oqsh 0x2306 +-#define MN_vcmpgt_oqsh 0x2312 +-#define MN_vcmplt_oqsh 0x231e +-#define MN_vcmpnge_uqsh 0x232a +-#define MN_vcmpnle_uqsh 0x2337 +-#define MN_vcmptrue_uqsh 0x2344 +-#define MN_vcmpneq_uqsh 0x2352 +-#define MN_vcmpeq_uqsh 0x235f +-#define MN_vcmpngt_uqsh 0x236b +-#define MN_vcmpnlt_uqsh 0x2378 +-#define MN_vcmpunord_ssh 0x2385 +-#define MN_vcmpord_ssh 0x2393 +-#define MN_vcmpge_ossh 0x239f +-#define MN_vcmple_ossh 0x23ab +-#define MN_vcmpfalse_ossh 0x23b7 +-#define MN_vcmpneq_ossh 0x23c6 +-#define MN_vcmpeq_ossh 0x23d3 +-#define MN_vcmpgt_ossh 0x23df +-#define MN_vcmplt_ossh 0x23eb +-#define MN_vfpclasssh 0x23f7 +-#define MN_vcmpnge_ussh 0x2402 +-#define MN_vcmpnle_ussh 0x240f +-#define MN_vcmptrue_ussh 0x241c +-#define MN_vcmpneq_ussh 0x242a +-#define MN_vcmpeq_ussh 0x2437 +-#define MN_vcmpngt_ussh 0x2443 +-#define MN_vcmpnlt_ussh 0x2450 +-#define MN_vcmpngtsh 0x245d +-#define MN_vcmpgtsh 0x2467 +-#define MN_vcmpnltsh 0x2470 +-#define MN_vcmpltsh 0x247a +-#define MN_vgetmantsh 0x2483 +-#define MN_vrsqrtsh 0x248e +-#define MN_vsqrtsh 0x2497 +-#define MN_clflush 0x249f +-#define MN_push 0x24a7 +-#define MN_vdivsh 0x24ac +-#define MN_vmovsh 0x24b3 +-#define MN_vmaxsh 0x24ba +-#define MN_blci 0x24c1 +-#define MN_clgi 0x24c6 +-#define MN_stgi 0x24cb +-#define MN_bzhi 0x24d0 +-#define MN_cli 0x24d5 +-#define MN_fcomi 0x24d9 +-#define MN_fucomi 0x24df +-#define MN_feni 0x24e6 +-#define MN_fneni 0x24eb +-#define MN_cvttpd2pi 0x24f1 +-#define MN_cvtpd2pi 0x24fb +-#define MN_cvttps2pi 0x2504 +-#define MN_cvtps2pi 0x250e +-#define MN_fldpi 0x2517 +-#define MN_senduipi 0x251d +-#define MN_fcompi 0x2526 +-#define MN_fucompi 0x252d +-#define MN_movdiri 0x2535 ++#define MN_cmpxchg 0x1cf1 ++#define MN_pconfig 0x1cf9 ++#define MN_jg 0x1d01 ++#define MN_jng 0x1d04 ++#define MN_xstore_rng 0x1d08 ++#define MN_xstorerng 0x1d13 ++#define MN_setng 0x1d1d ++#define MN_cmovng 0x1d23 ++#define MN_invlpg 0x1d2a ++#define MN_setg 0x1d31 ++#define MN_cmovg 0x1d36 ++#define MN_vmlaunch 0x1d3c ++#define MN_prefetch 0x1d45 ++#define MN_fxch 0x1d4e ++#define MN_vfmaddsub231ph 0x1d53 ++#define MN_vfmsub231ph 0x1d62 ++#define MN_vfnmsub231ph 0x1d6e ++#define MN_vfmsubadd231ph 0x1d7b ++#define MN_vfmadd231ph 0x1d8a ++#define MN_vfnmadd231ph 0x1d96 ++#define MN_vfmaddsub132ph 0x1da3 ++#define MN_vfmsub132ph 0x1db2 ++#define MN_vfnmsub132ph 0x1dbe ++#define MN_vfmsubadd132ph 0x1dcb ++#define MN_vfmadd132ph 0x1dda ++#define MN_vfnmadd132ph 0x1de6 ++#define MN_vcvtpd2ph 0x1df3 ++#define MN_vcvtdq2ph 0x1dfd ++#define MN_vcvtudq2ph 0x1e07 ++#define MN_vcvtqq2ph 0x1e12 ++#define MN_vcvtuqq2ph 0x1e1c ++#define MN_vcvtps2ph 0x1e27 ++#define MN_vcvtw2ph 0x1e31 ++#define MN_vcvtuw2ph 0x1e3a ++#define MN_vfmaddsub213ph 0x1e44 ++#define MN_vfmsub213ph 0x1e53 ++#define MN_vfnmsub213ph 0x1e5f ++#define MN_vfmsubadd213ph 0x1e6c ++#define MN_vfmadd213ph 0x1e7b ++#define MN_vfnmadd213ph 0x1e87 ++#define MN_vsubph 0x1e94 ++#define MN_vfcmaddcph 0x1e9b ++#define MN_vfmaddcph 0x1ea6 ++#define MN_vfcmulcph 0x1eb0 ++#define MN_vfmulcph 0x1eba ++#define MN_vaddph 0x1ec3 ++#define MN_vcmpunordph 0x1eca ++#define MN_vcmpordph 0x1ed6 ++#define MN_vreduceph 0x1ee0 ++#define MN_vcmpngeph 0x1eea ++#define MN_vcmpgeph 0x1ef4 ++#define MN_vrndscaleph 0x1efd ++#define MN_vcmpnleph 0x1f09 ++#define MN_vcmpleph 0x1f13 ++#define MN_vcmpfalseph 0x1f1c ++#define MN_vcmptrueph 0x1f28 ++#define MN_vscalefph 0x1f33 ++#define MN_vmulph 0x1f3d ++#define MN_vminph 0x1f44 ++#define MN_vrcpph 0x1f4b ++#define MN_vcmpph 0x1f52 ++#define MN_vgetexpph 0x1f59 ++#define MN_vcmpunord_qph 0x1f63 ++#define MN_vcmpord_qph 0x1f71 ++#define MN_vcmpneqph 0x1f7d ++#define MN_vcmpeqph 0x1f87 ++#define MN_vcmpge_oqph 0x1f90 ++#define MN_vcmple_oqph 0x1f9c ++#define MN_vcmpfalse_oqph 0x1fa8 ++#define MN_vcmpneq_oqph 0x1fb7 ++#define MN_vcmpeq_oqph 0x1fc4 ++#define MN_vcmpgt_oqph 0x1fd0 ++#define MN_vcmplt_oqph 0x1fdc ++#define MN_vcmpnge_uqph 0x1fe8 ++#define MN_vcmpnle_uqph 0x1ff5 ++#define MN_vcmptrue_uqph 0x2002 ++#define MN_vcmpneq_uqph 0x2010 ++#define MN_vcmpeq_uqph 0x201d ++#define MN_vcmpngt_uqph 0x2029 ++#define MN_vcmpnlt_uqph 0x2036 ++#define MN_vcmpunord_sph 0x2043 ++#define MN_vcmpord_sph 0x2051 ++#define MN_vcmpge_osph 0x205d ++#define MN_vcmple_osph 0x2069 ++#define MN_vcmpfalse_osph 0x2075 ++#define MN_vcmpneq_osph 0x2084 ++#define MN_vcmpeq_osph 0x2091 ++#define MN_vcmpgt_osph 0x209d ++#define MN_vcmplt_osph 0x20a9 ++#define MN_vfpclassph 0x20b5 ++#define MN_vcmpnge_usph 0x20c0 ++#define MN_vcmpnle_usph 0x20cd ++#define MN_vcmptrue_usph 0x20da ++#define MN_vcmpneq_usph 0x20e8 ++#define MN_vcmpeq_usph 0x20f5 ++#define MN_vcmpngt_usph 0x2101 ++#define MN_vcmpnlt_usph 0x210e ++#define MN_vcmpngtph 0x211b ++#define MN_vcmpgtph 0x2125 ++#define MN_vcmpnltph 0x212e ++#define MN_vcmpltph 0x2138 ++#define MN_vgetmantph 0x2141 ++#define MN_vrsqrtph 0x214c ++#define MN_vsqrtph 0x2155 ++#define MN_vdivph 0x215d ++#define MN_vmaxph 0x2164 ++#define MN_vpmacsdqh 0x216b ++#define MN_vpmacssdqh 0x2175 ++#define MN_vfmsub231sh 0x2180 ++#define MN_vfnmsub231sh 0x218c ++#define MN_vfmadd231sh 0x2199 ++#define MN_vfnmadd231sh 0x21a5 ++#define MN_vfmsub132sh 0x21b2 ++#define MN_vfnmsub132sh 0x21be ++#define MN_vfmadd132sh 0x21cb ++#define MN_vfnmadd132sh 0x21d7 ++#define MN_vcvtsd2sh 0x21e4 ++#define MN_vcvtsi2sh 0x21ee ++#define MN_vcvtusi2sh 0x21f8 ++#define MN_vcvtss2sh 0x2203 ++#define MN_vfmsub213sh 0x220d ++#define MN_vfnmsub213sh 0x2219 ++#define MN_vfmadd213sh 0x2226 ++#define MN_vfnmadd213sh 0x2232 ++#define MN_psmash 0x223f ++#define MN_vsubsh 0x2246 ++#define MN_vfcmaddcsh 0x224d ++#define MN_vfmaddcsh 0x2258 ++#define MN_vfcmulcsh 0x2262 ++#define MN_vfmulcsh 0x226c ++#define MN_vaddsh 0x2275 ++#define MN_vcmpunordsh 0x227c ++#define MN_vcmpordsh 0x2288 ++#define MN_vreducesh 0x2292 ++#define MN_vcmpngesh 0x229c ++#define MN_vcmpgesh 0x22a6 ++#define MN_vrndscalesh 0x22af ++#define MN_vcmpnlesh 0x22bb ++#define MN_vcmplesh 0x22c5 ++#define MN_vcmpfalsesh 0x22ce ++#define MN_vcmptruesh 0x22da ++#define MN_vscalefsh 0x22e5 ++#define MN_vucomish 0x22ef ++#define MN_vcomish 0x22f8 ++#define MN_vmulsh 0x2300 ++#define MN_vminsh 0x2307 ++#define MN_vrcpsh 0x230e ++#define MN_vcmpsh 0x2315 ++#define MN_vgetexpsh 0x231c ++#define MN_vcmpunord_qsh 0x2326 ++#define MN_vcmpord_qsh 0x2334 ++#define MN_vcmpneqsh 0x2340 ++#define MN_vcmpeqsh 0x234a ++#define MN_vcmpge_oqsh 0x2353 ++#define MN_vcmple_oqsh 0x235f ++#define MN_vcmpfalse_oqsh 0x236b ++#define MN_vcmpneq_oqsh 0x237a ++#define MN_vcmpeq_oqsh 0x2387 ++#define MN_vcmpgt_oqsh 0x2393 ++#define MN_vcmplt_oqsh 0x239f ++#define MN_vcmpnge_uqsh 0x23ab ++#define MN_vcmpnle_uqsh 0x23b8 ++#define MN_vcmptrue_uqsh 0x23c5 ++#define MN_vcmpneq_uqsh 0x23d3 ++#define MN_vcmpeq_uqsh 0x23e0 ++#define MN_vcmpngt_uqsh 0x23ec ++#define MN_vcmpnlt_uqsh 0x23f9 ++#define MN_vcmpunord_ssh 0x2406 ++#define MN_vcmpord_ssh 0x2414 ++#define MN_vcmpge_ossh 0x2420 ++#define MN_vcmple_ossh 0x242c ++#define MN_vcmpfalse_ossh 0x2438 ++#define MN_vcmpneq_ossh 0x2447 ++#define MN_vcmpeq_ossh 0x2454 ++#define MN_vcmpgt_ossh 0x2460 ++#define MN_vcmplt_ossh 0x246c ++#define MN_vfpclasssh 0x2478 ++#define MN_vcmpnge_ussh 0x2483 ++#define MN_vcmpnle_ussh 0x2490 ++#define MN_vcmptrue_ussh 0x249d ++#define MN_vcmpneq_ussh 0x24ab ++#define MN_vcmpeq_ussh 0x24b8 ++#define MN_vcmpngt_ussh 0x24c4 ++#define MN_vcmpnlt_ussh 0x24d1 ++#define MN_vcmpngtsh 0x24de ++#define MN_vcmpgtsh 0x24e8 ++#define MN_vcmpnltsh 0x24f1 ++#define MN_vcmpltsh 0x24fb ++#define MN_vgetmantsh 0x2504 ++#define MN_vrsqrtsh 0x250f ++#define MN_vsqrtsh 0x2518 ++#define MN_clflush 0x2520 ++#define MN_push 0x2528 ++#define MN_vdivsh 0x252d ++#define MN_vmovsh 0x2534 ++#define MN_vmaxsh 0x253b ++#define MN_blci 0x2542 ++#define MN_clgi 0x2547 ++#define MN_stgi 0x254c ++#define MN_bzhi 0x2551 ++#define MN_cli 0x2556 ++#define MN_fcomi 0x255a ++#define MN_fucomi 0x2560 ++#define MN_feni 0x2567 ++#define MN_fneni 0x256c ++#define MN_cvttpd2pi 0x2572 ++#define MN_cvtpd2pi 0x257c ++#define MN_cvttps2pi 0x2585 ++#define MN_cvtps2pi 0x258f ++#define MN_fldpi 0x2598 ++#define MN_senduipi 0x259e ++#define MN_fcompi 0x25a7 ++#define MN_fucompi 0x25ae ++#define MN_movdiri 0x25b6 + #define MN_pcmpestri (MN_vpcmpestri + 1) +-#define MN_vpcmpestri 0x253d ++#define MN_vpcmpestri 0x25be + #define MN_pcmpistri (MN_vpcmpistri + 1) +-#define MN_vpcmpistri 0x2548 ++#define MN_vpcmpistri 0x25c9 + #define MN_cvttsd2si (MN_vcvttsd2si + 1) +-#define MN_vcvttsd2si 0x2553 ++#define MN_vcvttsd2si 0x25d4 + #define MN_cvtsd2si (MN_vcvtsd2si + 1) +-#define MN_vcvtsd2si 0x255e +-#define MN_vcvttsh2si 0x2568 +-#define MN_vcvtsh2si 0x2573 ++#define MN_vcvtsd2si 0x25df ++#define MN_vcvttsh2si 0x25e9 ++#define MN_vcvtsh2si 0x25f4 + #define MN_cvttss2si (MN_vcvttss2si + 1) +-#define MN_vcvttss2si 0x257d ++#define MN_vcvttss2si 0x25fe + #define MN_cvtss2si (MN_vcvtss2si + 1) +-#define MN_vcvtss2si 0x2588 +-#define MN_fdisi 0x2592 +-#define MN_fndisi 0x2598 +-#define MN_blsi 0x259f +-#define MN_vcvttsd2usi 0x25a4 +-#define MN_vcvtsd2usi 0x25b0 +-#define MN_vcvttsh2usi 0x25bb +-#define MN_vcvtsh2usi 0x25c7 +-#define MN_vcvttss2usi 0x25d2 +-#define MN_vcvtss2usi 0x25de +-#define MN_movnti 0x25e9 +-#define MN_sti 0x25f0 +-#define MN_clui 0x25f4 ++#define MN_vcvtss2si 0x2609 ++#define MN_fdisi 0x2613 ++#define MN_fndisi 0x2619 ++#define MN_blsi 0x2620 ++#define MN_vcvttsd2usi 0x2625 ++#define MN_vcvtsd2usi 0x2631 ++#define MN_vcvttsh2usi 0x263c ++#define MN_vcvtsh2usi 0x2648 ++#define MN_vcvttss2usi 0x2653 ++#define MN_vcvtss2usi 0x265f ++#define MN_movnti 0x266a ++#define MN_sti 0x2671 ++#define MN_clui 0x2675 + #define MN_stui (MN_testui + 2) +-#define MN_testui 0x25f9 +-#define MN_notrack 0x2600 +-#define MN_lock 0x2608 +-#define MN_bndmk 0x260d +-#define MN_xresldtrk 0x2613 +-#define MN_xsusldtrk 0x261d +-#define MN_blcmsk 0x2627 +-#define MN_blsmsk 0x262e +-#define MN_tzmsk 0x2635 +-#define MN_sal 0x263b +-#define MN_lwpval 0x263f +-#define MN_bndcl 0x2646 +-#define MN_rcl 0x264c +-#define MN_shl 0x2650 +-#define MN_jl 0x2654 +-#define MN_aesdec256kl 0x2657 +-#define MN_aesenc256kl 0x2663 +-#define MN_aesdecwide256kl 0x266f +-#define MN_aesencwide256kl 0x267f +-#define MN_aesdec128kl 0x268f +-#define MN_aesenc128kl 0x269b +-#define MN_aesdecwide128kl 0x26a7 +-#define MN_aesencwide128kl 0x26b7 ++#define MN_testui 0x267a ++#define MN_notrack 0x2681 ++#define MN_lock 0x2689 ++#define MN_bndmk 0x268e ++#define MN_xresldtrk 0x2694 ++#define MN_xsusldtrk 0x269e ++#define MN_blcmsk 0x26a8 ++#define MN_blsmsk 0x26af ++#define MN_tzmsk 0x26b6 ++#define MN_sal 0x26bc ++#define MN_lwpval 0x26c0 ++#define MN_bndcl 0x26c7 ++#define MN_rcl 0x26cd ++#define MN_shl 0x26d1 ++#define MN_jl 0x26d5 ++#define MN_aesdec256kl 0x26d8 ++#define MN_aesenc256kl 0x26e4 ++#define MN_aesdecwide256kl 0x26f0 ++#define MN_aesencwide256kl 0x2700 ++#define MN_aesdec128kl 0x2710 ++#define MN_aesenc128kl 0x271c ++#define MN_aesdecwide128kl 0x2728 ++#define MN_aesencwide128kl 0x2738 + #define MN_call (MN_tdcall + 2) +-#define MN_tdcall 0x26c7 +-#define MN_lcall 0x26ce +-#define MN_seamcall 0x26d4 +-#define MN_vmmcall 0x26dd +-#define MN_vmcall 0x26e5 +-#define MN_syscall 0x26ec +-#define MN_vzeroall 0x26f4 +-#define MN_fildll 0x26fd +-#define MN_blcfill 0x2704 +-#define MN_blsfill 0x270c +-#define MN_fistpll 0x2714 +-#define MN_fisttpll 0x271c +-#define MN_jnl 0x2725 +-#define MN_setnl 0x2729 +-#define MN_cmovnl 0x272f +-#define MN_rol 0x2736 +-#define MN_arpl 0x273a +-#define MN_vpmacsdql 0x273f +-#define MN_vpmacssdql 0x2749 +-#define MN_lsl 0x2754 +-#define MN_movsl 0x2758 +-#define MN_setl 0x275e +-#define MN_cwtl 0x2763 ++#define MN_tdcall 0x2748 ++#define MN_lcall 0x274f ++#define MN_seamcall 0x2755 ++#define MN_vmmcall 0x275e ++#define MN_vmcall 0x2766 ++#define MN_syscall 0x276d ++#define MN_vzeroall 0x2775 ++#define MN_fildll 0x277e ++#define MN_blcfill 0x2785 ++#define MN_blsfill 0x278d ++#define MN_fistpll 0x2795 ++#define MN_fisttpll 0x279d ++#define MN_jnl 0x27a6 ++#define MN_setnl 0x27aa ++#define MN_cmovnl 0x27b0 ++#define MN_rol 0x27b7 ++#define MN_arpl 0x27bb ++#define MN_vpmacsdql 0x27c0 ++#define MN_vpmacssdql 0x27ca ++#define MN_lsl 0x27d5 ++#define MN_movsl 0x27d9 ++#define MN_setl 0x27df ++#define MN_cwtl 0x27e4 + #define MN_mul (MN_fmul + 1) + #define MN_fmul (MN_pfmul + 1) +-#define MN_pfmul 0x2768 ++#define MN_pfmul 0x27e9 + #define MN_imul (MN_fimul + 1) +-#define MN_fimul 0x276e +-#define MN_montmul 0x2774 +-#define MN_cmovl 0x277c +-#define MN_vpmovb2m 0x2782 +-#define MN_vpmovd2m 0x278b +-#define MN_vpmovq2m 0x2794 +-#define MN_vpmovw2m 0x279d +-#define MN_aam 0x27a6 +-#define MN_fxam 0x27aa +-#define MN_fprem 0x27af +-#define MN_fcom 0x27b5 +-#define MN_ficom 0x27ba +-#define MN_fucom 0x27c0 +-#define MN_fsetpm 0x27c6 +-#define MN_fnsetpm 0x27cd +-#define MN_frstpm 0x27d5 +-#define MN_vpperm 0x27dc ++#define MN_fimul 0x27ef ++#define MN_montmul 0x27f5 ++#define MN_cmovl 0x27fd ++#define MN_vpmovb2m 0x2803 ++#define MN_vpmovd2m 0x280c ++#define MN_vpmovq2m 0x2815 ++#define MN_vpmovw2m 0x281e ++#define MN_aam 0x2827 ++#define MN_fxam 0x282b ++#define MN_fprem 0x2830 ++#define MN_fcom 0x2836 ++#define MN_ficom 0x283b ++#define MN_fucom 0x2841 ++#define MN_fsetpm 0x2847 ++#define MN_fnsetpm 0x284e ++#define MN_frstpm 0x2856 ++#define MN_vpperm 0x285d + #define MN_pcmpestrm (MN_vpcmpestrm + 1) +-#define MN_vpcmpestrm 0x27e3 ++#define MN_vpcmpestrm 0x2864 + #define MN_pcmpistrm (MN_vpcmpistrm + 1) +-#define MN_vpcmpistrm 0x27ee +-#define MN_rsm 0x27f9 +-#define MN_fpatan 0x27fd +-#define MN_fptan 0x2804 +-#define MN_bndcn 0x280a ++#define MN_vpcmpistrm 0x286f ++#define MN_rsm 0x287a ++#define MN_fpatan 0x287e ++#define MN_fptan 0x2885 ++#define MN_bndcn 0x288b + #define MN_andn (MN_pandn + 1) + #define MN_pandn (MN_vpandn + 1) +-#define MN_vpandn 0x2810 ++#define MN_vpandn 0x2891 + #define MN_in (MN_xbegin + 4) +-#define MN_xbegin 0x2817 +-#define MN_pfmin 0x281e +-#define MN_fsin 0x2824 +-#define MN_vmxon 0x2829 +-#define MN_vmrun 0x282f +-#define MN_jo 0x2835 +-#define MN_jno 0x2838 +-#define MN_setno 0x283c +-#define MN_cmovno 0x2842 +-#define MN_jpo 0x2849 +-#define MN_setpo 0x284d +-#define MN_cmovpo 0x2853 +-#define MN_cqo 0x285a +-#define MN_tilezero 0x285e +-#define MN_clzero 0x2867 +-#define MN_seto 0x286e +-#define MN_into 0x2873 +-#define MN_cqto 0x2878 +-#define MN_ssto 0x287d +-#define MN_cmovo 0x2882 +-#define MN_bswap 0x2888 +-#define MN_fsubp 0x288e +-#define MN_pfrcp 0x2894 +-#define MN_rdtscp 0x289a +-#define MN_faddp 0x28a1 +-#define MN_pdep 0x28a7 +-#define MN_ffreep 0x28ac +-#define MN_rep 0x28b3 +-#define MN_fcomip 0x28b7 +-#define MN_fucomip 0x28be +-#define MN_jp 0x28c6 +-#define MN_fmulp 0x28c9 ++#define MN_xbegin 0x2898 ++#define MN_pfmin 0x289f ++#define MN_fsin 0x28a5 ++#define MN_vmxon 0x28aa ++#define MN_vmrun 0x28b0 ++#define MN_jo 0x28b6 ++#define MN_jno 0x28b9 ++#define MN_setno 0x28bd ++#define MN_cmovno 0x28c3 ++#define MN_jpo 0x28ca ++#define MN_setpo 0x28ce ++#define MN_cmovpo 0x28d4 ++#define MN_cqo 0x28db ++#define MN_tilezero 0x28df ++#define MN_clzero 0x28e8 ++#define MN_seto 0x28ef ++#define MN_into 0x28f4 ++#define MN_cqto 0x28f9 ++#define MN_ssto 0x28fe ++#define MN_cmovo 0x2903 ++#define MN_push2p 0x2909 ++#define MN_pop2p 0x2910 ++#define MN_bswap 0x2916 ++#define MN_fsubp 0x291c ++#define MN_pfrcp 0x2922 ++#define MN_rdtscp 0x2928 ++#define MN_faddp 0x292f ++#define MN_pdep 0x2935 ++#define MN_ffreep 0x293a ++#define MN_rep 0x2941 ++#define MN_pushp 0x2945 ++#define MN_fcomip 0x294b ++#define MN_fucomip 0x2952 ++#define MN_jp 0x295a ++#define MN_fmulp 0x295d + #define MN_cmp (MN_scmp + 1) +-#define MN_scmp 0x28cf ++#define MN_scmp 0x2963 + #define MN_jmp (MN_ljmp + 1) +-#define MN_ljmp 0x28d4 +-#define MN_fcomp 0x28d9 +-#define MN_ficomp 0x28df +-#define MN_fucomp 0x28e6 +-#define MN_jnp 0x28ed +-#define MN_setnp 0x28f1 +-#define MN_cmovnp 0x28f7 ++#define MN_ljmp 0x2968 ++#define MN_fcomp 0x296d ++#define MN_ficomp 0x2973 ++#define MN_fucomp 0x297a ++#define MN_jnp 0x2981 ++#define MN_setnp 0x2985 ++#define MN_cmovnp 0x298b + #define MN_nop (MN_fnop + 1) +-#define MN_fnop 0x28fe +-#define MN_loop 0x2903 +-#define MN_pop 0x2908 +-#define MN_fcompp 0x290c +-#define MN_fucompp 0x2913 +-#define MN_fsubrp 0x291b +-#define MN_fdivrp 0x2922 +-#define MN_rstorssp 0x2929 +-#define MN_saveprevssp 0x2932 +-#define MN_setp 0x293e +-#define MN_fbstp 0x2943 +-#define MN_fdecstp 0x2949 +-#define MN_fincstp 0x2951 +-#define MN_fstp 0x2959 +-#define MN_fistp 0x295e +-#define MN_fisttp 0x2964 ++#define MN_fnop 0x2992 ++#define MN_loop 0x2997 ++#define MN_pop 0x299c ++#define MN_fcompp 0x29a0 ++#define MN_fucompp 0x29a7 ++#define MN_popp 0x29af ++#define MN_fsubrp 0x29b4 ++#define MN_fdivrp 0x29bb ++#define MN_rstorssp 0x29c2 ++#define MN_saveprevssp 0x29cb ++#define MN_setp 0x29d7 ++#define MN_fbstp 0x29dc ++#define MN_fdecstp 0x29e2 ++#define MN_fincstp 0x29ea ++#define MN_fstp 0x29f2 ++#define MN_fistp 0x29f7 ++#define MN_fisttp 0x29fd + #define MN_movddup (MN_vmovddup + 1) +-#define MN_vmovddup 0x296b ++#define MN_vmovddup 0x2a04 + #define MN_movshdup (MN_vmovshdup + 1) +-#define MN_vmovshdup 0x2974 ++#define MN_vmovshdup 0x2a0d + #define MN_movsldup (MN_vmovsldup + 1) +-#define MN_vmovsldup 0x297e +-#define MN_fdivp 0x2988 +-#define MN_cmovp 0x298e +-#define MN_vpbroadcastmb2q 0x2994 +-#define MN_vpermi2q 0x29a4 +-#define MN_vpmovm2q 0x29ad +-#define MN_movdq2q 0x29b6 +-#define MN_vpermt2q 0x29be +-#define MN_vpshaq 0x29c7 +-#define MN_vpsraq 0x29ce +-#define MN_vphaddbq 0x29d5 +-#define MN_vphaddubq 0x29de ++#define MN_vmovsldup 0x2a17 ++#define MN_fdivp 0x2a21 ++#define MN_cmovp 0x2a27 ++#define MN_vpbroadcastmb2q 0x2a2d ++#define MN_vpermi2q 0x2a3d ++#define MN_vpmovm2q 0x2a46 ++#define MN_movdq2q 0x2a4f ++#define MN_vpermt2q 0x2a57 ++#define MN_vpshaq 0x2a60 ++#define MN_vpsraq 0x2a67 ++#define MN_vphaddbq 0x2a6e ++#define MN_vphaddubq 0x2a77 + #define MN_psubq (MN_vpsubq + 1) +-#define MN_vpsubq 0x29e8 ++#define MN_vpsubq 0x2a81 + #define MN_pmovsxbq (MN_vpmovsxbq + 1) +-#define MN_vpmovsxbq 0x29ef ++#define MN_vpmovsxbq 0x2a88 + #define MN_pmovzxbq (MN_vpmovzxbq + 1) +-#define MN_vpmovzxbq 0x29f9 ++#define MN_vpmovzxbq 0x2a92 + #define MN_cvttpd2dq (MN_vcvttpd2dq + 1) +-#define MN_vcvttpd2dq 0x2a03 ++#define MN_vcvttpd2dq 0x2a9c + #define MN_cvtpd2dq (MN_vcvtpd2dq + 1) +-#define MN_vcvtpd2dq 0x2a0e +-#define MN_vcvttph2dq 0x2a18 +-#define MN_vcvtph2dq 0x2a23 +-#define MN_movq2dq 0x2a2d ++#define MN_vcvtpd2dq 0x2aa7 ++#define MN_vcvttph2dq 0x2ab1 ++#define MN_vcvtph2dq 0x2abc ++#define MN_movq2dq 0x2ac6 + #define MN_cvttps2dq (MN_vcvttps2dq + 1) +-#define MN_vcvttps2dq 0x2a35 ++#define MN_vcvttps2dq 0x2ace + #define MN_cvtps2dq (MN_vcvtps2dq + 1) +-#define MN_vcvtps2dq 0x2a40 +-#define MN_vphsubdq 0x2a4a +-#define MN_cdq 0x2a53 +-#define MN_kaddq 0x2a57 ++#define MN_vcvtps2dq 0x2ad9 ++#define MN_vphsubdq 0x2ae3 ++#define MN_cdq 0x2aec ++#define MN_kaddq 0x2af0 + #define MN_paddq (MN_vpaddq + 1) +-#define MN_vpaddq 0x2a5d +-#define MN_vphadddq 0x2a64 ++#define MN_vpaddq 0x2af6 ++#define MN_vphadddq 0x2afd + #define MN_punpckhdq (MN_vpunpckhdq + 1) +-#define MN_vpunpckhdq 0x2a6d +-#define MN_kunpckdq 0x2a78 +-#define MN_vpshldq 0x2a81 ++#define MN_vpunpckhdq 0x2b06 ++#define MN_kunpckdq 0x2b11 ++#define MN_vpshldq 0x2b1a + #define MN_punpckldq (MN_vpunpckldq + 1) +-#define MN_vpunpckldq 0x2a89 ++#define MN_vpunpckldq 0x2b22 + #define MN_pslldq (MN_vpslldq + 1) +-#define MN_vpslldq 0x2a94 ++#define MN_vpslldq 0x2b2d + #define MN_psrldq (MN_vpsrldq + 1) +-#define MN_vpsrldq 0x2a9c ++#define MN_vpsrldq 0x2b35 + #define MN_pmuldq (MN_vpmuldq + 1) +-#define MN_vpmuldq 0x2aa4 +-#define MN_kandq 0x2aac +-#define MN_vpandq 0x2ab2 +-#define MN_vpexpandq 0x2ab9 ++#define MN_vpmuldq 0x2b3d ++#define MN_kandq 0x2b45 ++#define MN_vpandq 0x2b4b ++#define MN_vpexpandq 0x2b52 + #define MN_punpckhqdq (MN_vpunpckhqdq + 1) +-#define MN_vpunpckhqdq 0x2ac3 ++#define MN_vpunpckhqdq 0x2b5c + #define MN_pclmulhqhqdq (MN_vpclmulhqhqdq + 1) +-#define MN_vpclmulhqhqdq 0x2acf ++#define MN_vpclmulhqhqdq 0x2b68 + #define MN_pclmullqhqdq (MN_vpclmullqhqdq + 1) +-#define MN_vpclmullqhqdq 0x2add ++#define MN_vpclmullqhqdq 0x2b76 + #define MN_punpcklqdq (MN_vpunpcklqdq + 1) +-#define MN_vpunpcklqdq 0x2aeb ++#define MN_vpunpcklqdq 0x2b84 + #define MN_pclmulhqlqdq (MN_vpclmulhqlqdq + 1) +-#define MN_vpclmulhqlqdq 0x2af7 ++#define MN_vpclmulhqlqdq 0x2b90 + #define MN_pclmullqlqdq (MN_vpclmullqlqdq + 1) +-#define MN_vpclmullqlqdq 0x2b05 ++#define MN_vpclmullqlqdq 0x2b9e + #define MN_pclmulqdq (MN_vpclmulqdq + 1) +-#define MN_vpclmulqdq 0x2b13 +-#define MN_vpgatherdq 0x2b1e +-#define MN_vpscatterdq 0x2b29 +-#define MN_vpshrdq 0x2b35 ++#define MN_vpclmulqdq 0x2bac ++#define MN_vpgatherdq 0x2bb7 ++#define MN_vpscatterdq 0x2bc2 ++#define MN_vpshrdq 0x2bce + #define MN_movntdq (MN_vmovntdq + 1) +-#define MN_vmovntdq 0x2b3d +-#define MN_vcvttpd2udq 0x2b46 +-#define MN_vcvtpd2udq 0x2b52 +-#define MN_vcvttph2udq 0x2b5d +-#define MN_vcvtph2udq 0x2b69 +-#define MN_vcvttps2udq 0x2b74 +-#define MN_vcvtps2udq 0x2b80 +-#define MN_vphaddudq 0x2b8b ++#define MN_vmovntdq 0x2bd6 ++#define MN_vcvttpd2udq 0x2bdf ++#define MN_vcvtpd2udq 0x2beb ++#define MN_vcvttph2udq 0x2bf6 ++#define MN_vcvtph2udq 0x2c02 ++#define MN_vcvttps2udq 0x2c0d ++#define MN_vcvtps2udq 0x2c19 ++#define MN_vphaddudq 0x2c24 + #define MN_pmuludq (MN_vpmuludq + 1) +-#define MN_vpmuludq 0x2b95 ++#define MN_vpmuludq 0x2c2e + #define MN_pmovsxdq (MN_vpmovsxdq + 1) +-#define MN_vpmovsxdq 0x2b9e ++#define MN_vpmovsxdq 0x2c37 + #define MN_pmovzxdq (MN_vpmovzxdq + 1) +-#define MN_vpmovzxdq 0x2ba8 +-#define MN_vpcomgeq 0x2bb2 +-#define MN_vpcomleq 0x2bbb +-#define MN_vpcmpnleq 0x2bc4 +-#define MN_vpcmpleq 0x2bce +-#define MN_pfcmpeq 0x2bd7 +-#define MN_vpcomfalseq 0x2bdf +-#define MN_vpcomtrueq 0x2beb +-#define MN_vpternlogq 0x2bf6 +-#define MN_vpshlq 0x2c01 ++#define MN_vpmovzxdq 0x2c41 ++#define MN_vpcomgeq 0x2c4b ++#define MN_vpcomleq 0x2c54 ++#define MN_vpcmpnleq 0x2c5d ++#define MN_vpcmpleq 0x2c67 ++#define MN_pfcmpeq 0x2c70 ++#define MN_vpcomfalseq 0x2c78 ++#define MN_vpcomtrueq 0x2c84 ++#define MN_vpternlogq 0x2c8f ++#define MN_vpshlq 0x2c9a + #define MN_psllq (MN_vpsllq + 1) +-#define MN_vpsllq 0x2c08 +-#define MN_vpmullq 0x2c0f +-#define MN_vprolq 0x2c17 ++#define MN_vpsllq 0x2ca1 ++#define MN_vpmullq 0x2ca8 ++#define MN_vprolq 0x2cb0 + #define MN_psrlq (MN_vpsrlq + 1) +-#define MN_vpsrlq 0x2c1e +-#define MN_kshiftlq 0x2c25 +-#define MN_vpblendmq 0x2c2e +-#define MN_vptestnmq 0x2c38 +-#define MN_vpcomq 0x2c42 +-#define MN_vpermq 0x2c49 +-#define MN_vptestmq 0x2c50 +-#define MN_kandnq 0x2c59 +-#define MN_vpandnq 0x2c60 +-#define MN_valignq 0x2c68 +-#define MN_vpcmpq 0x2c70 +-#define MN_incsspq 0x2c77 +-#define MN_rdsspq 0x2c7f +-#define MN_vcvttpd2qq 0x2c86 +-#define MN_vcvtpd2qq 0x2c91 +-#define MN_vcvttph2qq 0x2c9b +-#define MN_vcvtph2qq 0x2ca6 +-#define MN_vcvttps2qq 0x2cb0 +-#define MN_vcvtps2qq 0x2cbb +-#define MN_vpcomeqq 0x2cc5 +-#define MN_vpcomneqq 0x2cce +-#define MN_vpcmpneqq 0x2cd8 ++#define MN_vpsrlq 0x2cb7 ++#define MN_kshiftlq 0x2cbe ++#define MN_vpblendmq 0x2cc7 ++#define MN_vptestnmq 0x2cd1 ++#define MN_vpcomq 0x2cdb ++#define MN_vpermq 0x2ce2 ++#define MN_vptestmq 0x2ce9 ++#define MN_kandnq 0x2cf2 ++#define MN_vpandnq 0x2cf9 ++#define MN_valignq 0x2d01 ++#define MN_vpcmpq 0x2d09 ++#define MN_incsspq 0x2d10 ++#define MN_rdsspq 0x2d18 ++#define MN_vcvttpd2qq 0x2d1f ++#define MN_vcvtpd2qq 0x2d2a ++#define MN_vcvttph2qq 0x2d34 ++#define MN_vcvtph2qq 0x2d3f ++#define MN_vcvttps2qq 0x2d49 ++#define MN_vcvtps2qq 0x2d54 ++#define MN_vpcomeqq 0x2d5e ++#define MN_vpcomneqq 0x2d67 ++#define MN_vpcmpneqq 0x2d71 + #define MN_pcmpeqq (MN_vpcmpeqq + 1) +-#define MN_vpcmpeqq 0x2ce2 +-#define MN_vpgatherqq 0x2ceb +-#define MN_vpscatterqq 0x2cf6 +-#define MN_vcvttpd2uqq 0x2d02 +-#define MN_vcvtpd2uqq 0x2d0e +-#define MN_vcvttph2uqq 0x2d19 +-#define MN_vcvtph2uqq 0x2d25 +-#define MN_vcvttps2uqq 0x2d30 +-#define MN_vcvtps2uqq 0x2d3c +-#define MN_korq 0x2d47 +-#define MN_kxnorq 0x2d4c +-#define MN_vporq 0x2d53 +-#define MN_vprorq 0x2d59 +-#define MN_kxorq 0x2d60 +-#define MN_vpxorq 0x2d66 ++#define MN_vpcmpeqq 0x2d7b ++#define MN_vpgatherqq 0x2d84 ++#define MN_vpscatterqq 0x2d8f ++#define MN_vcvttpd2uqq 0x2d9b ++#define MN_vcvtpd2uqq 0x2da7 ++#define MN_vcvttph2uqq 0x2db2 ++#define MN_vcvtph2uqq 0x2dbe ++#define MN_vcvttps2uqq 0x2dc9 ++#define MN_vcvtps2uqq 0x2dd5 ++#define MN_korq 0x2de0 ++#define MN_kxnorq 0x2de5 ++#define MN_vporq 0x2dec ++#define MN_vprorq 0x2df2 ++#define MN_kxorq 0x2df9 ++#define MN_vpxorq 0x2dff + #define MN_pinsrq (MN_vpinsrq + 1) +-#define MN_vpinsrq 0x2d6d +-#define MN_kshiftrq 0x2d75 ++#define MN_vpinsrq 0x2e06 ++#define MN_kshiftrq 0x2e0e + #define MN_extrq (MN_pextrq + 1) + #define MN_pextrq (MN_vpextrq + 1) +-#define MN_vpextrq 0x2d7e +-#define MN_vpabsq 0x2d86 +-#define MN_vpminsq 0x2d8d +-#define MN_vpcompressq 0x2d95 +-#define MN_wrssq 0x2da1 +-#define MN_wrussq 0x2da7 +-#define MN_vpmaxsq 0x2dae +-#define MN_vp2intersectq 0x2db6 +-#define MN_vpconflictq 0x2dc4 +-#define MN_vpcomgtq 0x2dd0 ++#define MN_vpextrq 0x2e17 ++#define MN_vpabsq 0x2e1f ++#define MN_vpminsq 0x2e26 ++#define MN_vpcompressq 0x2e2e ++#define MN_wrssq 0x2e3a ++#define MN_wrussq 0x2e40 ++#define MN_vpmaxsq 0x2e47 ++#define MN_vp2intersectq 0x2e4f ++#define MN_vpconflictq 0x2e5d ++#define MN_vpcomgtq 0x2e69 + #define MN_pcmpgtq (MN_vpcmpgtq + 1) +-#define MN_vpcmpgtq 0x2dd9 +-#define MN_cltq 0x2de2 +-#define MN_vpcomltq 0x2de7 +-#define MN_vpcmpnltq 0x2df0 +-#define MN_vpcmpltq 0x2dfa +-#define MN_vpopcntq 0x2e03 +-#define MN_vplzcntq 0x2e0c +-#define MN_movntq 0x2e15 +-#define MN_knotq 0x2e1c +-#define MN_vprotq 0x2e22 +-#define MN_insertq 0x2e29 +-#define MN_vpbroadcastq 0x2e31 +-#define MN_ktestq 0x2e3e +-#define MN_kortestq 0x2e45 +-#define MN_vpcomgeuq 0x2e4e +-#define MN_vpcomleuq 0x2e58 +-#define MN_vpcmpnleuq 0x2e62 +-#define MN_vpcmpleuq 0x2e6d +-#define MN_vpcomfalseuq 0x2e77 +-#define MN_vpcomtrueuq 0x2e84 +-#define MN_vpmadd52huq 0x2e90 +-#define MN_vpmadd52luq 0x2e9c +-#define MN_vpcomuq 0x2ea8 +-#define MN_vpminuq 0x2eb0 +-#define MN_vpcmpuq 0x2eb8 +-#define MN_vpcomequq 0x2ec0 +-#define MN_vpcomnequq 0x2eca +-#define MN_vpcmpnequq 0x2ed5 +-#define MN_vpcmpequq 0x2ee0 +-#define MN_vpcomgtuq 0x2eea +-#define MN_vpcomltuq 0x2ef4 +-#define MN_vpcmpnltuq 0x2efe +-#define MN_vpcmpltuq 0x2f09 +-#define MN_vpmaxuq 0x2f13 +-#define MN_vpsravq 0x2f1b +-#define MN_vpshldvq 0x2f23 +-#define MN_vpshrdvq 0x2f2c +-#define MN_vpsllvq 0x2f35 +-#define MN_vprolvq 0x2f3d +-#define MN_vpsrlvq 0x2f45 ++#define MN_vpcmpgtq 0x2e72 ++#define MN_cltq 0x2e7b ++#define MN_vpcomltq 0x2e80 ++#define MN_vpcmpnltq 0x2e89 ++#define MN_vpcmpltq 0x2e93 ++#define MN_vpopcntq 0x2e9c ++#define MN_vplzcntq 0x2ea5 ++#define MN_movntq 0x2eae ++#define MN_knotq 0x2eb5 ++#define MN_vprotq 0x2ebb ++#define MN_insertq 0x2ec2 ++#define MN_vpbroadcastq 0x2eca ++#define MN_ktestq 0x2ed7 ++#define MN_kortestq 0x2ede ++#define MN_vpcomgeuq 0x2ee7 ++#define MN_vpcomleuq 0x2ef1 ++#define MN_vpcmpnleuq 0x2efb ++#define MN_vpcmpleuq 0x2f06 ++#define MN_vpcomfalseuq 0x2f10 ++#define MN_vpcomtrueuq 0x2f1d ++#define MN_vpmadd52huq 0x2f29 ++#define MN_vpmadd52luq 0x2f35 ++#define MN_vpcomuq 0x2f41 ++#define MN_vpminuq 0x2f49 ++#define MN_vpcmpuq 0x2f51 ++#define MN_vpcomequq 0x2f59 ++#define MN_vpcomnequq 0x2f63 ++#define MN_vpcmpnequq 0x2f6e ++#define MN_vpcmpequq 0x2f79 ++#define MN_vpcomgtuq 0x2f83 ++#define MN_vpcomltuq 0x2f8d ++#define MN_vpcmpnltuq 0x2f97 ++#define MN_vpcmpltuq 0x2fa2 ++#define MN_vpmaxuq 0x2fac ++#define MN_vpsravq 0x2fb4 ++#define MN_vpshldvq 0x2fbc ++#define MN_vpshrdvq 0x2fc5 ++#define MN_vpsllvq 0x2fce ++#define MN_vprolvq 0x2fd6 ++#define MN_vpsrlvq 0x2fde + #define MN_movq (MN_kmovq + 1) + #define MN_kmovq (MN_maskmovq + 3) + #define MN_maskmovq (MN_vpmaskmovq + 2) +-#define MN_vpmaskmovq 0x2f4d +-#define MN_vmovq 0x2f58 +-#define MN_vprorvq 0x2f5e +-#define MN_vphaddwq 0x2f66 +-#define MN_vphadduwq 0x2f6f ++#define MN_vpmaskmovq 0x2fe6 ++#define MN_vmovq 0x2ff1 ++#define MN_vprorvq 0x2ff7 ++#define MN_vphaddwq 0x2fff ++#define MN_vphadduwq 0x3008 + #define MN_pmovsxwq (MN_vpmovsxwq + 1) +-#define MN_vpmovsxwq 0x2f79 ++#define MN_vpmovsxwq 0x3012 + #define MN_pmovzxwq (MN_vpmovzxwq + 1) +-#define MN_vpmovzxwq 0x2f83 +-#define MN_rex_r 0x2f8d +-#define MN_vmclear 0x2f93 +-#define MN_lar 0x2f9b +-#define MN_sar 0x2f9f ++#define MN_vpmovzxwq 0x301c ++#define MN_rex_r 0x3026 ++#define MN_vmclear 0x302c ++#define MN_lar 0x3034 ++#define MN_sar 0x3038 + #define MN_fsubr (MN_pfsubr + 1) +-#define MN_pfsubr 0x2fa3 +-#define MN_fisubr 0x2faa +-#define MN_rcr 0x2fb1 +-#define MN_vzeroupper 0x2fb5 ++#define MN_pfsubr 0x303c ++#define MN_fisubr 0x3043 ++#define MN_rcr 0x304a ++#define MN_vzeroupper 0x304e + #define MN_enter (MN_sysenter + 3) +-#define MN_sysenter 0x2fc0 +-#define MN_shr 0x2fc9 +-#define MN_clr 0x2fcd ++#define MN_sysenter 0x3059 ++#define MN_shr 0x3062 ++#define MN_clr 0x3066 + #define MN_palignr (MN_vpalignr + 1) +-#define MN_vpalignr 0x2fd1 ++#define MN_vpalignr 0x306a + #define MN_or (MN_aor + 1) +-#define MN_aor 0x2fda ++#define MN_aor 0x3073 + #define MN_por (MN_vpor + 1) +-#define MN_vpor 0x2fde +-#define MN_ror 0x2fe3 ++#define MN_vpor 0x3077 ++#define MN_ror 0x307c + #define MN_monitor (MN_umonitor + 1) +-#define MN_umonitor 0x2fe7 +-#define MN_frstor 0x2ff0 ++#define MN_umonitor 0x3080 ++#define MN_frstor 0x3089 + #define MN_xrstor (MN_fxrstor + 1) +-#define MN_fxrstor 0x2ff7 ++#define MN_fxrstor 0x3090 + #define MN_xor (MN_axor + 1) +-#define MN_axor 0x2fff ++#define MN_axor 0x3098 + #define MN_pxor (MN_vpxor + 1) +-#define MN_vpxor 0x3004 +-#define MN_verr 0x300a +-#define MN_bsr 0x300f ++#define MN_vpxor 0x309d ++#define MN_verr 0x30a3 ++#define MN_bsr 0x30a8 + #define MN_ldmxcsr (MN_vldmxcsr + 1) +-#define MN_vldmxcsr 0x3013 ++#define MN_vldmxcsr 0x30ac + #define MN_stmxcsr (MN_vstmxcsr + 1) +-#define MN_vstmxcsr 0x301c +-#define MN_blsr 0x3025 +-#define MN_rdmsr 0x302a +-#define MN_wrmsr 0x3030 +-#define MN_btr 0x3036 +-#define MN_xcrypt_ctr 0x303a +-#define MN_xcryptctr 0x3045 +-#define MN_ltr 0x304f +-#define MN_str 0x3053 +-#define MN_bextr 0x3057 +-#define MN_fdivr 0x305d +-#define MN_fidivr 0x3063 +-#define MN_rex_wr 0x306a +-#define MN_aas 0x3071 +-#define MN_scas 0x3075 +-#define MN_das 0x307a +-#define MN_fabs 0x307e +-#define MN_movabs 0x3083 ++#define MN_vstmxcsr 0x30b5 ++#define MN_blsr 0x30be ++#define MN_rdmsr (MN_urdmsr + 1) ++#define MN_urdmsr 0x30c3 ++#define MN_wrmsr (MN_uwrmsr + 1) ++#define MN_uwrmsr 0x30ca ++#define MN_btr 0x30d1 ++#define MN_xcrypt_ctr 0x30d5 ++#define MN_xcryptctr 0x30e0 ++#define MN_ltr 0x30ea ++#define MN_str 0x30ee ++#define MN_bextr 0x30f2 ++#define MN_fdivr 0x30f8 ++#define MN_fidivr 0x30fe ++#define MN_rex_wr 0x3105 ++#define MN_aas 0x310c ++#define MN_scas 0x3110 ++#define MN_das 0x3115 ++#define MN_fabs 0x3119 ++#define MN_movabs 0x311e + #define MN_cs (MN_blcs + 2) +-#define MN_blcs 0x308a ++#define MN_blcs 0x3125 + #define MN_ds (MN_lds + 1) +-#define MN_lds 0x308f +-#define MN_enqcmds 0x3093 +-#define MN_lods 0x309b +-#define MN_vpdpbssds 0x30a0 +-#define MN_vp4dpwssds 0x30aa +-#define MN_vpdpwssds 0x30b5 +-#define MN_vpdpbusds 0x30bf +-#define MN_vpdpbsuds 0x30c9 +-#define MN_vpdpbuuds 0x30d3 ++#define MN_lds 0x312a ++#define MN_enqcmds 0x312e ++#define MN_lods 0x3136 ++#define MN_vpdpbssds 0x313b ++#define MN_vp4dpwssds 0x3145 ++#define MN_vpdpwssds 0x3150 ++#define MN_vpdpbusds 0x315a ++#define MN_vpdpwusds 0x3164 ++#define MN_vpdpbsuds 0x316e ++#define MN_vpdpwsuds 0x3178 ++#define MN_vpdpbuuds 0x3182 ++#define MN_vpdpwuuds 0x318c + #define MN_es (MN_les + 1) +-#define MN_les 0x30dd +-#define MN_xsaves 0x30e1 ++#define MN_les 0x3196 ++#define MN_xsaves 0x319a + #define MN_fs (MN_lfs + 1) +-#define MN_lfs 0x30e8 ++#define MN_lfs 0x31a1 + #define MN_gs (MN_lkgs + 2) +-#define MN_lkgs 0x30ec +-#define MN_lgs 0x30f1 +-#define MN_swapgs 0x30f5 +-#define MN_fchs 0x30fc +-#define MN_js 0x3101 +-#define MN_encls 0x3104 ++#define MN_lkgs 0x31a5 ++#define MN_lgs 0x31aa ++#define MN_swapgs 0x31ae ++#define MN_fchs 0x31b5 ++#define MN_js 0x31ba ++#define MN_encls 0x31bd + #define MN_emms (MN_femms + 1) +-#define MN_femms 0x310a ++#define MN_femms 0x31c3 + #define MN_ins (MN_lwpins + 3) +-#define MN_lwpins 0x3110 +-#define MN_jns 0x3117 +-#define MN_wrmsrns 0x311b +-#define MN_setns 0x3123 +-#define MN_cmovns 0x3129 +-#define MN_fcos 0x3130 +-#define MN_fsincos 0x3135 +-#define MN_stos 0x313d +-#define MN_vfmaddsub231ps 0x3142 +-#define MN_vfmsub231ps 0x3151 +-#define MN_vfnmsub231ps 0x315d +-#define MN_vfmsubadd231ps 0x316a +-#define MN_vfmadd231ps 0x3179 +-#define MN_vfnmadd231ps 0x3185 +-#define MN_vfmaddsub132ps 0x3192 +-#define MN_vfmsub132ps 0x31a1 +-#define MN_vfnmsub132ps 0x31ad +-#define MN_vfmsubadd132ps 0x31ba +-#define MN_vfmadd132ps 0x31c9 +-#define MN_vfnmadd132ps 0x31d5 +-#define MN_vcvtneebf162ps 0x31e2 +-#define MN_vbcstnebf162ps 0x31f1 +-#define MN_vcvtneobf162ps 0x3200 ++#define MN_lwpins 0x31c9 ++#define MN_jns 0x31d0 ++#define MN_wrmsrns 0x31d4 ++#define MN_setns 0x31dc ++#define MN_cmovns 0x31e2 ++#define MN_fcos 0x31e9 ++#define MN_fsincos 0x31ee ++#define MN_stos 0x31f6 ++#define MN_vfmaddsub231ps 0x31fb ++#define MN_vfmsub231ps 0x320a ++#define MN_vfnmsub231ps 0x3216 ++#define MN_vfmsubadd231ps 0x3223 ++#define MN_vfmadd231ps 0x3232 ++#define MN_vfnmadd231ps 0x323e ++#define MN_vfmaddsub132ps 0x324b ++#define MN_vfmsub132ps 0x325a ++#define MN_vfnmsub132ps 0x3266 ++#define MN_vfmsubadd132ps 0x3273 ++#define MN_vfmadd132ps 0x3282 ++#define MN_vfnmadd132ps 0x328e ++#define MN_vcvtneebf162ps 0x329b ++#define MN_vbcstnebf162ps 0x32aa ++#define MN_vcvtneobf162ps 0x32b9 + #define MN_cvtpd2ps (MN_vcvtpd2ps + 1) +-#define MN_vcvtpd2ps 0x320f +-#define MN_vcvtneeph2ps 0x3219 +-#define MN_vcvtneoph2ps 0x3226 +-#define MN_vcvtph2ps 0x3233 +-#define MN_vbcstnesh2ps 0x323d +-#define MN_vpermi2ps 0x324a +-#define MN_cvtpi2ps 0x3254 +-#define MN_vpermil2ps 0x325d +-#define MN_vexp2ps 0x3268 ++#define MN_vcvtpd2ps 0x32c8 ++#define MN_vcvtneeph2ps 0x32d2 ++#define MN_vcvtneoph2ps 0x32df ++#define MN_vcvtph2ps 0x32ec ++#define MN_vbcstnesh2ps 0x32f6 ++#define MN_vpermi2ps 0x3303 ++#define MN_cvtpi2ps 0x330d ++#define MN_vpermil2ps 0x3316 ++#define MN_vexp2ps 0x3321 + #define MN_cvtdq2ps (MN_vcvtdq2ps + 1) +-#define MN_vcvtdq2ps 0x3270 +-#define MN_vcvtudq2ps 0x327a +-#define MN_vcvtqq2ps 0x3285 +-#define MN_vcvtuqq2ps 0x328f +-#define MN_vpermt2ps 0x329a +-#define MN_vfmaddsub213ps 0x32a4 +-#define MN_vfmsub213ps 0x32b3 +-#define MN_vfnmsub213ps 0x32bf +-#define MN_vfmsubadd213ps 0x32cc +-#define MN_vfmadd213ps 0x32db +-#define MN_vfnmadd213ps 0x32e7 +-#define MN_vrcp14ps 0x32f4 +-#define MN_vrsqrt14ps 0x32fd +-#define MN_tdpbf16ps 0x3308 +-#define MN_vdpbf16ps 0x3312 +-#define MN_tcmmrlfp16ps 0x331c +-#define MN_tcmmimfp16ps 0x3329 +-#define MN_tdpfp16ps 0x3336 +-#define MN_vrcp28ps 0x3340 +-#define MN_vrsqrt28ps 0x3349 ++#define MN_vcvtdq2ps 0x3329 ++#define MN_vcvtudq2ps 0x3333 ++#define MN_vcvtqq2ps 0x333e ++#define MN_vcvtuqq2ps 0x3348 ++#define MN_vpermt2ps 0x3353 ++#define MN_vfmaddsub213ps 0x335d ++#define MN_vfmsub213ps 0x336c ++#define MN_vfnmsub213ps 0x3378 ++#define MN_vfmsubadd213ps 0x3385 ++#define MN_vfmadd213ps 0x3394 ++#define MN_vfnmadd213ps 0x33a0 ++#define MN_vrcp14ps 0x33ad ++#define MN_vrsqrt14ps 0x33b6 ++#define MN_tdpbf16ps 0x33c1 ++#define MN_vdpbf16ps 0x33cb ++#define MN_tcmmrlfp16ps 0x33d5 ++#define MN_tcmmimfp16ps 0x33e2 ++#define MN_tdpfp16ps 0x33ef ++#define MN_vrcp28ps 0x33f9 ++#define MN_vrsqrt28ps 0x3402 + #define MN_movaps (MN_vmovaps + 1) +-#define MN_vmovaps 0x3354 ++#define MN_vmovaps 0x340d + #define MN_subps (MN_addsubps + 3) + #define MN_addsubps (MN_vfmaddsubps + 3) +-#define MN_vfmaddsubps 0x335c +-#define MN_vaddsubps 0x3368 ++#define MN_vfmaddsubps 0x3415 ++#define MN_vaddsubps 0x3421 + #define MN_hsubps (MN_vhsubps + 1) +-#define MN_vhsubps 0x3372 +-#define MN_vfmsubps 0x337a +-#define MN_vfnmsubps 0x3383 +-#define MN_vsubps 0x338d +-#define MN_vgatherpf0dps 0x3394 +-#define MN_vscatterpf0dps 0x33a2 +-#define MN_vgatherpf1dps 0x33b1 +-#define MN_vscatterpf1dps 0x33bf ++#define MN_vhsubps 0x342b ++#define MN_vfmsubps 0x3433 ++#define MN_vfnmsubps 0x343c ++#define MN_vsubps 0x3446 ++#define MN_vgatherpf0dps 0x344d ++#define MN_vscatterpf0dps 0x345b ++#define MN_vgatherpf1dps 0x346a ++#define MN_vscatterpf1dps 0x3478 + #define MN_addps (MN_vfmsubaddps + 6) +-#define MN_vfmsubaddps 0x33ce ++#define MN_vfmsubaddps 0x3487 + #define MN_haddps (MN_vhaddps + 1) +-#define MN_vhaddps 0x33da +-#define MN_v4fmaddps 0x33e2 +-#define MN_vfmaddps 0x33ec +-#define MN_v4fnmaddps 0x33f5 +-#define MN_vfnmaddps 0x3400 +-#define MN_vaddps 0x340a ++#define MN_vhaddps 0x3493 ++#define MN_v4fmaddps 0x349b ++#define MN_vfmaddps 0x34a5 ++#define MN_v4fnmaddps 0x34ae ++#define MN_vfnmaddps 0x34b9 ++#define MN_vaddps 0x34c3 + #define MN_andps (MN_vexpandps + 4) +-#define MN_vexpandps 0x3411 +-#define MN_vandps 0x341b ++#define MN_vexpandps 0x34ca ++#define MN_vandps 0x34d4 + #define MN_blendps (MN_vblendps + 1) +-#define MN_vblendps 0x3422 ++#define MN_vblendps 0x34db + #define MN_roundps (MN_vroundps + 1) +-#define MN_vroundps 0x342b +-#define MN_vgatherdps 0x3434 +-#define MN_vscatterdps 0x343f ++#define MN_vroundps 0x34e4 ++#define MN_vgatherdps 0x34ed ++#define MN_vscatterdps 0x34f8 + #define MN_cmpunordps (MN_vcmpunordps + 1) +-#define MN_vcmpunordps 0x344b ++#define MN_vcmpunordps 0x3504 + #define MN_cmpordps (MN_vcmpordps + 1) +-#define MN_vcmpordps 0x3457 +-#define MN_vreduceps 0x3461 +-#define MN_vrangeps 0x346b +-#define MN_vcmpngeps 0x3474 +-#define MN_vcmpgeps 0x347e +-#define MN_vrndscaleps 0x3487 ++#define MN_vcmpordps 0x3510 ++#define MN_vreduceps 0x351a ++#define MN_vrangeps 0x3524 ++#define MN_vcmpngeps 0x352d ++#define MN_vcmpgeps 0x3537 ++#define MN_vrndscaleps 0x3540 + #define MN_cmpnleps (MN_vcmpnleps + 1) +-#define MN_vcmpnleps 0x3493 ++#define MN_vcmpnleps 0x354c + #define MN_cmpleps (MN_vcmpleps + 1) +-#define MN_vcmpleps 0x349d +-#define MN_vcmpfalseps 0x34a6 +-#define MN_vcmptrueps 0x34b2 +-#define MN_vscalefps 0x34bd ++#define MN_vcmpleps 0x3556 ++#define MN_vcmpfalseps 0x355f ++#define MN_vcmptrueps 0x356b ++#define MN_vscalefps 0x3576 + #define MN_shufps (MN_vshufps + 1) +-#define MN_vshufps 0x34c7 ++#define MN_vshufps 0x3580 + #define MN_unpckhps (MN_vunpckhps + 1) +-#define MN_vunpckhps 0x34cf ++#define MN_vunpckhps 0x3588 + #define MN_movlhps (MN_vmovlhps + 1) +-#define MN_vmovlhps 0x34d9 ++#define MN_vmovlhps 0x3592 + #define MN_movhps (MN_vmovhps + 1) +-#define MN_vmovhps 0x34e2 ++#define MN_vmovhps 0x359b + #define MN_movmskps (MN_vmovmskps + 1) +-#define MN_vmovmskps 0x34ea ++#define MN_vmovmskps 0x35a3 + #define MN_movhlps (MN_vmovhlps + 1) +-#define MN_vmovhlps 0x34f4 +-#define MN_vpermilps 0x34fd ++#define MN_vmovhlps 0x35ad ++#define MN_vpermilps 0x35b6 + #define MN_unpcklps (MN_vunpcklps + 1) +-#define MN_vunpcklps 0x3507 ++#define MN_vunpcklps 0x35c0 + #define MN_mulps (MN_vmulps + 1) +-#define MN_vmulps 0x3511 ++#define MN_vmulps 0x35ca + #define MN_movlps (MN_vmovlps + 1) +-#define MN_vmovlps 0x3518 +-#define MN_cmps 0x3520 +-#define MN_vblendmps 0x3525 +-#define MN_vfixupimmps 0x352f +-#define MN_vpermps 0x353b ++#define MN_vmovlps 0x35d1 ++#define MN_cmps 0x35d9 ++#define MN_vblendmps 0x35de ++#define MN_vfixupimmps 0x35e8 ++#define MN_vpermps 0x35f4 + #define MN_andnps (MN_vandnps + 1) +-#define MN_vandnps 0x3543 ++#define MN_vandnps 0x35fc + #define MN_minps (MN_vminps + 1) +-#define MN_vminps 0x354b +-#define MN_seamops 0x3552 ++#define MN_vminps 0x3604 ++#define MN_seamops 0x360b + #define MN_rcpps (MN_vrcpps + 1) +-#define MN_vrcpps 0x355a ++#define MN_vrcpps 0x3613 + #define MN_dpps (MN_vdpps + 1) +-#define MN_vdpps 0x3561 ++#define MN_vdpps 0x361a + #define MN_cmpps (MN_vcmpps + 1) +-#define MN_vcmpps 0x3567 +-#define MN_vgetexpps 0x356e +-#define MN_vgatherpf0qps 0x3578 +-#define MN_vscatterpf0qps 0x3586 +-#define MN_vgatherpf1qps 0x3595 +-#define MN_vscatterpf1qps 0x35a3 +-#define MN_vcmpunord_qps 0x35b2 +-#define MN_vcmpord_qps 0x35c0 ++#define MN_vcmpps 0x3620 ++#define MN_vgetexpps 0x3627 ++#define MN_vgatherpf0qps 0x3631 ++#define MN_vscatterpf0qps 0x363f ++#define MN_vgatherpf1qps 0x364e ++#define MN_vscatterpf1qps 0x365c ++#define MN_vcmpunord_qps 0x366b ++#define MN_vcmpord_qps 0x3679 + #define MN_cmpneqps (MN_vcmpneqps + 1) +-#define MN_vcmpneqps 0x35cc ++#define MN_vcmpneqps 0x3685 + #define MN_cmpeqps (MN_vcmpeqps + 1) +-#define MN_vcmpeqps 0x35d6 +-#define MN_vcmpge_oqps 0x35df +-#define MN_vcmple_oqps 0x35eb +-#define MN_vcmpfalse_oqps 0x35f7 +-#define MN_vcmpneq_oqps 0x3606 +-#define MN_vcmpeq_oqps 0x3613 +-#define MN_vcmpgt_oqps 0x361f +-#define MN_vcmplt_oqps 0x362b +-#define MN_vgatherqps 0x3637 +-#define MN_vscatterqps 0x3642 +-#define MN_vcmpnge_uqps 0x364e +-#define MN_vcmpnle_uqps 0x365b +-#define MN_vcmptrue_uqps 0x3668 +-#define MN_vcmpneq_uqps 0x3676 +-#define MN_vcmpeq_uqps 0x3683 +-#define MN_vcmpngt_uqps 0x368f +-#define MN_vcmpnlt_uqps 0x369c ++#define MN_vcmpeqps 0x368f ++#define MN_vcmpge_oqps 0x3698 ++#define MN_vcmple_oqps 0x36a4 ++#define MN_vcmpfalse_oqps 0x36b0 ++#define MN_vcmpneq_oqps 0x36bf ++#define MN_vcmpeq_oqps 0x36cc ++#define MN_vcmpgt_oqps 0x36d8 ++#define MN_vcmplt_oqps 0x36e4 ++#define MN_vgatherqps 0x36f0 ++#define MN_vscatterqps 0x36fb ++#define MN_vcmpnge_uqps 0x3707 ++#define MN_vcmpnle_uqps 0x3714 ++#define MN_vcmptrue_uqps 0x3721 ++#define MN_vcmpneq_uqps 0x372f ++#define MN_vcmpeq_uqps 0x373c ++#define MN_vcmpngt_uqps 0x3748 ++#define MN_vcmpnlt_uqps 0x3755 + #define MN_orps (MN_vorps + 1) +-#define MN_vorps 0x36a9 ++#define MN_vorps 0x3762 + #define MN_xorps (MN_vxorps + 1) +-#define MN_vxorps 0x36af +-#define MN_vcmpunord_sps 0x36b6 +-#define MN_vcmpord_sps 0x36c4 +-#define MN_vcmpge_osps 0x36d0 +-#define MN_vcmple_osps 0x36dc +-#define MN_vcmpfalse_osps 0x36e8 +-#define MN_vcmpneq_osps 0x36f7 +-#define MN_vcmpeq_osps 0x3704 +-#define MN_vcmpgt_osps 0x3710 +-#define MN_vcmplt_osps 0x371c +-#define MN_vfpclassps 0x3728 +-#define MN_vcompressps 0x3733 +-#define MN_vcmpnge_usps 0x373f +-#define MN_vcmpnle_usps 0x374c +-#define MN_vcmptrue_usps 0x3759 +-#define MN_vcmpneq_usps 0x3767 +-#define MN_vcmpeq_usps 0x3774 +-#define MN_vcmpngt_usps 0x3780 +-#define MN_vcmpnlt_usps 0x378d ++#define MN_vxorps 0x3768 ++#define MN_vcmpunord_sps 0x376f ++#define MN_vcmpord_sps 0x377d ++#define MN_vcmpge_osps 0x3789 ++#define MN_vcmple_osps 0x3795 ++#define MN_vcmpfalse_osps 0x37a1 ++#define MN_vcmpneq_osps 0x37b0 ++#define MN_vcmpeq_osps 0x37bd ++#define MN_vcmpgt_osps 0x37c9 ++#define MN_vcmplt_osps 0x37d5 ++#define MN_vfpclassps 0x37e1 ++#define MN_vcompressps 0x37ec ++#define MN_vcmpnge_usps 0x37f8 ++#define MN_vcmpnle_usps 0x3805 ++#define MN_vcmptrue_usps 0x3812 ++#define MN_vcmpneq_usps 0x3820 ++#define MN_vcmpeq_usps 0x382d ++#define MN_vcmpngt_usps 0x3839 ++#define MN_vcmpnlt_usps 0x3846 + #define MN_extractps (MN_vextractps + 1) +-#define MN_vextractps 0x379a +-#define MN_vcmpngtps 0x37a5 +-#define MN_vcmpgtps 0x37af ++#define MN_vextractps 0x3853 ++#define MN_vcmpngtps 0x385e ++#define MN_vcmpgtps 0x3868 + #define MN_cmpnltps (MN_vcmpnltps + 1) +-#define MN_vcmpnltps 0x37b8 ++#define MN_vcmpnltps 0x3871 + #define MN_cmpltps (MN_vcmpltps + 1) +-#define MN_vcmpltps 0x37c2 +-#define MN_vgetmantps 0x37cb ++#define MN_vcmpltps 0x387b ++#define MN_vgetmantps 0x3884 + #define MN_movntps (MN_vmovntps + 1) +-#define MN_vmovntps 0x37d6 ++#define MN_vmovntps 0x388f + #define MN_insertps (MN_vinsertps + 1) +-#define MN_vinsertps 0x37df ++#define MN_vinsertps 0x3898 + #define MN_sqrtps (MN_rsqrtps + 1) + #define MN_rsqrtps (MN_vrsqrtps + 1) +-#define MN_vrsqrtps 0x37e9 +-#define MN_vsqrtps 0x37f2 +-#define MN_vtestps 0x37fa ++#define MN_vrsqrtps 0x38a2 ++#define MN_vsqrtps 0x38ab ++#define MN_vtestps 0x38b3 + #define MN_movups (MN_vmovups + 1) +-#define MN_vmovups 0x3802 ++#define MN_vmovups 0x38bb + #define MN_blendvps (MN_vblendvps + 1) +-#define MN_vblendvps 0x380a ++#define MN_vblendvps 0x38c3 + #define MN_divps (MN_vdivps + 1) +-#define MN_vdivps 0x3814 +-#define MN_vmaskmovps 0x381b ++#define MN_vdivps 0x38cd ++#define MN_vmaskmovps 0x38d4 + #define MN_maxps (MN_vmaxps + 1) +-#define MN_vmaxps 0x3826 +-#define MN_vfrczps 0x382d +-#define MN_xrstors 0x3835 ++#define MN_vmaxps 0x38df ++#define MN_vfrczps 0x38e6 ++#define MN_xrstors 0x38ee + #define MN_ss (MN_vfmsub231ss + 9) +-#define MN_vfmsub231ss 0x383d +-#define MN_vfnmsub231ss 0x3849 +-#define MN_vfmadd231ss 0x3856 +-#define MN_vfnmadd231ss 0x3862 +-#define MN_vfmsub132ss 0x386f +-#define MN_vfnmsub132ss 0x387b +-#define MN_vfmadd132ss 0x3888 +-#define MN_vfnmadd132ss 0x3894 ++#define MN_vfmsub231ss 0x38f6 ++#define MN_vfnmsub231ss 0x3902 ++#define MN_vfmadd231ss 0x390f ++#define MN_vfnmadd231ss 0x391b ++#define MN_vfmsub132ss 0x3928 ++#define MN_vfnmsub132ss 0x3934 ++#define MN_vfmadd132ss 0x3941 ++#define MN_vfnmadd132ss 0x394d + #define MN_cvtsd2ss (MN_vcvtsd2ss + 1) +-#define MN_vcvtsd2ss 0x38a1 +-#define MN_vcvtsh2ss 0x38ab ++#define MN_vcvtsd2ss 0x395a ++#define MN_vcvtsh2ss 0x3964 + #define MN_cvtsi2ss (MN_vcvtsi2ss + 1) +-#define MN_vcvtsi2ss 0x38b5 +-#define MN_vcvtusi2ss 0x38bf +-#define MN_vfmsub213ss 0x38ca +-#define MN_vfnmsub213ss 0x38d6 +-#define MN_vfmadd213ss 0x38e3 +-#define MN_vfnmadd213ss 0x38ef +-#define MN_vrcp14ss 0x38fc +-#define MN_vrsqrt14ss 0x3905 +-#define MN_vrcp28ss 0x3910 +-#define MN_vrsqrt28ss 0x3919 ++#define MN_vcvtsi2ss 0x396e ++#define MN_vcvtusi2ss 0x3978 ++#define MN_vfmsub213ss 0x3983 ++#define MN_vfnmsub213ss 0x398f ++#define MN_vfmadd213ss 0x399c ++#define MN_vfnmadd213ss 0x39a8 ++#define MN_vrcp14ss 0x39b5 ++#define MN_vrsqrt14ss 0x39be ++#define MN_vrcp28ss 0x39c9 ++#define MN_vrsqrt28ss 0x39d2 + #define MN_subss (MN_vfmsubss + 3) +-#define MN_vfmsubss 0x3924 +-#define MN_vfnmsubss 0x392d +-#define MN_vsubss 0x3937 ++#define MN_vfmsubss 0x39dd ++#define MN_vfnmsubss 0x39e6 ++#define MN_vsubss 0x39f0 + #define MN_addss (MN_v4fmaddss + 4) +-#define MN_v4fmaddss 0x393e +-#define MN_vfmaddss 0x3948 +-#define MN_v4fnmaddss 0x3951 +-#define MN_vfnmaddss 0x395c +-#define MN_vaddss 0x3966 ++#define MN_v4fmaddss 0x39f7 ++#define MN_vfmaddss 0x3a01 ++#define MN_v4fnmaddss 0x3a0a ++#define MN_vfnmaddss 0x3a15 ++#define MN_vaddss 0x3a1f + #define MN_roundss (MN_vroundss + 1) +-#define MN_vroundss 0x396d ++#define MN_vroundss 0x3a26 + #define MN_cmpunordss (MN_vcmpunordss + 1) +-#define MN_vcmpunordss 0x3976 ++#define MN_vcmpunordss 0x3a2f + #define MN_cmpordss (MN_vcmpordss + 1) +-#define MN_vcmpordss 0x3982 +-#define MN_vreducess 0x398c +-#define MN_vrangess 0x3996 +-#define MN_vcmpngess 0x399f +-#define MN_vcmpgess 0x39a9 +-#define MN_vrndscaless 0x39b2 ++#define MN_vcmpordss 0x3a3b ++#define MN_vreducess 0x3a45 ++#define MN_vrangess 0x3a4f ++#define MN_vcmpngess 0x3a58 ++#define MN_vcmpgess 0x3a62 ++#define MN_vrndscaless 0x3a6b + #define MN_cmpnless (MN_vcmpnless + 1) +-#define MN_vcmpnless 0x39be ++#define MN_vcmpnless 0x3a77 + #define MN_cmpless (MN_vcmpless + 1) +-#define MN_vcmpless 0x39c8 +-#define MN_vcmpfalsess 0x39d1 +-#define MN_vcmptruess 0x39dd +-#define MN_vscalefss 0x39e8 ++#define MN_vcmpless 0x3a81 ++#define MN_vcmpfalsess 0x3a8a ++#define MN_vcmptruess 0x3a96 ++#define MN_vscalefss 0x3aa1 + #define MN_comiss (MN_ucomiss + 1) + #define MN_ucomiss (MN_vucomiss + 1) +-#define MN_vucomiss 0x39f2 +-#define MN_vcomiss 0x39fb ++#define MN_vucomiss 0x3aab ++#define MN_vcomiss 0x3ab4 + #define MN_lss (MN_mulss + 2) + #define MN_mulss (MN_vmulss + 1) +-#define MN_vmulss 0x3a03 +-#define MN_vfixupimmss 0x3a0a ++#define MN_vmulss 0x3abc ++#define MN_vfixupimmss 0x3ac3 + #define MN_minss (MN_vminss + 1) +-#define MN_vminss 0x3a16 ++#define MN_vminss 0x3acf + #define MN_rcpss (MN_vrcpss + 1) +-#define MN_vrcpss 0x3a1d ++#define MN_vrcpss 0x3ad6 + #define MN_cmpss (MN_vcmpss + 1) +-#define MN_vcmpss 0x3a24 +-#define MN_vgetexpss 0x3a2b +-#define MN_vcmpunord_qss 0x3a35 +-#define MN_vcmpord_qss 0x3a43 ++#define MN_vcmpss 0x3add ++#define MN_vgetexpss 0x3ae4 ++#define MN_vcmpunord_qss 0x3aee ++#define MN_vcmpord_qss 0x3afc + #define MN_cmpneqss (MN_vcmpneqss + 1) +-#define MN_vcmpneqss 0x3a4f ++#define MN_vcmpneqss 0x3b08 + #define MN_cmpeqss (MN_vcmpeqss + 1) +-#define MN_vcmpeqss 0x3a59 +-#define MN_vcmpge_oqss 0x3a62 +-#define MN_vcmple_oqss 0x3a6e +-#define MN_vcmpfalse_oqss 0x3a7a +-#define MN_vcmpneq_oqss 0x3a89 +-#define MN_vcmpeq_oqss 0x3a96 +-#define MN_vcmpgt_oqss 0x3aa2 +-#define MN_vcmplt_oqss 0x3aae +-#define MN_vcmpnge_uqss 0x3aba +-#define MN_vcmpnle_uqss 0x3ac7 +-#define MN_vcmptrue_uqss 0x3ad4 +-#define MN_vcmpneq_uqss 0x3ae2 +-#define MN_vcmpeq_uqss 0x3aef +-#define MN_vcmpngt_uqss 0x3afb +-#define MN_vcmpnlt_uqss 0x3b08 +-#define MN_vcmpunord_sss 0x3b15 +-#define MN_vcmpord_sss 0x3b23 +-#define MN_vcmpge_osss 0x3b2f +-#define MN_vcmple_osss 0x3b3b +-#define MN_vcmpfalse_osss 0x3b47 +-#define MN_vcmpneq_osss 0x3b56 +-#define MN_vcmpeq_osss 0x3b63 +-#define MN_vcmpgt_osss 0x3b6f +-#define MN_vcmplt_osss 0x3b7b +-#define MN_vfpclassss 0x3b87 +-#define MN_vcmpnge_usss 0x3b92 +-#define MN_vcmpnle_usss 0x3b9f +-#define MN_vcmptrue_usss 0x3bac +-#define MN_vcmpneq_usss 0x3bba +-#define MN_vcmpeq_usss 0x3bc7 +-#define MN_vcmpngt_usss 0x3bd3 +-#define MN_vcmpnlt_usss 0x3be0 +-#define MN_vcmpngtss 0x3bed +-#define MN_vcmpgtss 0x3bf7 ++#define MN_vcmpeqss 0x3b12 ++#define MN_vcmpge_oqss 0x3b1b ++#define MN_vcmple_oqss 0x3b27 ++#define MN_vcmpfalse_oqss 0x3b33 ++#define MN_vcmpneq_oqss 0x3b42 ++#define MN_vcmpeq_oqss 0x3b4f ++#define MN_vcmpgt_oqss 0x3b5b ++#define MN_vcmplt_oqss 0x3b67 ++#define MN_vcmpnge_uqss 0x3b73 ++#define MN_vcmpnle_uqss 0x3b80 ++#define MN_vcmptrue_uqss 0x3b8d ++#define MN_vcmpneq_uqss 0x3b9b ++#define MN_vcmpeq_uqss 0x3ba8 ++#define MN_vcmpngt_uqss 0x3bb4 ++#define MN_vcmpnlt_uqss 0x3bc1 ++#define MN_vcmpunord_sss 0x3bce ++#define MN_vcmpord_sss 0x3bdc ++#define MN_vcmpge_osss 0x3be8 ++#define MN_vcmple_osss 0x3bf4 ++#define MN_vcmpfalse_osss 0x3c00 ++#define MN_vcmpneq_osss 0x3c0f ++#define MN_vcmpeq_osss 0x3c1c ++#define MN_vcmpgt_osss 0x3c28 ++#define MN_vcmplt_osss 0x3c34 ++#define MN_vfpclassss 0x3c40 ++#define MN_vcmpnge_usss 0x3c4b ++#define MN_vcmpnle_usss 0x3c58 ++#define MN_vcmptrue_usss 0x3c65 ++#define MN_vcmpneq_usss 0x3c73 ++#define MN_vcmpeq_usss 0x3c80 ++#define MN_vcmpngt_usss 0x3c8c ++#define MN_vcmpnlt_usss 0x3c99 ++#define MN_vcmpngtss 0x3ca6 ++#define MN_vcmpgtss 0x3cb0 + #define MN_cmpnltss (MN_vcmpnltss + 1) +-#define MN_vcmpnltss 0x3c00 ++#define MN_vcmpnltss 0x3cb9 + #define MN_cmpltss (MN_vcmpltss + 1) +-#define MN_vcmpltss 0x3c0a +-#define MN_vgetmantss 0x3c13 +-#define MN_movntss 0x3c1e ++#define MN_vcmpltss 0x3cc3 ++#define MN_vgetmantss 0x3ccc ++#define MN_movntss 0x3cd7 + #define MN_sqrtss (MN_rsqrtss + 1) + #define MN_rsqrtss (MN_vrsqrtss + 1) +-#define MN_vrsqrtss 0x3c26 +-#define MN_vsqrtss 0x3c2f +-#define MN_vbroadcastss 0x3c37 ++#define MN_vrsqrtss 0x3cdf ++#define MN_vsqrtss 0x3ce8 ++#define MN_vbroadcastss 0x3cf0 + #define MN_divss (MN_vdivss + 1) +-#define MN_vdivss 0x3c44 ++#define MN_vdivss 0x3cfd + #define MN_movss (MN_vmovss + 1) +-#define MN_vmovss 0x3c4b ++#define MN_vmovss 0x3d04 + #define MN_maxss (MN_vmaxss + 1) +-#define MN_vmaxss 0x3c52 +-#define MN_vfrczss 0x3c59 +-#define MN_bts 0x3c61 +-#define MN_erets 0x3c65 +-#define MN_sets 0x3c6b +-#define MN_clts 0x3c70 +-#define MN_outs 0x3c75 ++#define MN_vmaxss 0x3d0b ++#define MN_vfrczss 0x3d12 ++#define MN_bts 0x3d1a ++#define MN_erets 0x3d1e ++#define MN_sets 0x3d24 ++#define MN_clts 0x3d29 ++#define MN_outs 0x3d2e + #define MN_movs (MN_cmovs + 1) +-#define MN_cmovs 0x3c7a +-#define MN_fldl2t 0x3c80 +-#define MN_xlat 0x3c87 +-#define MN_bt 0x3c8c +-#define MN_fxtract 0x3c8f +-#define MN_lgdt 0x3c97 +-#define MN_sgdt 0x3c9c +-#define MN_lidt 0x3ca1 +-#define MN_sidt 0x3ca6 +-#define MN_fldt 0x3cab +-#define MN_lldt 0x3cb0 +-#define MN_sldt 0x3cb5 ++#define MN_cmovs 0x3d33 ++#define MN_fldl2t 0x3d39 ++#define MN_xlat 0x3d40 ++#define MN_bt 0x3d45 ++#define MN_fxtract 0x3d48 ++#define MN_lgdt 0x3d50 ++#define MN_sgdt 0x3d55 ++#define MN_lidt 0x3d5a ++#define MN_sidt 0x3d5f ++#define MN_fldt 0x3d64 ++#define MN_lldt 0x3d69 ++#define MN_sldt 0x3d6e + #define MN_ret (MN_iret + 1) + #define MN_iret (MN_uiret + 1) +-#define MN_uiret 0x3cba +-#define MN_lret 0x3cc0 +-#define MN_seamret 0x3cc5 +-#define MN_sysret 0x3ccd +-#define MN_hreset 0x3cd4 +-#define MN_pfcmpgt 0x3cdb +-#define MN_ht 0x3ce3 ++#define MN_uiret 0x3d73 ++#define MN_lret 0x3d79 ++#define MN_seamret 0x3d7e ++#define MN_sysret 0x3d86 ++#define MN_hreset 0x3d8d ++#define MN_pfcmpgt 0x3d94 ++#define MN_ht 0x3d9c + #define MN_wait (MN_fwait + 1) +-#define MN_fwait 0x3ce6 ++#define MN_fwait 0x3d9f + #define MN_mwait (MN_umwait + 1) +-#define MN_umwait 0x3cec +-#define MN_mcommit 0x3cf3 +-#define MN_finit 0x3cfb +-#define MN_skinit 0x3d01 +-#define MN_fninit 0x3d08 +-#define MN_vmgexit 0x3d0f +-#define MN_sysexit 0x3d17 +-#define MN_hlt 0x3d1f +-#define MN_popcnt 0x3d23 +-#define MN_lzcnt 0x3d2a +-#define MN_tzcnt 0x3d30 +-#define MN_hnt 0x3d36 ++#define MN_umwait 0x3da5 ++#define MN_mcommit 0x3dac ++#define MN_finit 0x3db4 ++#define MN_skinit 0x3dba ++#define MN_fninit 0x3dc1 ++#define MN_vmgexit 0x3dc8 ++#define MN_sysexit 0x3dd0 ++#define MN_hlt 0x3dd8 ++#define MN_popcnt 0x3ddc ++#define MN_lzcnt 0x3de3 ++#define MN_tzcnt 0x3de9 ++#define MN_hnt 0x3def + #define MN_int (MN_frndint + 4) +-#define MN_frndint 0x3d3a +-#define MN_not 0x3d42 +-#define MN_invept 0x3d46 +-#define MN_xsaveopt 0x3d4d +-#define MN_clflushopt 0x3d56 +-#define MN_fstpt 0x3d61 +-#define MN_xabort 0x3d67 +-#define MN_fsqrt 0x3d6e +-#define MN_pfrsqrt 0x3d74 ++#define MN_frndint 0x3df3 ++#define MN_not 0x3dfb ++#define MN_invept 0x3dff ++#define MN_xsaveopt 0x3e06 ++#define MN_clflushopt 0x3e0f ++#define MN_fstpt 0x3e1a ++#define MN_xabort 0x3e20 ++#define MN_fsqrt 0x3e27 ++#define MN_pfrsqrt 0x3e2d + #define MN_aesdeclast (MN_vaesdeclast + 1) +-#define MN_vaesdeclast 0x3d7c ++#define MN_vaesdeclast 0x3e35 + #define MN_aesenclast (MN_vaesenclast + 1) +-#define MN_vaesenclast 0x3d88 ++#define MN_vaesenclast 0x3e41 + #define MN_test (MN_ptest + 1) + #define MN_ptest (MN_vptest + 1) +-#define MN_vptest 0x3d94 +-#define MN_xtest 0x3d9b +-#define MN_fst 0x3da1 +-#define MN_fist 0x3da5 +-#define MN_rdmsrlist 0x3daa +-#define MN_wrmsrlist 0x3db4 ++#define MN_vptest 0x3e4d ++#define MN_xtest 0x3e54 ++#define MN_fst 0x3e5a ++#define MN_fist 0x3e5e ++#define MN_rdmsrlist 0x3e63 ++#define MN_wrmsrlist 0x3e6d + #define MN_aeskeygenassist (MN_vaeskeygenassist + 1) +-#define MN_vaeskeygenassist 0x3dbe +-#define MN_vmptrst 0x3dcf +-#define MN_ftst 0x3dd7 +-#define MN_rmpadjust 0x3ddc +-#define MN_out 0x3de6 +-#define MN_pext 0x3dea +-#define MN_bndcu 0x3def +-#define MN_enclu 0x3df5 +-#define MN_fcmovnu 0x3dfb ++#define MN_vaeskeygenassist 0x3e77 ++#define MN_vmptrst 0x3e88 ++#define MN_ftst 0x3e90 ++#define MN_rmpadjust 0x3e95 ++#define MN_out 0x3e9f ++#define MN_pext 0x3ea3 ++#define MN_bndcu 0x3ea8 ++#define MN_enclu 0x3eae ++#define MN_fcmovnu 0x3eb4 + #define MN_lddqu (MN_vlddqu + 1) +-#define MN_vlddqu 0x3e03 ++#define MN_vlddqu 0x3ebc + #define MN_movdqu (MN_maskmovdqu + 4) + #define MN_maskmovdqu (MN_vmaskmovdqu + 1) +-#define MN_vmaskmovdqu 0x3e0a +-#define MN_vmovdqu 0x3e16 +-#define MN_rdpkru 0x3e1e +-#define MN_wrpkru 0x3e25 +-#define MN_rdpru 0x3e2c +-#define MN_eretu 0x3e32 +-#define MN_fcmovu 0x3e38 +-#define MN_xgetbv 0x3e3f +-#define MN_xsetbv 0x3e46 ++#define MN_vmaskmovdqu 0x3ec3 ++#define MN_vmovdqu 0x3ecf ++#define MN_rdpkru 0x3ed7 ++#define MN_wrpkru 0x3ede ++#define MN_rdpru 0x3ee5 ++#define MN_eretu 0x3eeb ++#define MN_fcmovu 0x3ef1 ++#define MN_xgetbv 0x3ef8 ++#define MN_xsetbv 0x3eff + #define MN_div (MN_fdiv + 1) +-#define MN_fdiv 0x3e4d ++#define MN_fdiv 0x3f06 + #define MN_idiv (MN_fidiv + 1) +-#define MN_fidiv 0x3e52 +-#define MN_enclv 0x3e58 +-#define MN_fldenv 0x3e5e +-#define MN_fstenv 0x3e65 +-#define MN_fnstenv 0x3e6c ++#define MN_fidiv 0x3f0b ++#define MN_enclv 0x3f11 ++#define MN_fldenv 0x3f17 ++#define MN_fstenv 0x3f1e ++#define MN_fnstenv 0x3f25 + #define MN_mov (MN_vpcmov + 3) +-#define MN_vpcmov 0x3e74 +-#define MN_bndmov 0x3e7b +-#define MN_smov 0x3e82 +-#define MN_rex_w 0x3e87 +-#define MN_vcvttph2w 0x3e8d +-#define MN_vcvtph2w 0x3e97 +-#define MN_vpermi2w 0x3ea0 +-#define MN_vpmovm2w 0x3ea9 +-#define MN_vpermt2w 0x3eb2 +-#define MN_vpshaw 0x3ebb ++#define MN_vpcmov 0x3f2d ++#define MN_bndmov 0x3f34 ++#define MN_smov 0x3f3b ++#define MN_rex_w 0x3f40 ++#define MN_vcvttph2w 0x3f46 ++#define MN_vcvtph2w 0x3f50 ++#define MN_vpermi2w 0x3f59 ++#define MN_vpmovm2w 0x3f62 ++#define MN_vpermt2w 0x3f6b ++#define MN_vpshaw 0x3f74 + #define MN_psraw (MN_vpsraw + 1) +-#define MN_vpsraw 0x3ec2 +-#define MN_vphsubbw 0x3ec9 +-#define MN_cbw 0x3ed2 ++#define MN_vpsraw 0x3f7b ++#define MN_vphsubbw 0x3f82 ++#define MN_cbw 0x3f8b + #define MN_psadbw (MN_vdbpsadbw + 3) +-#define MN_vdbpsadbw 0x3ed6 ++#define MN_vdbpsadbw 0x3f8f + #define MN_mpsadbw (MN_vmpsadbw + 1) +-#define MN_vmpsadbw 0x3ee0 +-#define MN_vpsadbw 0x3ee9 +-#define MN_vphaddbw 0x3ef1 ++#define MN_vmpsadbw 0x3f99 ++#define MN_vpsadbw 0x3fa2 ++#define MN_vphaddbw 0x3faa + #define MN_punpckhbw (MN_vpunpckhbw + 1) +-#define MN_vpunpckhbw 0x3efa +-#define MN_kunpckbw 0x3f05 ++#define MN_vpunpckhbw 0x3fb3 ++#define MN_kunpckbw 0x3fbe + #define MN_punpcklbw (MN_vpunpcklbw + 1) +-#define MN_vpunpcklbw 0x3f0e +-#define MN_vphaddubw 0x3f19 ++#define MN_vpunpcklbw 0x3fc7 ++#define MN_vphaddubw 0x3fd2 + #define MN_phsubw (MN_vphsubw + 1) +-#define MN_vphsubw 0x3f23 ++#define MN_vphsubw 0x3fdc + #define MN_psubw (MN_vpsubw + 1) +-#define MN_vpsubw 0x3f2b ++#define MN_vpsubw 0x3fe4 + #define MN_pmovsxbw (MN_vpmovsxbw + 1) +-#define MN_vpmovsxbw 0x3f32 ++#define MN_vpmovsxbw 0x3feb + #define MN_pmovzxbw (MN_vpmovzxbw + 1) +-#define MN_vpmovzxbw 0x3f3c +-#define MN_fldcw 0x3f46 +-#define MN_fstcw 0x3f4c +-#define MN_fnstcw 0x3f52 ++#define MN_vpmovzxbw 0x3ff5 ++#define MN_fldcw 0x3fff ++#define MN_fstcw 0x4005 ++#define MN_fnstcw 0x400b + #define MN_phaddw (MN_vphaddw + 1) +-#define MN_vphaddw 0x3f59 +-#define MN_kaddw 0x3f61 ++#define MN_vphaddw 0x4012 ++#define MN_kaddw 0x401a + #define MN_paddw (MN_vpaddw + 1) +-#define MN_vpaddw 0x3f67 +-#define MN_vpshldw 0x3f6e +-#define MN_kandw 0x3f76 +-#define MN_vpexpandw 0x3f7c ++#define MN_vpaddw 0x4020 ++#define MN_vpshldw 0x4027 ++#define MN_kandw 0x402f ++#define MN_vpexpandw 0x4035 + #define MN_pblendw (MN_vpblendw + 1) +-#define MN_vpblendw 0x3f86 +-#define MN_vpshrdw 0x3f8f ++#define MN_vpblendw 0x403f ++#define MN_vpshrdw 0x4048 + #define MN_packssdw (MN_vpackssdw + 1) +-#define MN_vpackssdw 0x3f97 ++#define MN_vpackssdw 0x4050 + #define MN_packusdw (MN_vpackusdw + 1) +-#define MN_vpackusdw 0x3fa1 +-#define MN_vpmovusdw 0x3fab +-#define MN_vpmovsdw 0x3fb5 +-#define MN_vpmovdw 0x3fbe +-#define MN_vpcomgew 0x3fc6 +-#define MN_vpcomlew 0x3fcf +-#define MN_vpcmpnlew 0x3fd8 +-#define MN_vpcmplew 0x3fe2 +-#define MN_vpcomfalsew 0x3feb +-#define MN_vpcomtruew 0x3ff7 +-#define MN_pi2fw 0x4002 +-#define MN_pshufw 0x4008 ++#define MN_vpackusdw 0x405a ++#define MN_vpmovusdw 0x4064 ++#define MN_vpmovsdw 0x406e ++#define MN_vpmovdw 0x4077 ++#define MN_vpcomgew 0x407f ++#define MN_vpcomlew 0x4088 ++#define MN_vpcmpnlew 0x4091 ++#define MN_vpcmplew 0x409b ++#define MN_vpcomfalsew 0x40a4 ++#define MN_vpcomtruew 0x40b0 ++#define MN_pi2fw 0x40bb ++#define MN_pshufw 0x40c1 + #define MN_pavgw (MN_vpavgw + 1) +-#define MN_vpavgw 0x400f +-#define MN_prefetchw 0x4016 ++#define MN_vpavgw 0x40c8 ++#define MN_prefetchw 0x40cf + #define MN_pshufhw (MN_vpshufhw + 1) +-#define MN_vpshufhw 0x4020 ++#define MN_vpshufhw 0x40d9 + #define MN_pmulhw (MN_vpmulhw + 1) +-#define MN_vpmulhw 0x4029 +-#define MN_pf2iw 0x4031 ++#define MN_vpmulhw 0x40e2 ++#define MN_pf2iw 0x40ea + #define MN_pshuflw (MN_vpshuflw + 1) +-#define MN_vpshuflw 0x4037 +-#define MN_vpshlw 0x4040 ++#define MN_vpshuflw 0x40f0 ++#define MN_vpshlw 0x40f9 + #define MN_psllw (MN_vpsllw + 1) +-#define MN_vpsllw 0x4047 ++#define MN_vpsllw 0x4100 + #define MN_pmullw (MN_vpmullw + 1) +-#define MN_vpmullw 0x404e ++#define MN_vpmullw 0x4107 + #define MN_psrlw (MN_vpsrlw + 1) +-#define MN_vpsrlw 0x4056 +-#define MN_kshiftlw 0x405d +-#define MN_vpblendmw 0x4066 +-#define MN_vptestnmw 0x4070 +-#define MN_vpcomw 0x407a +-#define MN_vpermw 0x4081 +-#define MN_vptestmw 0x4088 +-#define MN_kandnw 0x4091 ++#define MN_vpsrlw 0x410f ++#define MN_kshiftlw 0x4116 ++#define MN_vpblendmw 0x411f ++#define MN_vptestnmw 0x4129 ++#define MN_vpcomw 0x4133 ++#define MN_vpermw 0x413a ++#define MN_vptestmw 0x4141 ++#define MN_kandnw 0x414a + #define MN_psignw (MN_vpsignw + 1) +-#define MN_vpsignw 0x4098 +-#define MN_vpcmpw 0x40a0 +-#define MN_vpcomeqw 0x40a7 +-#define MN_vpcomneqw 0x40b0 +-#define MN_vpcmpneqw 0x40ba ++#define MN_vpsignw 0x4151 ++#define MN_vpcmpw 0x4159 ++#define MN_vpcomeqw 0x4160 ++#define MN_vpcomneqw 0x4169 ++#define MN_vpcmpneqw 0x4173 + #define MN_pcmpeqw (MN_vpcmpeqw + 1) +-#define MN_vpcmpeqw 0x40c4 +-#define MN_vpmovusqw 0x40cd +-#define MN_vpmovsqw 0x40d7 +-#define MN_vpmovqw 0x40e0 +-#define MN_verw 0x40e8 +-#define MN_pmulhrw 0x40ed +-#define MN_korw 0x40f5 +-#define MN_kxnorw 0x40fa +-#define MN_kxorw 0x4101 ++#define MN_vpcmpeqw 0x417d ++#define MN_vpmovusqw 0x4186 ++#define MN_vpmovsqw 0x4190 ++#define MN_vpmovqw 0x4199 ++#define MN_verw 0x41a1 ++#define MN_pmulhrw 0x41a6 ++#define MN_korw 0x41ae ++#define MN_kxnorw 0x41b3 ++#define MN_kxorw 0x41ba + #define MN_pinsrw (MN_vpinsrw + 1) +-#define MN_vpinsrw 0x4107 +-#define MN_kshiftrw 0x410f ++#define MN_vpinsrw 0x41c0 ++#define MN_kshiftrw 0x41c8 + #define MN_pextrw (MN_vpextrw + 1) +-#define MN_vpextrw 0x4118 ++#define MN_vpextrw 0x41d1 + #define MN_pabsw (MN_vpabsw + 1) +-#define MN_vpabsw 0x4120 ++#define MN_vpabsw 0x41d9 + #define MN_pmaddubsw (MN_vpmaddubsw + 1) +-#define MN_vpmaddubsw 0x4127 ++#define MN_vpmaddubsw 0x41e0 + #define MN_phsubsw (MN_vphsubsw + 1) +-#define MN_vphsubsw 0x4132 ++#define MN_vphsubsw 0x41eb + #define MN_psubsw (MN_vpsubsw + 1) +-#define MN_vpsubsw 0x413b ++#define MN_vpsubsw 0x41f4 + #define MN_phaddsw (MN_vphaddsw + 1) +-#define MN_vphaddsw 0x4143 ++#define MN_vphaddsw 0x41fc + #define MN_paddsw (MN_vpaddsw + 1) +-#define MN_vpaddsw 0x414c +-#define MN_lmsw 0x4154 +-#define MN_smsw 0x4159 ++#define MN_vpaddsw 0x4205 ++#define MN_lmsw 0x420d ++#define MN_smsw 0x4212 + #define MN_pminsw (MN_vpminsw + 1) +-#define MN_vpminsw 0x415e ++#define MN_vpminsw 0x4217 + #define MN_pmulhrsw (MN_vpmulhrsw + 1) +-#define MN_vpmulhrsw 0x4166 +-#define MN_vpcompressw 0x4170 +-#define MN_fstsw 0x417c +-#define MN_fnstsw 0x4182 ++#define MN_vpmulhrsw 0x421f ++#define MN_vpcompressw 0x4229 ++#define MN_fstsw 0x4235 ++#define MN_fnstsw 0x423b + #define MN_psubusw (MN_vpsubusw + 1) +-#define MN_vpsubusw 0x4189 ++#define MN_vpsubusw 0x4242 + #define MN_paddusw (MN_vpaddusw + 1) +-#define MN_vpaddusw 0x4192 +-#define MN_movsw 0x419b ++#define MN_vpaddusw 0x424b ++#define MN_movsw 0x4254 + #define MN_pmaxsw (MN_vpmaxsw + 1) +-#define MN_vpmaxsw 0x41a1 +-#define MN_cbtw 0x41a9 +-#define MN_vpcomgtw 0x41ae ++#define MN_vpmaxsw 0x425a ++#define MN_cbtw 0x4262 ++#define MN_vpcomgtw 0x4267 + #define MN_pcmpgtw (MN_vpcmpgtw + 1) +-#define MN_vpcmpgtw 0x41b7 +-#define MN_vpcomltw 0x41c0 +-#define MN_vpcmpnltw 0x41c9 +-#define MN_vpcmpltw 0x41d3 +-#define MN_vpopcntw 0x41dc +-#define MN_knotw 0x41e5 +-#define MN_vprotw 0x41eb +-#define MN_vpbroadcastw 0x41f2 +-#define MN_ktestw 0x41ff +-#define MN_kortestw 0x4206 +-#define MN_vcvttph2uw 0x420f +-#define MN_vcvtph2uw 0x421a +-#define MN_vpcomgeuw 0x4224 +-#define MN_vpcomleuw 0x422e +-#define MN_vpcmpnleuw 0x4238 +-#define MN_vpcmpleuw 0x4243 +-#define MN_vpcomfalseuw 0x424d +-#define MN_vpcomtrueuw 0x425a ++#define MN_vpcmpgtw 0x4270 ++#define MN_vpcomltw 0x4279 ++#define MN_vpcmpnltw 0x4282 ++#define MN_vpcmpltw 0x428c ++#define MN_vpopcntw 0x4295 ++#define MN_knotw 0x429e ++#define MN_vprotw 0x42a4 ++#define MN_vpbroadcastw 0x42ab ++#define MN_ktestw 0x42b8 ++#define MN_kortestw 0x42bf ++#define MN_vcvttph2uw 0x42c8 ++#define MN_vcvtph2uw 0x42d3 ++#define MN_vpcomgeuw 0x42dd ++#define MN_vpcomleuw 0x42e7 ++#define MN_vpcmpnleuw 0x42f1 ++#define MN_vpcmpleuw 0x42fc ++#define MN_vpcomfalseuw 0x4306 ++#define MN_vpcomtrueuw 0x4313 + #define MN_pmulhuw (MN_vpmulhuw + 1) +-#define MN_vpmulhuw 0x4266 +-#define MN_vpcomuw 0x426f ++#define MN_vpmulhuw 0x431f ++#define MN_vpcomuw 0x4328 + #define MN_pminuw (MN_vpminuw + 1) +-#define MN_vpminuw 0x4277 +-#define MN_vpcmpuw 0x427f +-#define MN_vpcomequw 0x4287 +-#define MN_vpcomnequw 0x4291 +-#define MN_vpcmpnequw 0x429c +-#define MN_vpcmpequw 0x42a7 ++#define MN_vpminuw 0x4330 ++#define MN_vpcmpuw 0x4338 ++#define MN_vpcomequw 0x4340 ++#define MN_vpcomnequw 0x434a ++#define MN_vpcmpnequw 0x4355 ++#define MN_vpcmpequw 0x4360 + #define MN_phminposuw (MN_vphminposuw + 1) +-#define MN_vphminposuw 0x42b1 +-#define MN_vpcomgtuw 0x42bd +-#define MN_vpcomltuw 0x42c7 +-#define MN_vpcmpnltuw 0x42d1 +-#define MN_vpcmpltuw 0x42dc ++#define MN_vphminposuw 0x436a ++#define MN_vpcomgtuw 0x4376 ++#define MN_vpcomltuw 0x4380 ++#define MN_vpcmpnltuw 0x438a ++#define MN_vpcmpltuw 0x4395 + #define MN_pmaxuw (MN_vpmaxuw + 1) +-#define MN_vpmaxuw 0x42e6 +-#define MN_vpsravw 0x42ee +-#define MN_vpshldvw 0x42f6 +-#define MN_vpshrdvw 0x42ff +-#define MN_vpsllvw 0x4308 +-#define MN_vpsrlvw 0x4310 +-#define MN_kmovw 0x4318 +-#define MN_vmovw 0x431e +-#define MN_vpmacsww 0x4324 +-#define MN_vpmacssww 0x432d +-#define MN_movzw 0x4337 +-#define MN_rex_x 0x433d +-#define MN_fyl2x 0x4343 +-#define MN_rex64x 0x4349 +-#define MN_vcvtneps2bf16x 0x4350 +-#define MN_pfmax 0x435f +-#define MN_adcx 0x4365 +-#define MN_bndldx 0x436a +-#define MN_vfpclasspdx 0x4371 +-#define MN_fclex 0x437d +-#define MN_fnclex 0x4383 +-#define MN_rex 0x438a +-#define MN_vcvtpd2phx 0x438e +-#define MN_vcvtdq2phx 0x4399 +-#define MN_vcvtudq2phx 0x43a4 +-#define MN_vcvtqq2phx 0x43b0 +-#define MN_vcvtuqq2phx 0x43bb +-#define MN_vcvtps2phx 0x43c7 +-#define MN_vfpclassphx 0x43d2 +-#define MN_shlx 0x43de +-#define MN_mulx 0x43e3 +-#define MN_adox 0x43e8 +-#define MN_vcvttpd2dqx 0x43ed +-#define MN_vcvtpd2dqx 0x43f9 +-#define MN_vcvttpd2udqx 0x4404 +-#define MN_vcvtpd2udqx 0x4411 +-#define MN_rex_rx 0x441d +-#define MN_sarx 0x4424 +-#define MN_shrx 0x4429 +-#define MN_rorx 0x442e +-#define MN_monitorx 0x4433 +-#define MN_rex_wrx 0x443c +-#define MN_vcvtpd2psx 0x4444 +-#define MN_vcvtph2psx 0x444f +-#define MN_vcvtqq2psx 0x445a +-#define MN_vcvtuqq2psx 0x4465 +-#define MN_vfpclasspsx 0x4471 +-#define MN_movsx 0x447d +-#define MN_mwaitx 0x4483 +-#define MN_bndstx 0x448a +-#define MN_rex_wx 0x4491 +-#define MN_rexx 0x4498 +-#define MN_vcvtps2phxx 0x449d +-#define MN_movzx 0x44a9 +-#define MN_rex64y 0x44af +-#define MN_vcvtneps2bf16y 0x44b6 +-#define MN_vfpclasspdy 0x44c5 +-#define MN_loadiwkey 0x44d1 +-#define MN_vcvtpd2phy 0x44db +-#define MN_vcvtdq2phy 0x44e6 +-#define MN_vcvtudq2phy 0x44f1 +-#define MN_vcvtqq2phy 0x44fd +-#define MN_vcvtuqq2phy 0x4508 +-#define MN_vfpclassphy 0x4514 +-#define MN_vcvttpd2dqy 0x4520 +-#define MN_vcvtpd2dqy 0x452c +-#define MN_vcvttpd2udqy 0x4537 +-#define MN_vcvtpd2udqy 0x4544 +-#define MN_rmpquery 0x4550 +-#define MN_clrssbsy 0x4559 +-#define MN_setssbsy 0x4562 +-#define MN_vcvtpd2psy 0x456b +-#define MN_vcvtqq2psy 0x4576 +-#define MN_vcvtuqq2psy 0x4581 +-#define MN_vfpclasspsy 0x458d +-#define MN_rex64xy 0x4599 +-#define MN_rexy 0x45a1 +-#define MN_vcvtps2phxy 0x45a6 +-#define MN_rexxy 0x45b2 +-#define MN_rex64z 0x45b8 +-#define MN_fldz 0x45bf +-#define MN_vfpclasspdz 0x45c4 +-#define MN_vcvtpd2phz 0x45d0 +-#define MN_vcvtqq2phz 0x45db +-#define MN_vcvtuqq2phz 0x45e6 +-#define MN_vfpclassphz 0x45f2 +-#define MN_jz 0x45fe +-#define MN_jnz 0x4601 +-#define MN_repnz 0x4605 +-#define MN_loopnz 0x460b +-#define MN_setnz 0x4612 +-#define MN_cmovnz 0x4618 +-#define MN_repz 0x461f +-#define MN_loopz 0x4624 +-#define MN_vfpclasspsz 0x462a +-#define MN_setz 0x4636 +-#define MN_cmovz 0x463b +-#define MN_rex64xz 0x4641 +-#define MN_jecxz 0x4649 +-#define MN_jcxz 0x464f +-#define MN_jrcxz 0x4654 +-#define MN_rexz 0x465a +-#define MN_rexxz 0x465f +-#define MN_rex64yz 0x4665 +-#define MN_rex64xyz 0x466d +-#define MN_rexyz 0x4676 +-#define MN_rexxyz 0x467c +-#define MN__disp32_ 0x4683 +-#define MN__vex2_ 0x468c +-#define MN__vex3_ 0x4693 +-#define MN__disp16_ 0x469a +-#define MN__disp8_ 0x46a3 +-#define MN__load_ 0x46ab +-#define MN__store_ 0x46b2 +-#define MN__nooptimize_ 0x46ba +-#define MN__rex_ 0x46c7 +-#define MN__evex_ 0x46cd +-#define MN__vex_ 0x46d4 +-#define MN__insn 0x46da ++#define MN_vpmaxuw 0x439f ++#define MN_vpsravw 0x43a7 ++#define MN_vpshldvw 0x43af ++#define MN_vpshrdvw 0x43b8 ++#define MN_vpsllvw 0x43c1 ++#define MN_vpsrlvw 0x43c9 ++#define MN_kmovw 0x43d1 ++#define MN_vmovw 0x43d7 ++#define MN_vpmacsww 0x43dd ++#define MN_vpmacssww 0x43e6 ++#define MN_movzw 0x43f0 ++#define MN_rex_x 0x43f6 ++#define MN_fyl2x 0x43fc ++#define MN_rex64x 0x4402 ++#define MN_vcvtneps2bf16x 0x4409 ++#define MN_pfmax 0x4418 ++#define MN_adcx 0x441e ++#define MN_bndldx 0x4423 ++#define MN_vfpclasspdx 0x442a ++#define MN_fclex 0x4436 ++#define MN_fnclex 0x443c ++#define MN_rex 0x4443 ++#define MN_vcvtpd2phx 0x4447 ++#define MN_vcvtdq2phx 0x4452 ++#define MN_vcvtudq2phx 0x445d ++#define MN_vcvtqq2phx 0x4469 ++#define MN_vcvtuqq2phx 0x4474 ++#define MN_vcvtps2phx 0x4480 ++#define MN_vfpclassphx 0x448b ++#define MN_shlx 0x4497 ++#define MN_mulx 0x449c ++#define MN_adox 0x44a1 ++#define MN_vcvttpd2dqx 0x44a6 ++#define MN_vcvtpd2dqx 0x44b2 ++#define MN_vcvttpd2udqx 0x44bd ++#define MN_vcvtpd2udqx 0x44ca ++#define MN_rex_rx 0x44d6 ++#define MN_sarx 0x44dd ++#define MN_shrx 0x44e2 ++#define MN_rorx 0x44e7 ++#define MN_monitorx 0x44ec ++#define MN_rex_wrx 0x44f5 ++#define MN_vcvtpd2psx 0x44fd ++#define MN_vcvtph2psx 0x4508 ++#define MN_vcvtqq2psx 0x4513 ++#define MN_vcvtuqq2psx 0x451e ++#define MN_vfpclasspsx 0x452a ++#define MN_movsx 0x4536 ++#define MN_mwaitx 0x453c ++#define MN_bndstx 0x4543 ++#define MN_rex_wx 0x454a ++#define MN_rexx 0x4551 ++#define MN_vcvtps2phxx 0x4556 ++#define MN_movzx 0x4562 ++#define MN_rex64y 0x4568 ++#define MN_vcvtneps2bf16y 0x456f ++#define MN_vfpclasspdy 0x457e ++#define MN_loadiwkey 0x458a ++#define MN_vcvtpd2phy 0x4594 ++#define MN_vcvtdq2phy 0x459f ++#define MN_vcvtudq2phy 0x45aa ++#define MN_vcvtqq2phy 0x45b6 ++#define MN_vcvtuqq2phy 0x45c1 ++#define MN_vfpclassphy 0x45cd ++#define MN_vcvttpd2dqy 0x45d9 ++#define MN_vcvtpd2dqy 0x45e5 ++#define MN_vcvttpd2udqy 0x45f0 ++#define MN_vcvtpd2udqy 0x45fd ++#define MN_rmpquery 0x4609 ++#define MN_clrssbsy 0x4612 ++#define MN_setssbsy 0x461b ++#define MN_vcvtpd2psy 0x4624 ++#define MN_vcvtqq2psy 0x462f ++#define MN_vcvtuqq2psy 0x463a ++#define MN_vfpclasspsy 0x4646 ++#define MN_rex64xy 0x4652 ++#define MN_rexy 0x465a ++#define MN_vcvtps2phxy 0x465f ++#define MN_rexxy 0x466b ++#define MN_rex64z 0x4671 ++#define MN_fldz 0x4678 ++#define MN_vfpclasspdz 0x467d ++#define MN_vcvtpd2phz 0x4689 ++#define MN_vcvtqq2phz 0x4694 ++#define MN_vcvtuqq2phz 0x469f ++#define MN_vfpclassphz 0x46ab ++#define MN_jz 0x46b7 ++#define MN_jnz 0x46ba ++#define MN_repnz 0x46be ++#define MN_loopnz 0x46c4 ++#define MN_setnz 0x46cb ++#define MN_cmovnz 0x46d1 ++#define MN_repz 0x46d8 ++#define MN_loopz 0x46dd ++#define MN_vfpclasspsz 0x46e3 ++#define MN_setz 0x46ef ++#define MN_cmovz 0x46f4 ++#define MN_rex64xz 0x46fa ++#define MN_jecxz 0x4702 ++#define MN_jcxz 0x4708 ++#define MN_jrcxz 0x470d ++#define MN_rexz 0x4713 ++#define MN_rexxz 0x4718 ++#define MN_rex64yz 0x471e ++#define MN_rex64xyz 0x4726 ++#define MN_rexyz 0x472f ++#define MN_rexxyz 0x4735 ++#define MN__disp32_ 0x473c ++#define MN__rex2_ 0x4745 ++#define MN__vex2_ 0x474c ++#define MN__vex3_ 0x4753 ++#define MN__disp16_ 0x475a ++#define MN__disp8_ 0x4763 ++#define MN__load_ 0x476b ++#define MN__store_ 0x4772 ++#define MN__nooptimize_ 0x477a ++#define MN__rex_ 0x4787 ++#define MN__evex_ 0x478d ++#define MN__vex_ 0x4794 ++#define MN__insn 0x479a +diff -rupN binutils.orig/opcodes/i386-opc.h binutils-2.41/opcodes/i386-opc.h +--- binutils.orig/opcodes/i386-opc.h 2024-01-18 12:12:24.644946663 +0000 ++++ binutils-2.41/opcodes/i386-opc.h 2024-01-18 12:13:13.517911158 +0000 +@@ -1,5 +1,5 @@ + /* Declarations for Intel 80386 opcode table +- Copyright (C) 2007-2023 Free Software Foundation, Inc. ++ Copyright (C) 2007-2024 Free Software Foundation, Inc. + + This file is part of the GNU opcodes library. + +@@ -26,7 +26,7 @@ + + /* Position of cpu flags bitfiled. */ + +-enum ++enum i386_cpu + { + /* i186 or better required */ + Cpu186 = 0, +@@ -52,10 +52,6 @@ enum + CpuSYSCALL, + /* Floating point support required */ + Cpu8087, +- /* i287 support required */ +- Cpu287, +- /* i387 support required */ +- Cpu387, + /* i686 and floating point support required */ + Cpu687, + /* SSE3 and floating point support required */ +@@ -66,10 +62,6 @@ enum + CpuSSE, + /* SSE2 support required */ + CpuSSE2, +- /* 3dnow! support required */ +- Cpu3dnow, +- /* 3dnow! Extensions support required */ +- Cpu3dnowA, + /* SSE3 support required */ + CpuSSE3, + /* VIA PadLock required */ +@@ -94,12 +86,8 @@ enum + CpuSSE4_1, + /* SSE4.2 support required */ + CpuSSE4_2, +- /* AVX support required */ +- CpuAVX, + /* AVX2 support required */ + CpuAVX2, +- /* Intel AVX-512 Foundation Instructions support required */ +- CpuAVX512F, + /* Intel AVX-512 Conflict Detection Instructions support required */ + CpuAVX512CD, + /* Intel AVX-512 Exponential and Reciprocal Instructions support +@@ -107,8 +95,6 @@ enum + CpuAVX512ER, + /* Intel AVX-512 Prefetch Instructions support required */ + CpuAVX512PF, +- /* Intel AVX-512 VL Instructions support required. */ +- CpuAVX512VL, + /* Intel AVX-512 DQ Instructions support required. */ + CpuAVX512DQ, + /* Intel AVX-512 BW Instructions support required. */ +@@ -153,8 +139,6 @@ enum + CpuF16C, + /* Intel BMI2 support required */ + CpuBMI2, +- /* HLE support required */ +- CpuHLE, + /* RTM support required */ + CpuRTM, + /* INVPCID Instructions required */ +@@ -163,8 +147,6 @@ enum + CpuVMFUNC, + /* Intel MPX Instructions required */ + CpuMPX, +- /* 64bit support available, used by -march= in assembler. */ +- CpuLM, + /* RDRSEED instruction required. */ + CpuRDSEED, + /* Multi-presisionn add-carry instructions are required. */ +@@ -175,6 +157,12 @@ enum + CpuSMAP, + /* SHA instructions required. */ + CpuSHA, ++ /* SHA512 instructions required. */ ++ CpuSHA512, ++ /* SM3 instructions required. */ ++ CpuSM3, ++ /* SM4 instructions required. */ ++ CpuSM4, + /* CLFLUSHOPT instruction required */ + CpuClflushOpt, + /* XSAVES/XRSTORS instruction required */ +@@ -219,6 +207,8 @@ enum + CpuAVX_IFMA, + /* Intel AVX VNNI-INT8 Instructions support required. */ + CpuAVX_VNNI_INT8, ++ /* Intel AVX VNNI-INT16 Instructions support required. */ ++ CpuAVX_VNNI_INT16, + /* Intel CMPccXADD instructions support required. */ + CpuCMPCCXADD, + /* Intel WRMSRNS Instructions support required */ +@@ -233,6 +223,8 @@ enum + CpuFRED, + /* lkgs instruction required */ + CpuLKGS, ++ /* Intel USER_MSR Instruction support required. */ ++ CpuUSER_MSR, + /* mwaitx instruction required */ + CpuMWAITX, + /* Clzero instruction required */ +@@ -266,6 +258,8 @@ enum + CpuWBNOINVD, + /* PCONFIG instructions required */ + CpuPCONFIG, ++ /* PBNDKB instructions required. */ ++ CpuPBNDKB, + /* WAITPKG instructions required */ + CpuWAITPKG, + /* UINTR instructions required */ +@@ -303,12 +297,35 @@ enum + /* RMPQUERY instruction required */ + CpuRMPQUERY, + +- /* NOTE: These last three items need to remain last and in this order. */ ++ /* NOTE: These items, which can be combined with other ISA flags above, need ++ to remain second to last and in sync with CPU_FLAGS_COMMON. */ + ++ /* i287 support required */ ++ Cpu287, ++ CpuAttrEnums = Cpu287, ++ /* i387 support required */ ++ Cpu387, ++ /* 3dnow! support required */ ++ Cpu3dnow, ++ /* 3dnow! Extensions support required */ ++ Cpu3dnowA, + /* 64bit support required */ + Cpu64, ++ /* AVX support required */ ++ CpuAVX, ++ /* HLE support required */ ++ CpuHLE, ++ /* Intel AVX-512 Foundation Instructions support required */ ++ CpuAVX512F, ++ /* Intel AVX-512 VL Instructions support required. */ ++ CpuAVX512VL, ++ /* Intel APX_F Instructions support required. */ ++ CpuAPX_F, + /* Not supported in the 64bit mode */ + CpuNo64, ++ ++ /* NOTE: This item needs to remain last. */ ++ + /* The last bitfield in i386_cpu_flags. */ + CpuMax = CpuNo64 + }; +@@ -318,9 +335,43 @@ enum + #define CpuNumOfBits \ + (CpuNumOfUints * sizeof (unsigned int) * CHAR_BIT) + +-/* If you get a compiler error for zero width of the unused field, +- comment it out. */ ++#define CpuIsaBits 8 ++#define CpuAttrNumOfUints \ ++ ((CpuIsaBits + CpuMax - CpuAttrEnums) / sizeof (unsigned int) / CHAR_BIT + 1) ++#define CpuAttrNumOfBits \ ++ (CpuAttrNumOfUints * sizeof (unsigned int) * CHAR_BIT) ++ ++/* If you get a compiler error for zero width of an unused field, ++ comment the respective one out. */ + #define CpuUnused (CpuMax + 1) ++#define CpuAttrUnused (CpuIsaBits + CpuMax + 1 - CpuAttrEnums) ++ ++#define CPU_FLAGS_COMMON \ ++ unsigned int cpu287:1, \ ++ cpu387:1, \ ++ cpu3dnow:1, \ ++ cpu3dnowa:1, \ ++ cpu64:1, \ ++ cpuavx:1, \ ++ cpuhle:1, \ ++ cpuavx512f:1, \ ++ cpuavx512vl:1, \ ++ cpuapx_f:1, \ ++ /* NOTE: This field needs to remain last. */ \ ++ cpuno64:1 ++ ++typedef union i386_cpu_attr ++{ ++ struct ++ { ++ unsigned int isa:CpuIsaBits; ++ CPU_FLAGS_COMMON; ++#ifdef CpuAttrUnused ++ unsigned int unused:(CpuAttrNumOfBits - CpuAttrUnused); ++#endif ++ } bitfield; ++ unsigned int array[CpuAttrNumOfUints]; ++} i386_cpu_attr; + + /* We can check if an instruction is available with array instead + of bitfield. */ +@@ -340,15 +391,11 @@ typedef union i386_cpu_flags + unsigned int cpunop:1; + unsigned int cpusyscall:1; + unsigned int cpu8087:1; +- unsigned int cpu287:1; +- unsigned int cpu387:1; + unsigned int cpu687:1; + unsigned int cpufisttp:1; + unsigned int cpummx:1; + unsigned int cpusse:1; + unsigned int cpusse2:1; +- unsigned int cpua3dnow:1; +- unsigned int cpua3dnowa:1; + unsigned int cpusse3:1; + unsigned int cpupadlock:1; + unsigned int cpusvme:1; +@@ -361,13 +408,10 @@ typedef union i386_cpu_flags + unsigned int cpumonitor:1; + unsigned int cpusse4_1:1; + unsigned int cpusse4_2:1; +- unsigned int cpuavx:1; + unsigned int cpuavx2:1; +- unsigned int cpuavx512f:1; + unsigned int cpuavx512cd:1; + unsigned int cpuavx512er:1; + unsigned int cpuavx512pf:1; +- unsigned int cpuavx512vl:1; + unsigned int cpuavx512dq:1; + unsigned int cpuavx512bw:1; + unsigned int cpuiamcu:1; +@@ -390,17 +434,18 @@ typedef union i386_cpu_flags + unsigned int cpurdrnd:1; + unsigned int cpuf16c:1; + unsigned int cpubmi2:1; +- unsigned int cpuhle:1; + unsigned int cpurtm:1; + unsigned int cpuinvpcid:1; + unsigned int cpuvmfunc:1; + unsigned int cpumpx:1; +- unsigned int cpulm:1; + unsigned int cpurdseed:1; + unsigned int cpuadx:1; + unsigned int cpuprfchw:1; + unsigned int cpusmap:1; + unsigned int cpusha:1; ++ unsigned int cpusha512:1; ++ unsigned int cpusm3:1; ++ unsigned int cpusm4:1; + unsigned int cpuclflushopt:1; + unsigned int cpuxsaves:1; + unsigned int cpuxsavec:1; +@@ -423,6 +468,7 @@ typedef union i386_cpu_flags + unsigned int cpuprefetchi:1; + unsigned int cpuavx_ifma:1; + unsigned int cpuavx_vnni_int8:1; ++ unsigned int cpuavx_vnni_int16:1; + unsigned int cpucmpccxadd:1; + unsigned int cpuwrmsrns:1; + unsigned int cpumsrlist:1; +@@ -430,6 +476,7 @@ typedef union i386_cpu_flags + unsigned int cpurao_int:1; + unsigned int cpufred:1; + unsigned int cpulkgs:1; ++ unsigned int cpuuser_msr:1; + unsigned int cpumwaitx:1; + unsigned int cpuclzero:1; + unsigned int cpuospke:1; +@@ -447,6 +494,7 @@ typedef union i386_cpu_flags + unsigned int cpuvpclmulqdq:1; + unsigned int cpuwbnoinvd:1; + unsigned int cpupconfig:1; ++ unsigned int cpupbndkb:1; + unsigned int cpuwaitpkg:1; + unsigned int cpuuintr:1; + unsigned int cpucldemote:1; +@@ -465,9 +513,7 @@ typedef union i386_cpu_flags + unsigned int cputlbsync:1; + unsigned int cpusnp:1; + unsigned int cpurmpquery:1; +- /* NOTE: These last three fields need to remain last and in this order. */ +- unsigned int cpu64:1; +- unsigned int cpuno64:1; ++ CPU_FLAGS_COMMON; + #ifdef CpuUnused + unsigned int unused:(CpuNumOfBits - CpuUnused); + #endif +@@ -533,6 +579,8 @@ enum + /* Instrucion requires that destination must be distinct from source + registers. */ + #define DISTINCT_DEST 9 ++ /* Instruction updates stack pointer implicitly. */ ++#define IMPLICIT_STACK_OP 10 + OperandConstraint, + /* instruction ignores operand size prefix and in Intel mode ignores + mnemonic size suffix check. */ +@@ -592,8 +640,10 @@ enum + Vex, + /* How to encode VEX.vvvv: + 0: VEX.vvvv must be 1111b. +- 1: VEX.vvvv encodes one of the register operands. ++ 1: VEX.vvvv encodes one of the src register operands. ++ 2: VEX.vvvv encodes the dest register operand. + */ ++#define VexVVVV_DST 2 + VexVVVV, + /* How the VEX.W bit is used: + 0: Set by the REX.W bit. +@@ -673,25 +723,15 @@ enum + #define DISP8_SHIFT_VL 7 + Disp8MemShift, + +- /* insn has vector size restrictions, requiring a minimum of: +- 0: 128 bits. +- 1: 256 bits. +- 2: 512 bits. +- */ +-#define VSZ128 0 /* Not to be used in templates. */ +-#define VSZ256 1 +-#define VSZ512 2 +- Vsz, +- + /* Support encoding optimization. */ + Optimize, + +- /* AT&T mnemonic. */ +- ATTMnemonic, +- /* AT&T syntax. */ +- ATTSyntax, +- /* Intel syntax. */ +- IntelSyntax, ++ /* Language dialect. NOTE: Order matters! */ ++#define INTEL_SYNTAX 1 ++#define ATT_SYNTAX 2 ++#define ATT_MNEMONIC 3 ++ Dialect, ++ + /* ISA64: Don't change the order without other code adjustments. + 0: Common to AMD64 and Intel64. + 1: AMD64. +@@ -702,6 +742,17 @@ enum + #define INTEL64 2 + #define INTEL64ONLY 3 + ISA64, ++ ++ /* egprs (r16-r31) on instruction illegal. We also use it to judge ++ whether the instruction supports pseudo-prefix {rex2}. */ ++ NoEgpr, ++ ++ /* No CSPAZO flags update indication. */ ++ NF, ++ ++ /* Instrucion requires REX2 prefix. */ ++ Rex2, ++ + /* The last bitfield in i386_opcode_modifier. */ + Opcode_Modifier_Num + }; +@@ -732,7 +783,7 @@ typedef struct i386_opcode_modifier + unsigned int immext:1; + unsigned int norex64:1; + unsigned int vex:2; +- unsigned int vexvvvv:1; ++ unsigned int vexvvvv:2; + unsigned int vexw:2; + unsigned int opcodeprefix:2; + unsigned int sib:3; +@@ -743,12 +794,12 @@ typedef struct i386_opcode_modifier + unsigned int staticrounding:1; + unsigned int sae:1; + unsigned int disp8memshift:3; +- unsigned int vsz:3; + unsigned int optimize:1; +- unsigned int attmnemonic:1; +- unsigned int attsyntax:1; +- unsigned int intelsyntax:1; ++ unsigned int dialect:2; + unsigned int isa64:2; ++ unsigned int noegpr:1; ++ unsigned int nf:1; ++ unsigned int rex2:1; + } i386_opcode_modifier; + + /* Operand classes. */ +@@ -924,8 +975,10 @@ typedef struct insn_template + 1: 0F opcode prefix / space. + 2: 0F38 opcode prefix / space. + 3: 0F3A opcode prefix / space. ++ 4: EVEXMAP4 opcode prefix / space. + 5: EVEXMAP5 opcode prefix / space. + 6: EVEXMAP6 opcode prefix / space. ++ 7: VEXMAP7 opcode prefix / space. + 8: XOP 08 opcode space. + 9: XOP 09 opcode space. + A: XOP 0A opcode space. +@@ -934,8 +987,10 @@ typedef struct insn_template + #define SPACE_0F 1 + #define SPACE_0F38 2 + #define SPACE_0F3A 3 ++#define SPACE_EVEXMAP4 4 + #define SPACE_EVEXMAP5 5 + #define SPACE_EVEXMAP6 6 ++#define SPACE_VEXMAP7 7 + #define SPACE_XOP08 8 + #define SPACE_XOP09 9 + #define SPACE_XOP0A 0xA +@@ -961,15 +1016,16 @@ typedef struct insn_template + #define Prefix_VEX3 6 /* {vex3} */ + #define Prefix_EVEX 7 /* {evex} */ + #define Prefix_REX 8 /* {rex} */ +-#define Prefix_NoOptimize 9 /* {nooptimize} */ ++#define Prefix_REX2 9 /* {rex2} */ ++#define Prefix_NoOptimize 10 /* {nooptimize} */ + + /* the bits in opcode_modifier are used to generate the final opcode from + the base_opcode. These bits also are used to detect alternate forms of + the same instruction */ + i386_opcode_modifier opcode_modifier; + +- /* cpu feature flags */ +- i386_cpu_flags cpu_flags; ++ /* cpu feature attributes */ ++ i386_cpu_attr cpu, cpu_any; + + /* operand_types[i] describes the type of operand i. This is made + by OR'ing together all of the possible type masks. (e.g. +@@ -988,6 +1044,7 @@ typedef struct + #define RegRex 0x1 /* Extended register. */ + #define RegRex64 0x2 /* Extended 8 bit register. */ + #define RegVRex 0x4 /* Extended vector register. */ ++#define RegRex2 0x8 /* Extended GPRs R16–R31 register. */ + unsigned char reg_num; + #define RegIP ((unsigned char ) ~0) + /* EIZ and RIZ are fake index registers. */ +diff -rupN binutils.orig/opcodes/i386-opc.tbl binutils-2.41/opcodes/i386-opc.tbl +--- binutils.orig/opcodes/i386-opc.tbl 2024-01-18 12:12:24.644946663 +0000 ++++ binutils-2.41/opcodes/i386-opc.tbl 2024-01-18 12:13:13.517911158 +0000 +@@ -1,5 +1,5 @@ + // i386 opcode table. +-// Copyright (C) 2007-2023 Free Software Foundation, Inc. ++// Copyright (C) 2007-2024 Free Software Foundation, Inc. + // + // This file is part of the GNU opcodes library. + // +@@ -85,6 +85,11 @@ + #define RegKludge OperandConstraint=REG_KLUDGE + #define SwapSources OperandConstraint=SWAP_SOURCES + #define Ugh OperandConstraint=UGH ++#define ImplicitStackOp OperandConstraint=IMPLICIT_STACK_OP ++ ++#define ATTSyntax Dialect=ATT_SYNTAX ++#define ATTMnemonic Dialect=ATT_MNEMONIC ++#define IntelSyntax Dialect=INTEL_SYNTAX + + #define IgnoreSize MnemonicSize=IGNORESIZE + #define DefaultSize MnemonicSize=DEFAULTSIZE +@@ -109,9 +114,12 @@ + #define SpaceXOP09 OpcodeSpace=SPACE_XOP09 + #define SpaceXOP0A OpcodeSpace=SPACE_XOP0A + ++#define EVexMap4 OpcodeSpace=SPACE_EVEXMAP4|EVex128 + #define EVexMap5 OpcodeSpace=SPACE_EVEXMAP5 + #define EVexMap6 OpcodeSpace=SPACE_EVEXMAP6 + ++#define VexMap7 OpcodeSpace=SPACE_VEXMAP7 ++ + #define VexW0 VexW=VEXW0 + #define VexW1 VexW=VEXW1 + #define VexWIG VexW=VEXWIG +@@ -131,12 +139,24 @@ + #define EVexLIG EVex=EVEXLIG + #define EVexDYN EVex=EVEXDYN + +-#define Vsz256 Vsz=VSZ256 +-#define Vsz512 Vsz=VSZ512 ++#define Disp8ShiftVL Disp8MemShift=DISP8_SHIFT_VL ++ ++#define DstVVVV VexVVVV=VexVVVV_DST ++ ++// The template supports VEX format for cpuid and EVEX format for cpuid & APX_F. ++// While therefore we really mean cpuid|(cpuid&APX_F) here, this can't be ++// expressed in the generated templates. It's equivalent to just cpuid|APX_F ++// anyway, but that is not what we want (as APX_F alone isn't a sufficient ++// prereq for such insns). Instead the assembler will massage the CPU specifier ++// to the equivalent of either cpuid&(cpuid) or cpuid&(APX_F) (or something ++// substantially similar), depending on what encoding was requested. ++#define APX_F(cpuid) cpuid&(cpuid|APX_F) + + // The EVEX purpose of StaticRounding appears only together with SAE. Re-use + // the bit to mark commutative VEX encodings where swapping the source + // operands may allow to switch from 3-byte to 2-byte VEX encoding. ++// And re-use the bit to mark some NDD insns that swapping the source operands ++// may allow to switch from EVEX encoding to REX2 encoding. + #define C StaticRounding + + #define FP 387|287|8087 +@@ -154,6 +174,8 @@ + #define i287 287 + #define i387 387 + #define i687 687 ++// Note: Don't add this one to any templates already specifying a 64-bit-mode- ++// only ISA extension: i386-gen takes care of adding such dependencies. + #define x64 64 + + ### MARKER ### +@@ -162,11 +184,11 @@ + mov, 0xa0, No64, D|W|CheckOperandSize|No_sSuf|No_qSuf, { Disp16|Disp32|Unspecified|Byte|Word|Dword, Acc|Byte|Word|Dword } + mov, 0xa0, x64, D|W|CheckOperandSize|No_sSuf, { Disp64|Unspecified|Byte|Word|Dword|Qword, Acc|Byte|Word|Dword|Qword } + movabs, 0xa0, x64, D|W|CheckOperandSize|No_sSuf, { Disp64|Unspecified|Byte|Word|Dword|Qword, Acc|Byte|Word|Dword|Qword } +-mov, 0x88, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixRelease, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++mov, 0x88, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixRelease, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + // In the 64bit mode the short form mov immediate is redefined to have + // 64bit value. + mov, 0xb0, 0, W|No_sSuf|No_qSuf, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32 } +-mov, 0xc6/0, 0, W|Modrm|No_sSuf|HLEPrefixRelease|Optimize, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++mov, 0xc6/0, 0, W|Modrm|No_sSuf|HLEPrefixRelease|Optimize, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + mov, 0xb8, x64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|Optimize, { Imm64, Reg64 } + movabs, 0xb8, x64, No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Imm64, Reg64 } + // The segment register moves accept WordReg so that a segment register +@@ -179,14 +201,15 @@ mov, 0x8c, 0, D|Modrm|IgnoreSize|No_bSuf + mov, 0x8e, 0, Modrm|IgnoreSize|No_bSuf|No_sSuf|NoRex64, { Reg16|Reg32|Reg64, SReg } + // Move to/from control debug registers. In the 16 or 32bit modes + // they are 32bit. In the 64bit mode they are 64bit. +-mov, 0xf20, i386|No64, D|RegMem|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Control, Reg32 } ++mov, 0xf20, i386&No64, D|RegMem|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Control, Reg32 } + mov, 0xf20, x64, D|RegMem|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64, { Control, Reg64 } +-mov, 0xf21, i386|No64, D|RegMem|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Debug, Reg32 } ++mov, 0xf21, i386&No64, D|RegMem|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Debug, Reg32 } + mov, 0xf21, x64, D|RegMem|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64, { Debug, Reg64 } +-mov, 0xf24, i386|No64, D|RegMem|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Test, Reg32 } ++mov, 0xf24, i386&No64, D|RegMem|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Test, Reg32 } + + // Move after swapping the bytes + movbe, 0x0f38f0, Movbe, D|Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++movbe, 0x60, Movbe&APX_F, D|Modrm|CheckOperandSize|No_bSuf|No_sSuf|EVexMap4, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } + + // Move with sign extend. + movsb, 0xfbe, i386, Modrm|No_bSuf|No_sSuf, { Reg8|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } +@@ -199,37 +222,39 @@ movsxd, 0x63, x64, Amd64|Modrm|NoSuf, { + movsxd, 0x63, x64, Intel64|Modrm|NoSuf, { Reg16|Unspecified|BaseIndex, Reg16 } + + // Move with zero extend. +-movzb, 0xfb6, i386, Modrm|No_bSuf|No_sSuf, { Reg8|Byte|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } +-movzw, 0xfb7, i386, Modrm|No_bSuf|No_wSuf|No_sSuf, { Reg16|Word|Unspecified|BaseIndex, Reg32|Reg64 } ++movzb, 0xfb6, i386, Modrm|No_bSuf|No_sSuf, { Reg8|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++movzw, 0xfb7, i386, Modrm|No_bSuf|No_wSuf|No_sSuf, { Reg16|Unspecified|BaseIndex, Reg32|Reg64 } + // The 64-bit variant is not particularly useful since the zero extend + // 32->64 is implicit, but we can encode them. + movzx, 0xfb6, i386, W|Modrm|No_lSuf|No_sSuf|No_qSuf, { Reg8|Reg16|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } + + // Push instructions. +-push, 0x50, No64, No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32 } +-push, 0xff/6, No64, Modrm|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32|Word|Dword|Unspecified|BaseIndex } +-push, 0x6a, i186|No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Imm8S } +-push, 0x68, i186|No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Imm16|Imm32 } +-push, 0x6, No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, { SReg } ++push, 0x50, No64, ImplicitStackOp|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32 } ++push, 0xff/6, No64, Modrm|ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32|Unspecified|BaseIndex } ++push, 0x6a, i186&No64, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Imm8S } ++push, 0x68, i186&No64, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Imm16|Imm32 } ++push, 0x6, No64, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { SReg } + // In 64bit mode, the operand size is implicitly 64bit. +-push, 0x50, x64, No_bSuf|No_lSuf|No_sSuf|NoRex64, { Reg16|Reg64 } +-push, 0xff/6, x64, Modrm|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Reg16|Reg64|Word|Qword|Unspecified|BaseIndex } +-push, 0x6a, x64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Imm8S } +-push, 0x68, x64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Imm16|Imm32S } +-push, 0xfa0, x64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { SReg } ++push, 0x50, x64, ImplicitStackOp|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Reg16|Reg64 } ++pushp, 0x50, APX_F, ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf|Rex2, { Reg64 } ++push, 0xff/6, x64, Modrm|ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Reg16|Reg64|Unspecified|BaseIndex } ++push, 0x6a, x64, ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Imm8S } ++push, 0x68, x64, ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Imm16|Imm32S } ++push, 0xfa0, x64, ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { SReg } + +-pusha, 0x60, i186|No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, {} ++pusha, 0x60, i186&No64, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, {} + + // Pop instructions. +-pop, 0x58, No64, No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32 } +-pop, 0x8f/0, No64, Modrm|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32|Word|Dword|Unspecified|BaseIndex } +-pop, 0x7, No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, { SReg } ++pop, 0x58, No64, ImplicitStackOp|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32 } ++pop, 0x8f/0, No64, Modrm|ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32|Unspecified|BaseIndex } ++pop, 0x7, No64, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { SReg } + // In 64bit mode, the operand size is implicitly 64bit. +-pop, 0x58, x64, No_bSuf|No_lSuf|No_sSuf|NoRex64, { Reg16|Reg64 } +-pop, 0x8f/0, x64, Modrm|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Reg16|Reg64|Word|Qword|Unspecified|BaseIndex } +-pop, 0xfa1, x64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { SReg } ++pop, 0x58, x64, ImplicitStackOp|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Reg16|Reg64 } ++popp, 0x58, APX_F, ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf|Rex2, { Reg64 } ++pop, 0x8f/0, x64, Modrm|ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Reg16|Reg64|Unspecified|BaseIndex } ++pop, 0xfa1, x64, ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { SReg } + +-popa, 0x61, i186|No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, {} ++popa, 0x61, i186&No64, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, {} + + // Exchange instructions. + // xchg commutes: we allow both operand orders. +@@ -271,70 +296,97 @@ lahf, 0x9f, No64, NoSuf, {} + lahf, 0x9f, LAHF_SAHF, NoSuf, {} + sahf, 0x9e, No64, NoSuf, {} + sahf, 0x9e, LAHF_SAHF, NoSuf, {} +-pushf, 0x9c, No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, {} +-pushf, 0x9c, x64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, {} +-popf, 0x9d, No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, {} +-popf, 0x9d, x64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, {} ++pushf, 0x9c, No64, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, {} ++pushf, 0x9c, x64, ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, {} ++popf, 0x9d, No64, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, {} ++popf, 0x9d, x64, ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, {} + stc, 0xf9, 0, NoSuf, {} + std, 0xfd, 0, NoSuf, {} + sti, 0xfb, 0, NoSuf, {} + + // Arithmetic. +-add, 0x0, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-add, 0x83/0, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++add, 0x0, APX_F, D|C|W|CheckOperandSize|Modrm|No_sSuf|DstVVVV|EVexMap4|NF, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++add, 0x0, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++add, 0x83/0, APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4|NF, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++add, 0x83/0, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + add, 0x4, 0, W|No_sSuf, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword } +-add, 0x80/0, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++add, 0x80/0, APX_F, W|Modrm|CheckOperandSize|No_sSuf|DstVVVV|EVexMap4|NF, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64} ++add, 0x80/0, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + + inc, 0x40, No64, No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32 } +-inc, 0xfe/0, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++inc, 0xfe/0, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, {Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64} ++inc, 0xfe/0, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + +-sub, 0x28, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-sub, 0x83/5, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++sub, 0x28, APX_F, D|W|CheckOperandSize|Modrm|No_sSuf|DstVVVV|EVexMap4|NF, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64, } ++sub, 0x28, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++sub, 0x83/5, APX_F, Modrm|No_bSuf|No_sSuf|DstVVVV|EVexMap4|NF, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++sub, 0x83/5, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + sub, 0x2c, 0, W|No_sSuf, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword } +-sub, 0x80/5, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++sub, 0x80/5, APX_F, W|Modrm|CheckOperandSize|No_sSuf|DstVVVV|EVexMap4|NF, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++sub, 0x80/5, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + + dec, 0x48, No64, No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32 } +-dec, 0xfe/1, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++dec, 0xfe/1, APX_F, W|Modrm|CheckOperandSize|No_sSuf|DstVVVV|EVexMap4|NF, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++dec, 0xfe/1, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + +-sbb, 0x18, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-sbb, 0x83/3, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++sbb, 0x18, APX_F, D|W|CheckOperandSize|Modrm|No_sSuf|DstVVVV|EVexMap4, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++sbb, 0x18, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++sbb, 0x83/3, APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++sbb, 0x83/3, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + sbb, 0x1c, 0, W|No_sSuf, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword } +-sbb, 0x80/3, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++sbb, 0x80/3, APX_F, W|Modrm|CheckOperandSize|No_sSuf|DstVVVV|EVexMap4, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++sbb, 0x80/3, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++sbb, 0x80/3, APX_F, W|Modrm|EVexMap4|No_sSuf, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + +-cmp, 0x38, 0, D|W|CheckOperandSize|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-cmp, 0x83/7, 0, Modrm|No_bSuf|No_sSuf, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++cmp, 0x38, 0, D|W|CheckOperandSize|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++cmp, 0x83/7, 0, Modrm|No_bSuf|No_sSuf, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + cmp, 0x3c, 0, W|No_sSuf, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword } +-cmp, 0x80/7, 0, W|Modrm|No_sSuf, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++cmp, 0x80/7, 0, W|Modrm|No_sSuf, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + + test, 0x84, 0, D|W|C|CheckOperandSize|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + test, 0xa8, 0, W|No_sSuf|Optimize, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword } +-test, 0xf6/0, 0, W|Modrm|No_sSuf|Optimize, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++test, 0xf6/0, 0, W|Modrm|No_sSuf|Optimize, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + +-and, 0x20, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-and, 0x83/4, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock|Optimize, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++and, 0x20, APX_F, D|C|W|CheckOperandSize|Modrm|No_sSuf|DstVVVV|EVexMap4|NF, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++and, 0x20, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++and, 0x83/4, APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4|NF, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++and, 0x83/4, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock|Optimize, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + and, 0x24, 0, W|No_sSuf|Optimize, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword } +-and, 0x80/4, 0, W|Modrm|No_sSuf|HLEPrefixLock|Optimize, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++and, 0x80/4, APX_F, W|Modrm|CheckOperandSize|No_sSuf|DstVVVV|EVexMap4|NF, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++and, 0x80/4, 0, W|Modrm|No_sSuf|HLEPrefixLock|Optimize, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + +-or, 0x8, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-or, 0x83/1, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++or, 0x8, APX_F, D|C|W|CheckOperandSize|Modrm|No_sSuf|DstVVVV|EVexMap4|NF, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++or, 0x8, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++or, 0x83/1, APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4|NF, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++or, 0x83/1, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + or, 0xc, 0, W|No_sSuf, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword } +-or, 0x80/1, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++or, 0x80/1, APX_F, W|Modrm|CheckOperandSize|No_sSuf|DstVVVV|EVexMap4|NF, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++or, 0x80/1, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + +-xor, 0x30, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-xor, 0x83/6, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++xor, 0x30, APX_F, D|C|W|CheckOperandSize|Modrm|No_sSuf|DstVVVV|EVexMap4|NF, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++xor, 0x30, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++xor, 0x83/6, APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4|NF, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++xor, 0x83/6, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + xor, 0x34, 0, W|No_sSuf, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword } +-xor, 0x80/6, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++xor, 0x80/6, APX_F, W|Modrm|CheckOperandSize|No_sSuf|DstVVVV|EVexMap4|NF, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++xor, 0x80/6, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + + // clr with 1 operand is really xor with 2 operands. + clr, 0x30, 0, W|Modrm|No_sSuf|RegKludge|Optimize, { Reg8|Reg16|Reg32|Reg64 } + +-adc, 0x10, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-adc, 0x83/2, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++adc, 0x10, APX_F, D|C|W|CheckOperandSize|Modrm|No_sSuf|DstVVVV|EVexMap4, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++adc, 0x10, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++adc, 0x83/2, APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++adc, 0x83/2, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + adc, 0x14, 0, W|No_sSuf, { Imm8|Imm16|Imm32|Imm32S, Acc|Byte|Word|Dword|Qword } +-adc, 0x80/2, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++adc, 0x80/2, APX_F, W|Modrm|CheckOperandSize|No_sSuf|DstVVVV|EVexMap4, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++adc, 0x80/2, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + +-neg, 0xf6/3, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-not, 0xf6/2, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++neg, 0xf6/3, APX_F, W|Modrm|CheckOperandSize|No_sSuf|DstVVVV|EVexMap4|NF, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++neg, 0xf6/3, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ ++not, 0xf6/2, APX_F, W|Modrm|CheckOperandSize|No_sSuf|DstVVVV|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++not, 0xf6/2, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + + aaa, 0x37, No64, NoSuf, {} + aas, 0x3f, No64, NoSuf, {} +@@ -365,81 +417,120 @@ cqto, 0x99, x64, Size64|NoSuf, {} + // expanding 64-bit multiplies, and *cannot* be selected to accomplish + // 'imul %ebx, %eax' (opcode 0x0faf must be used in this case) + // These multiplies can only be selected with single operand forms. +-mul, 0xf6/4, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-imul, 0xf6/5, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-imul, 0xfaf, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|Word|Dword|Qword|BaseIndex, Reg16|Reg32|Reg64 } +-imul, 0x6b, i186, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } +-imul, 0x69, i186, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Imm16|Imm32|Imm32S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++mul, 0xf6/4, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++imul, 0xf6/5, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++imul, 0xaf, APX_F, C|Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4|NF, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64 } ++imul, 0xfaf, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++imul, 0x6b, i186, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Imm8S, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++imul, 0x69, i186, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Imm16|Imm32|Imm32S, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } + // imul with 2 operands mimics imul with 3 by putting the register in + // both i.rm.reg & i.rm.regmem fields. RegKludge enables this + // transformation. + imul, 0x6b, i186, Modrm|No_bSuf|No_sSuf|RegKludge, { Imm8S, Reg16|Reg32|Reg64 } + imul, 0x69, i186, Modrm|No_bSuf|No_sSuf|RegKludge, { Imm16|Imm32|Imm32S, Reg16|Reg32|Reg64 } + +-div, 0xf6/6, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-div, 0xf6/6, 0, W|CheckOperandSize|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Acc|Byte|Word|Dword|Qword } +-idiv, 0xf6/7, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-idiv, 0xf6/7, 0, W|CheckOperandSize|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Acc|Byte|Word|Dword|Qword } +- +-rol, 0xd0/0, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-rol, 0xc0/0, i186, W|Modrm|No_sSuf, { Imm8|Imm8S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-rol, 0xd2/0, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-rol, 0xd0/0, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +- +-ror, 0xd0/1, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-ror, 0xc0/1, i186, W|Modrm|No_sSuf, { Imm8|Imm8S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-ror, 0xd2/1, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-ror, 0xd0/1, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +- +-rcl, 0xd0/2, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-rcl, 0xc0/2, i186, W|Modrm|No_sSuf, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-rcl, 0xd2/2, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-rcl, 0xd0/2, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +- +-rcr, 0xd0/3, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-rcr, 0xc0/3, i186, W|Modrm|No_sSuf, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-rcr, 0xd2/3, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-rcr, 0xd0/3, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +- +-sal, 0xd0/4, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-sal, 0xc0/4, i186, W|Modrm|No_sSuf, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-sal, 0xd2/4, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-sal, 0xd0/4, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +- +-shl, 0xd0/4, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-shl, 0xc0/4, i186, W|Modrm|No_sSuf, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-shl, 0xd2/4, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-shl, 0xd0/4, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +- +-shr, 0xd0/5, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-shr, 0xc0/5, i186, W|Modrm|No_sSuf, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-shr, 0xd2/5, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-shr, 0xd0/5, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +- +-sar, 0xd0/7, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-sar, 0xc0/7, i186, W|Modrm|No_sSuf, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-sar, 0xd2/7, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-sar, 0xd0/7, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +- +-shld, 0xfa4, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Imm8, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } +-shld, 0xfa5, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { ShiftCount, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } +-shld, 0xfa5, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } +- +-shrd, 0xfac, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Imm8, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } +-shrd, 0xfad, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { ShiftCount, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } +-shrd, 0xfad, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++div, 0xf6/6, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++div, 0xf6/6, 0, W|CheckOperandSize|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Acc|Byte|Word|Dword|Qword } ++idiv, 0xf6/7, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++idiv, 0xf6/7, 0, W|CheckOperandSize|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Acc|Byte|Word|Dword|Qword } ++ ++rol, 0xd0/0, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++rol, 0xd0/0, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rol, 0xc0/0, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { Imm8|Imm8S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++rol, 0xc0/0, i186, W|Modrm|No_sSuf, { Imm8|Imm8S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rol, 0xd2/0, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++rol, 0xd2/0, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rol, 0xd0/0, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ ++ror, 0xd0/1, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++ror, 0xd0/1, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ror, 0xc0/1, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { Imm8|Imm8S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++ror, 0xc0/1, i186, W|Modrm|No_sSuf, { Imm8|Imm8S, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ror, 0xd2/1, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++ror, 0xd2/1, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ror, 0xd0/1, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ ++rcl, 0xd0/2, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++rcl, 0xd0/2, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcl, 0xd0/2, APX_F, W|Modrm|No_sSuf|EVexMap4, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcl, 0xc0/2, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++rcl, 0xc0/2, i186, W|Modrm|No_sSuf, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcl, 0xc0/2, APX_F, W|Modrm|No_sSuf|EVexMap4, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcl, 0xd2/2, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++rcl, 0xd2/2, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcl, 0xd2/2, APX_F, W|Modrm|No_sSuf|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcl, 0xd0/2, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcl, 0xd0/2, APX_F, W|Modrm|No_sSuf|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ ++rcr, 0xd0/3, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++rcr, 0xd0/3, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcr, 0xd0/3, APX_F, W|Modrm|No_sSuf|EVexMap4, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcr, 0xc0/3, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++rcr, 0xc0/3, i186, W|Modrm|No_sSuf, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcr, 0xc0/3, APX_F, W|Modrm|No_sSuf|EVexMap4, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcr, 0xd2/3, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++rcr, 0xd2/3, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcr, 0xd2/3, APX_F, W|Modrm|No_sSuf|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcr, 0xd0/3, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++rcr, 0xd0/3, APX_F, W|Modrm|No_sSuf|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ ++sal, 0xd0/4, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++sal, 0xd0/4, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++sal, 0xc0/4, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++sal, 0xc0/4, i186, W|Modrm|No_sSuf, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++sal, 0xd2/4, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++sal, 0xd2/4, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++sal, 0xd0/4, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ ++shl, 0xd0/4, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++shl, 0xd0/4, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++shl, 0xc0/4, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++shl, 0xc0/4, i186, W|Modrm|No_sSuf, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++shl, 0xd2/4, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++shl, 0xd2/4, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++shl, 0xd0/4, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ ++shr, 0xd0/5, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++shr, 0xd0/5, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++shr, 0xc0/5, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++shr, 0xc0/5, i186, W|Modrm|No_sSuf, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++shr, 0xd2/5, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++shr, 0xd2/5, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++shr, 0xd0/5, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ ++sar, 0xd0/7, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++sar, 0xd0/7, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++sar, 0xc0/7, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++sar, 0xc0/7, i186, W|Modrm|No_sSuf, { Imm8, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++sar, 0xd2/7, APX_F, W|Modrm|No_sSuf|CheckOperandSize|DstVVVV|EVexMap4|NF, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 } ++sar, 0xd2/7, 0, W|Modrm|No_sSuf, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++sar, 0xd0/7, 0, W|Modrm|No_sSuf, { Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ ++shld, 0x24, APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4|NF, { Imm8, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++shld, 0xfa4, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Imm8, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++shld, 0xa5, APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4|NF, { ShiftCount, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++shld, 0xfa5, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { ShiftCount, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++shld, 0xa5, APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4|NF, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++shld, 0xfa5, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++ ++shrd, 0x2c, APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4|NF, { Imm8, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++shrd, 0xfac, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Imm8, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++shrd, 0xad, APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4|NF, { ShiftCount, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++shrd, 0xfad, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { ShiftCount, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++shrd, 0xad, APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4|NF, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++shrd, 0xfad, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + + // Control transfer instructions. +-call, 0xe8, No64, JumpDword|DefaultSize|No_bSuf|No_sSuf|No_qSuf|BNDPrefixOk, { Disp16|Disp32 } +-call, 0xe8, x64, Amd64|JumpDword|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64|BNDPrefixOk, { Disp16|Disp32 } +-call, 0xe8, x64, Intel64|JumpDword|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64|BNDPrefixOk, { Disp32 } +-call, 0xff/2, No64, Modrm|JumpAbsolute|DefaultSize|No_bSuf|No_sSuf|No_qSuf|BNDPrefixOk|NoTrackPrefixOk, { Reg16|Reg32|Unspecified|BaseIndex } +-call, 0xff/2, x64, Amd64|Modrm|JumpAbsolute|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64|BNDPrefixOk|NoTrackPrefixOk, { Reg16|Reg64|Unspecified|BaseIndex } +-call, 0xff/2, x64, Intel64|Modrm|JumpAbsolute|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64|BNDPrefixOk|NoTrackPrefixOk, { Reg64|Unspecified|BaseIndex } ++call, 0xe8, No64, JumpDword|ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf|BNDPrefixOk, { Disp16|Disp32 } ++call, 0xe8, x64, Amd64|JumpDword|ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64|BNDPrefixOk, { Disp16|Disp32 } ++call, 0xe8, x64, Intel64|JumpDword|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64|BNDPrefixOk, { Disp32 } ++call, 0xff/2, No64, Modrm|JumpAbsolute|ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf|BNDPrefixOk|NoTrackPrefixOk, { Reg16|Reg32|Unspecified|BaseIndex } ++call, 0xff/2, x64, Amd64|Modrm|JumpAbsolute|ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64|BNDPrefixOk|NoTrackPrefixOk, { Reg16|Reg64|Unspecified|BaseIndex } ++call, 0xff/2, x64, Intel64|Modrm|JumpAbsolute|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64|BNDPrefixOk|NoTrackPrefixOk, { Reg64|Unspecified|BaseIndex } + // Intel Syntax remaining call instances. +-call, 0x9a, No64, JumpInterSegment|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Imm16, Imm16|Imm32 } +-call, 0xff/3, 0, Amd64|Modrm|JumpAbsolute|DefaultSize|NoSuf, { Dword|Fword|BaseIndex } +-call, 0xff/3, x64, Intel64|Modrm|JumpAbsolute|NoSuf, { Dword|Fword|Tbyte|BaseIndex } ++call, 0x9a, No64, JumpInterSegment|ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Imm16, Imm16|Imm32 } ++call, 0xff/3, 0, Amd64|Modrm|JumpAbsolute|ImplicitStackOp|DefaultSize|NoSuf, { Dword|Fword|BaseIndex } ++call, 0xff/3, x64, Intel64|Modrm|JumpAbsolute|ImplicitStackOp|NoSuf, { Dword|Fword|Tbyte|BaseIndex } + lcall, 0x9a, No64, JumpInterSegment|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Imm16, Imm16|Imm32 } + lcall, 0xff/3, 0, Amd64|Modrm|JumpAbsolute|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Unspecified|BaseIndex } + lcall, 0xff/3, x64, Intel64|Modrm|JumpAbsolute|No_bSuf|No_sSuf, { Unspecified|BaseIndex } +@@ -457,22 +548,22 @@ ljmp, 0xea, No64, JumpInterSegment|No_bS + ljmp, 0xff/5, 0, Amd64|Modrm|JumpAbsolute|No_bSuf|No_sSuf|No_qSuf, { Unspecified|BaseIndex } + ljmp, 0xff/5, x64, Intel64|Modrm|JumpAbsolute|No_bSuf|No_sSuf, { Unspecified|BaseIndex } + +-ret, 0xc3, No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf|RepPrefixOk|BNDPrefixOk, {} +-ret, 0xc2, No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf|RepPrefixOk|BNDPrefixOk, { Imm16 } +-ret, 0xc3, x64, Amd64|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64|RepPrefixOk|BNDPrefixOk, {} +-ret, 0xc2, x64, Amd64|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64|RepPrefixOk|BNDPrefixOk, { Imm16 } +-ret, 0xc3, x64, Intel64|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64|RepPrefixOk|BNDPrefixOk, {} +-ret, 0xc2, x64, Intel64|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64|RepPrefixOk|BNDPrefixOk, { Imm16 } ++ret, 0xc3, No64, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf|RepPrefixOk|BNDPrefixOk, {} ++ret, 0xc2, No64, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf|RepPrefixOk|BNDPrefixOk, { Imm16 } ++ret, 0xc3, x64, Amd64|ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64|RepPrefixOk|BNDPrefixOk, {} ++ret, 0xc2, x64, Amd64|ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64|RepPrefixOk|BNDPrefixOk, { Imm16 } ++ret, 0xc3, x64, Intel64|ImplicitStackOp|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64|RepPrefixOk|BNDPrefixOk, {} ++ret, 0xc2, x64, Intel64|ImplicitStackOp|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64|RepPrefixOk|BNDPrefixOk, { Imm16 } + lret, 0xcb, 0, DefaultSize|No_bSuf|No_sSuf, {} + lret, 0xca, 0, DefaultSize|No_bSuf|No_sSuf, { Imm16 } + // Intel Syntax. + retf, 0xcb, 0, DefaultSize|No_bSuf|No_sSuf, {} + retf, 0xca, 0, DefaultSize|No_bSuf|No_sSuf, { Imm16 } + +-enter, 0xc8, i186|No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Imm16, Imm8 } +-enter, 0xc8, x64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Imm16, Imm8 } +-leave, 0xc9, i186|No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, {} +-leave, 0xc9, x64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, {} ++enter, 0xc8, i186&No64, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Imm16, Imm8 } ++enter, 0xc8, x64, ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Imm16, Imm8 } ++leave, 0xc9, i186&No64, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf|No_qSuf, {} ++leave, 0xc9, x64, ImplicitStackOp|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, {} + + +@@ -501,7 +592,7 @@ loopne, 0xe0, No64, JumpByte|No_bSuf|No_ + loopne, 0xe0, x64, JumpByte|No_bSuf|No_wSuf|No_sSuf|NoRex64, { Disp8 } + + // Set byte on flag instructions. +-set, 0xf9/0, i386, Modrm|No_wSuf|No_lSuf|No_sSuf|No_qSuf, { Reg8|Byte|Unspecified|BaseIndex } ++set, 0xf9/0, i386, Modrm|No_wSuf|No_lSuf|No_sSuf|No_qSuf, { Reg8|Unspecified|BaseIndex } + + // String manipulation. + cmps, 0xa6, 0, W|No_sSuf|RepPrefixOk, {} +@@ -538,58 +629,58 @@ xlat, 0xd7, 0, No_wSuf|No_lSuf|No_sSuf|N + xlat, 0xd7, 0, No_wSuf|No_lSuf|No_sSuf|No_qSuf|IsString, { Byte|Unspecified|BaseIndex } + + // Bit manipulation. +-bsf, 0xfbc, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf|RepPrefixOk, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } +-bsr, 0xfbd, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf|RepPrefixOk, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } +-bt, 0xfa3, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++bsf, 0xfbc, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf|RepPrefixOk, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++bsr, 0xfbd, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf|RepPrefixOk, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++bt, 0xfa3, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + bt, 0xfba/4, i386, Modrm|No_bSuf|No_sSuf|Optimize, { Imm8, Reg16|Reg32|Reg64|Unspecified|BaseIndex } +-btc, 0xfbb, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf|HLEPrefixLock, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++btc, 0xfbb, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf|HLEPrefixLock, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + btc, 0xfba/7, i386, Modrm|No_bSuf|No_sSuf|Optimize|HLEPrefixLock, { Imm8, Reg16|Reg32|Reg64|Unspecified|BaseIndex } +-btr, 0xfb3, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf|HLEPrefixLock, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++btr, 0xfb3, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf|HLEPrefixLock, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + btr, 0xfba/6, i386, Modrm|No_bSuf|No_sSuf|Optimize|HLEPrefixLock, { Imm8, Reg16|Reg32|Reg64|Unspecified|BaseIndex } +-bts, 0xfab, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf|HLEPrefixLock, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++bts, 0xfab, i386, Modrm|CheckOperandSize|No_bSuf|No_sSuf|HLEPrefixLock, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + bts, 0xfba/5, i386, Modrm|No_bSuf|No_sSuf|Optimize|HLEPrefixLock, { Imm8, Reg16|Reg32|Reg64|Unspecified|BaseIndex } + + // Interrupts & op. sys insns. + // See gas/config/tc-i386.c for conversion of 'int $3' into the special + // int 3 insn. +-int, 0xcd, 0, NoSuf, { Imm8 } +-int1, 0xf1, 0, NoSuf, {} +-int3, 0xcc, 0, NoSuf, {} +-into, 0xce, No64, NoSuf, {} +-iret, 0xcf, 0, DefaultSize|No_bSuf|No_sSuf, {} ++int, 0xcd, 0, ImplicitStackOp|NoSuf, { Imm8 } ++int1, 0xf1, 0, ImplicitStackOp|NoSuf, {} ++int3, 0xcc, 0, ImplicitStackOp|NoSuf, {} ++into, 0xce, No64, ImplicitStackOp|NoSuf, {} ++iret, 0xcf, 0, ImplicitStackOp|DefaultSize|No_bSuf|No_sSuf, {} + // i386sl, i486sl, later 486, and Pentium. + rsm, 0xfaa, i386, NoSuf, {} + +-bound, 0x62, i186|No64, Modrm|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32, Dword|Qword|Unspecified|BaseIndex } ++bound, 0x62, i186&No64, Modrm|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32, Dword|Qword|Unspecified|BaseIndex } + + hlt, 0xf4, 0, NoSuf, {} + +-nop, 0xf1f/0, Nop, Modrm|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex } ++nop, 0xf1f/0, Nop, Modrm|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex } + + // nop is actually "xchg %ax,%ax" in 16bit mode, "xchg %eax,%eax" in + // 32bit mode and "xchg %rax,%rax" in 64bit mode. + nop, 0x90, 0, NoSuf|RepPrefixOk, {} + + // Protection control. +-arpl, 0x63, i286|No64, RegMem|CheckOperandSize|IgnoreSize|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32, Reg16|Reg32 } +-arpl, 0x63, i286|No64, Modrm|IgnoreSize|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32, Word|Unspecified|BaseIndex } ++arpl, 0x63, i286&No64, RegMem|CheckOperandSize|IgnoreSize|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32, Reg16|Reg32 } ++arpl, 0x63, i286&No64, Modrm|IgnoreSize|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32, Word|Unspecified|BaseIndex } + lar, 0xf02, i286, Modrm|CheckOperandSize|No_bSuf|No_sSuf|NoRex64, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64 } + lar, 0xf02, i286, Modrm|No_bSuf|No_sSuf|NoRex64, { Reg16|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } +-lgdt, 0xf01/2, i286|No64, Modrm|No_bSuf|No_sSuf|No_qSuf, { Fword|Unspecified|BaseIndex } ++lgdt, 0xf01/2, i286&No64, Modrm|No_bSuf|No_sSuf|No_qSuf, { Fword|Unspecified|BaseIndex } + lgdt, 0xf01/2, x64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64, { Tbyte|Unspecified|BaseIndex } +-lidt, 0xf01/3, i286|No64, Modrm|No_bSuf|No_sSuf|No_qSuf, { Fword|Unspecified|BaseIndex } ++lidt, 0xf01/3, i286&No64, Modrm|No_bSuf|No_sSuf|No_qSuf, { Fword|Unspecified|BaseIndex } + lidt, 0xf01/3, x64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64, { Tbyte|Unspecified|BaseIndex } + lldt, 0xf00/2, i286, Modrm|IgnoreSize|No_bSuf|No_sSuf|NoRex64, { Reg16|Reg32|Reg64 } + lldt, 0xf00/2, i286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf, { Word|Unspecified|BaseIndex } +-lmsw, 0xf01/6, i286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf, { Reg16|Word|Unspecified|BaseIndex } ++lmsw, 0xf01/6, i286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf, { Reg16|Unspecified|BaseIndex } + lsl, 0xf03, i286, Modrm|CheckOperandSize|No_bSuf|No_sSuf|NoRex64, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64 } + lsl, 0xf03, i286, Modrm|No_bSuf|No_sSuf|NoRex64, { Reg16|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } + ltr, 0xf00/3, i286, Modrm|IgnoreSize|No_bSuf|No_sSuf|NoRex64, { Reg16|Reg32|Reg64 } + ltr, 0xf00/3, i286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf, { Word|Unspecified|BaseIndex } + +-sgdt, 0xf01/0, i286|No64, Modrm|No_bSuf|No_sSuf|No_qSuf, { Fword|Unspecified|BaseIndex } ++sgdt, 0xf01/0, i286&No64, Modrm|No_bSuf|No_sSuf|No_qSuf, { Fword|Unspecified|BaseIndex } + sgdt, 0xf01/0, x64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64, { Tbyte|Unspecified|BaseIndex } +-sidt, 0xf01/1, i286|No64, Modrm|No_bSuf|No_sSuf|No_qSuf, { Fword|Unspecified|BaseIndex } ++sidt, 0xf01/1, i286&No64, Modrm|No_bSuf|No_sSuf|No_qSuf, { Fword|Unspecified|BaseIndex } + sidt, 0xf01/1, x64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64, { Tbyte|Unspecified|BaseIndex } + sldt, 0xf00/0, i286, Modrm|No_bSuf|No_sSuf|NoRex64, { Reg16|Reg32|Reg64 } + sldt, 0xf00/0, i286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf, { Word|Unspecified|BaseIndex } +@@ -698,14 +789,13 @@ faddp, 0xdec1, FP, NoSuf, {} + fsub, 0xd8/4, FP, Modrm|NoSuf, { FloatReg } + fsub, 0xd8/4, FP, D|Modrm|NoSuf, { FloatReg, FloatAcc } + // alias for fsubp +-fsub, 0xdee1, FP, NoSuf|Ugh|ATTMnemonic|ATTSyntax, {} +-fsub, 0xdee9, FP, NoSuf|Ugh|ATTMnemonic, {} ++fsub, 0xdee1, FP, NoSuf|Ugh|ATTMnemonic, {} + fsub, 0xd8/4, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Dword|Qword|Unspecified|BaseIndex } + fisub, 0xde/4, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Word|Dword|Unspecified|BaseIndex } + +-fsubp, 0xde/4, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatAcc, FloatReg } +-fsubp, 0xde/4, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatReg } +-fsubp, 0xdee1, FP, NoSuf|ATTMnemonic|ATTSyntax, {} ++fsubp, 0xde/4, FP, Modrm|NoSuf|ATTMnemonic, { FloatAcc, FloatReg } ++fsubp, 0xde/4, FP, Modrm|NoSuf|ATTMnemonic, { FloatReg } ++fsubp, 0xdee1, FP, NoSuf|ATTMnemonic, {} + fsubp, 0xde/5, FP, Modrm|NoSuf, { FloatAcc, FloatReg } + fsubp, 0xde/5, FP, Modrm|NoSuf, { FloatReg } + fsubp, 0xdee9, FP, NoSuf, {} +@@ -714,14 +804,13 @@ fsubp, 0xdee9, FP, NoSuf, {} + fsubr, 0xd8/5, FP, Modrm|NoSuf, { FloatReg } + fsubr, 0xd8/5, FP, D|Modrm|NoSuf, { FloatReg, FloatAcc } + // alias for fsubrp +-fsubr, 0xdee9, FP, NoSuf|Ugh|ATTMnemonic|ATTSyntax, {} +-fsubr, 0xdee1, FP, NoSuf|Ugh|ATTMnemonic, {} ++fsubr, 0xdee9, FP, NoSuf|Ugh|ATTMnemonic, {} + fsubr, 0xd8/5, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Dword|Qword|Unspecified|BaseIndex } + fisubr, 0xde/5, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Word|Dword|Unspecified|BaseIndex } + +-fsubrp, 0xde/5, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatAcc, FloatReg } +-fsubrp, 0xde/5, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatReg } +-fsubrp, 0xdee9, FP, NoSuf|ATTMnemonic|ATTSyntax, {} ++fsubrp, 0xde/5, FP, Modrm|NoSuf|ATTMnemonic, { FloatAcc, FloatReg } ++fsubrp, 0xde/5, FP, Modrm|NoSuf|ATTMnemonic, { FloatReg } ++fsubrp, 0xdee9, FP, NoSuf|ATTMnemonic, {} + fsubrp, 0xde/4, FP, Modrm|NoSuf, { FloatAcc, FloatReg } + fsubrp, 0xde/4, FP, Modrm|NoSuf, { FloatReg } + fsubrp, 0xdee1, FP, NoSuf, {} +@@ -743,14 +832,13 @@ fmulp, 0xdec9, FP, NoSuf, {} + fdiv, 0xd8/6, FP, Modrm|NoSuf, { FloatReg } + fdiv, 0xd8/6, FP, D|Modrm|NoSuf, { FloatReg, FloatAcc } + // alias for fdivp +-fdiv, 0xdef1, FP, NoSuf|Ugh|ATTMnemonic|ATTSyntax, {} +-fdiv, 0xdef9, FP, NoSuf|Ugh|ATTMnemonic, {} ++fdiv, 0xdef1, FP, NoSuf|Ugh|ATTMnemonic, {} + fdiv, 0xd8/6, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Dword|Qword|Unspecified|BaseIndex } + fidiv, 0xde/6, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Word|Dword|Unspecified|BaseIndex } + +-fdivp, 0xde/6, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatAcc, FloatReg } +-fdivp, 0xde/6, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatReg } +-fdivp, 0xdef1, FP, NoSuf|ATTMnemonic|ATTSyntax, {} ++fdivp, 0xde/6, FP, Modrm|NoSuf|ATTMnemonic, { FloatAcc, FloatReg } ++fdivp, 0xde/6, FP, Modrm|NoSuf|ATTMnemonic, { FloatReg } ++fdivp, 0xdef1, FP, NoSuf|ATTMnemonic, {} + fdivp, 0xde/7, FP, Modrm|NoSuf, { FloatAcc, FloatReg } + fdivp, 0xde/7, FP, Modrm|NoSuf, { FloatReg } + fdivp, 0xdef9, FP, NoSuf, {} +@@ -759,14 +847,13 @@ fdivp, 0xdef9, FP, NoSuf, {} + fdivr, 0xd8/7, FP, Modrm|NoSuf, { FloatReg } + fdivr, 0xd8/7, FP, D|Modrm|NoSuf, { FloatReg, FloatAcc } + // alias for fdivrp +-fdivr, 0xdef9, FP, NoSuf|Ugh|ATTMnemonic|ATTSyntax, {} +-fdivr, 0xdef1, FP, NoSuf|Ugh|ATTMnemonic, {} ++fdivr, 0xdef9, FP, NoSuf|Ugh|ATTMnemonic, {} + fdivr, 0xd8/7, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Dword|Qword|Unspecified|BaseIndex } + fidivr, 0xde/7, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Word|Dword|Unspecified|BaseIndex } + +-fdivrp, 0xde/7, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatAcc, FloatReg } +-fdivrp, 0xde/7, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatReg } +-fdivrp, 0xdef9, FP, NoSuf|ATTMnemonic|ATTSyntax, {} ++fdivrp, 0xde/7, FP, Modrm|NoSuf|ATTMnemonic, { FloatAcc, FloatReg } ++fdivrp, 0xde/7, FP, Modrm|NoSuf|ATTMnemonic, { FloatReg } ++fdivrp, 0xdef9, FP, NoSuf|ATTMnemonic, {} + fdivrp, 0xde/6, FP, Modrm|NoSuf, { FloatAcc, FloatReg } + fdivrp, 0xde/6, FP, Modrm|NoSuf, { FloatReg } + fdivrp, 0xdef1, FP, NoSuf, {} +@@ -829,14 +916,14 @@ fwait, 0x9b, FP, NoSuf, {} + + // Opcode prefixes; we allow them as separate insns too. + +-addr16, 0x67, i386|No64, Size16|IgnoreSize|NoSuf|IsPrefix, {} ++addr16, 0x67, i386&No64, Size16|IgnoreSize|NoSuf|IsPrefix, {} + addr32, 0x67, i386, Size32|IgnoreSize|NoSuf|IsPrefix, {} +-aword, 0x67, i386|No64, Size16|IgnoreSize|NoSuf|IsPrefix, {} ++aword, 0x67, i386&No64, Size16|IgnoreSize|NoSuf|IsPrefix, {} + adword, 0x67, i386, Size32|IgnoreSize|NoSuf|IsPrefix, {} + data16, 0x66, i386, Size16|IgnoreSize|NoSuf|IsPrefix, {} +-data32, 0x66, i386|No64, Size32|IgnoreSize|NoSuf|IsPrefix, {} ++data32, 0x66, i386&No64, Size32|IgnoreSize|NoSuf|IsPrefix, {} + word, 0x66, i386, Size16|IgnoreSize|NoSuf|IsPrefix, {} +-dword, 0x66, i386|No64, Size32|IgnoreSize|NoSuf|IsPrefix, {} ++dword, 0x66, i386&No64, Size32|IgnoreSize|NoSuf|IsPrefix, {} + lock, 0xf0, 0, NoSuf|IsPrefix, {} + wait, 0x9b, 0, NoSuf|IsPrefix, {} + cs, 0x2e, 0, NoSuf|IsPrefix, {} +@@ -886,18 +973,18 @@ rex.wrxb, 0x4f, x64, NoSuf|IsPrefix, {} + + // Pseudo prefixes (base_opcode == PSEUDO_PREFIX) + +- ++ rex:REX:x64, rex2:REX2:APX_F, nooptimize:NoOptimize:0> + + {}, PSEUDO_PREFIX/Prefix_, , NoSuf|IsPrefix, {} + + // 486 extensions. + + bswap, 0xfc8, i486, No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64 } +-xadd, 0xfc0, i486, W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } +-cmpxchg, 0xfb0, i486, W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex } ++xadd, 0xfc0, i486, W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } ++cmpxchg, 0xfb0, i486, W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Unspecified|BaseIndex } + invd, 0xf08, i486, NoSuf, {} + wbinvd, 0xf09, i486, NoSuf, {} + invlpg, 0xf01/7, i486, Modrm|Anysize|IgnoreSize|NoSuf, { BaseIndex } +@@ -913,13 +1000,13 @@ cmpxchg8b, 0xfc7/1, i586, Modrm|No_bSuf| + + // Pentium II/Pentium Pro extensions. + sysenter, 0xf34, x64, Intel64Only|NoSuf, {} +-sysenter, 0xf34, i686|No64, NoSuf, {} ++sysenter, 0xf34, i686&No64, NoSuf, {} + sysexit, 0xf35, x64, Intel64Only|No_bSuf|No_wSuf|No_sSuf, {} +-sysexit, 0xf35, i686|No64, NoSuf, {} ++sysexit, 0xf35, i686&No64, NoSuf, {} + fxsave, 0xfae/0, FXSR, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Unspecified|BaseIndex } +-fxsave64, 0xfae/0, FXSR|x64, Modrm|NoSuf|Size64, { Unspecified|BaseIndex } ++fxsave64, 0xfae/0, FXSR&x64, Modrm|NoSuf|Size64, { Unspecified|BaseIndex } + fxrstor, 0xfae/1, FXSR, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Unspecified|BaseIndex } +-fxrstor64, 0xfae/1, FXSR|x64, Modrm|NoSuf|Size64, { Unspecified|BaseIndex } ++fxrstor64, 0xfae/1, FXSR&x64, Modrm|NoSuf|Size64, { Unspecified|BaseIndex } + rdpmc, 0xf33, i686, NoSuf, {} + // official undefined instr. + ud2, 0xf0b, i186, NoSuf, {} +@@ -932,7 +1019,8 @@ ud2b, 0xfb9, i186, Modrm|CheckOperandSiz + // 3rd official undefined instr (older CPUs don't take a ModR/M byte) + ud0, 0xfff, i186, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } + +-cmov, 0xf4, CMOV, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++cmov, 0x4, CMOV&APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSuf|DstVVVV|EVexMap4, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64 } ++cmov, 0xf4, CMOV, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } + + fcmovb, 0xda/0, i687, Modrm|NoSuf, { FloatReg, FloatAcc } + fcmovnae, 0xda/0, i687, Modrm|NoSuf, { FloatReg, FloatAcc } +@@ -990,9 +1078,9 @@ pause, 0xf390, i186, NoSuf, {} + b:0:VexW0:Byte:AVX512DQ:66:AVX512VBMI, + + w:1:VexW1:Word:AVX512F::AVX512BW> + +- ++ + + emms, 0xf77, MMX, NoSuf, {} + // These really shouldn't allow for Reg64 (movq is the right mnemonic for +@@ -1000,21 +1088,21 @@ emms, 0xf77, MMX, NoSuf, {} + // spec). AMD's spec, having been in existence for much longer, failed to + // recognize that and specified movd for 32- and 64-bit operations. + movd, 0x666e, AVX, D|Modrm|Vex128|Space0F|VexW0|NoSuf|SSE2AVX, { Reg32|Unspecified|BaseIndex, RegXMM } +-movd, 0x666e, AVX|x64, D|Modrm|Vex=1|Space0F|VexW1|NoSuf|Size64|SSE2AVX, { Reg64|BaseIndex, RegXMM } ++movd, 0x666e, AVX&x64, D|Modrm|Vex=1|Space0F|VexW1|NoSuf|Size64|SSE2AVX, { Reg64|BaseIndex, RegXMM } + movd, 0x660f6e, SSE2, D|Modrm|IgnoreSize|NoSuf, { Reg32|Unspecified|BaseIndex, RegXMM } +-movd, 0x660f6e, SSE2|x64, D|Modrm|NoSuf|Size64, { Reg64|BaseIndex, RegXMM } ++movd, 0x660f6e, SSE2&x64, D|Modrm|NoSuf|Size64, { Reg64|BaseIndex, RegXMM } + // The MMX templates have to remain after at least the SSE2AVX ones. + movd, 0xf6e, MMX, D|Modrm|IgnoreSize|NoSuf, { Reg32|Unspecified|BaseIndex, RegMMX } +-movd, 0xf6e, MMX|x64, D|Modrm|NoSuf|Size64, { Reg64|BaseIndex, RegMMX } ++movd, 0xf6e, MMX&x64, D|Modrm|NoSuf|Size64, { Reg64|BaseIndex, RegMMX } + movq, 0xf37e, AVX, Load|Modrm|Vex=1|Space0F|VexWIG|NoSuf|SSE2AVX, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } + movq, 0x66d6, AVX, Modrm|Vex=1|Space0F|VexWIG|NoSuf|SSE2AVX, { RegXMM, Qword|Unspecified|BaseIndex|RegXMM } +-movq, 0x666e, AVX|x64, D|Modrm|Vex=1|Space0F|VexW1|NoSuf|Size64|SSE2AVX, { Reg64|Unspecified|BaseIndex, RegXMM } ++movq, 0x666e, AVX&x64, D|Modrm|Vex=1|Space0F|VexW1|NoSuf|Size64|SSE2AVX, { Reg64|Unspecified|BaseIndex, RegXMM } + movq, 0xf30f7e, SSE2, Load|Modrm|NoSuf, { Unspecified|Qword|BaseIndex|RegXMM, RegXMM } + movq, 0x660fd6, SSE2, Modrm|NoSuf, { RegXMM, Unspecified|Qword|BaseIndex|RegXMM } +-movq, 0x660f6e, SSE2|x64, D|Modrm|NoSuf|Size64, { Reg64|Unspecified|BaseIndex, RegXMM } ++movq, 0x660f6e, SSE2&x64, D|Modrm|NoSuf|Size64, { Reg64|Unspecified|BaseIndex, RegXMM } + // The MMX templates have to remain after at least the SSE2AVX ones. + movq, 0xf6f, MMX, D|Modrm|NoSuf, { Unspecified|Qword|BaseIndex|RegMMX, RegMMX } +-movq, 0xf6e, MMX|x64, D|Modrm|NoSuf|Size64, { Reg64|Unspecified|BaseIndex, RegMMX } ++movq, 0xf6e, MMX&x64, D|Modrm|NoSuf|Size64, { Reg64|Unspecified|BaseIndex, RegMMX } + packssdw, 0x0f6b, , Modrm||NoSuf, { ||Unspecified|BaseIndex, } + packsswb, 0x0f63, , Modrm||NoSuf, { ||Unspecified|BaseIndex, } + packuswb, 0x0f67, , Modrm||NoSuf, { ||Unspecified|BaseIndex, } +@@ -1028,8 +1116,8 @@ pand, 0x0fdb, , M + pandn, 0x0fdf, , Modrm||NoSuf, { ||Unspecified|BaseIndex, } + pcmpeq, 0x0f74 | , , Modrm||C|NoSuf, { ||Unspecified|BaseIndex, } + pcmpeqd, 0x0f76, , Modrm||C|NoSuf, { ||Unspecified|BaseIndex, } +-pcmpgt, 0x0f64 | , , Modrm||NoSuf, { ||Unspecified|BaseIndex, } +-pcmpgtd, 0x0f66, , Modrm||NoSuf, { ||Unspecified|BaseIndex, } ++pcmpgt, 0x0f64 | , , Modrm||NoSuf|Optimize, { ||Unspecified|BaseIndex, } ++pcmpgtd, 0x0f66, , Modrm||NoSuf|Optimize, { ||Unspecified|BaseIndex, } + pmaddwd, 0x0ff5, , Modrm||C|NoSuf, { ||Unspecified|BaseIndex, } + pmulhw, 0x0fe5, , Modrm||C|NoSuf, { ||Unspecified|BaseIndex, } + pmullw, 0x0fd5, , Modrm||C|NoSuf, { ||Unspecified|BaseIndex, } +@@ -1081,11 +1169,11 @@ cmpss, 0xf30fc2, , Modrm|< + comiss, 0x0f2f, , Modrm||NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM } + cvtpi2ps, 0xf2a, SSE, Modrm|NoSuf, { Qword|Unspecified|BaseIndex|RegMMX, RegXMM } + cvtps2pi, 0xf2d, SSE, Modrm|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegMMX } +-cvtsi2ss, 0xf30f2a, |No64, Modrm|||IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Reg32|Unspecified|BaseIndex, RegXMM } +-cvtsi2ss, 0xf32a, AVX|x64, Modrm|Vex=3|Space0F|VexVVVV|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|SSE2AVX|ATTSyntax, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-cvtsi2ss, 0xf32a, AVX|x64, Modrm|Vex=3|Space0F|VexVVVV|No_bSuf|No_wSuf|No_sSuf|SSE2AVX|IntelSyntax, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-cvtsi2ss, 0xf30f2a, SSE|x64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|ATTSyntax, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-cvtsi2ss, 0xf30f2a, SSE|x64, Modrm|No_bSuf|No_wSuf|No_sSuf|IntelSyntax, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++cvtsi2ss, 0xf30f2a, &No64, Modrm|||IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Reg32|Unspecified|BaseIndex, RegXMM } ++cvtsi2ss, 0xf32a, AVX&x64, Modrm|Vex=3|Space0F|VexVVVV|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|SSE2AVX|ATTSyntax, { Reg32|Reg64|Unspecified|BaseIndex, RegXMM } ++cvtsi2ss, 0xf32a, AVX&x64, Modrm|Vex=3|Space0F|VexVVVV|No_bSuf|No_wSuf|No_sSuf|SSE2AVX|IntelSyntax, { Reg32|Reg64|Unspecified|BaseIndex, RegXMM } ++cvtsi2ss, 0xf30f2a, SSE&x64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|ATTSyntax, { Reg32|Reg64|Unspecified|BaseIndex, RegXMM } ++cvtsi2ss, 0xf30f2a, SSE&x64, Modrm|No_bSuf|No_wSuf|No_sSuf|IntelSyntax, { Reg32|Reg64|Unspecified|BaseIndex, RegXMM } + cvtss2si, 0xf32d, AVX, Modrm|VexLIG|Space0F|No_bSuf|No_wSuf|No_sSuf|SSE2AVX, { Dword|Unspecified|BaseIndex|RegXMM, Reg32|Reg64 } + cvtss2si, 0xf30f2d, SSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Dword|Unspecified|BaseIndex|RegXMM, Reg32|Reg64 } + cvttps2pi, 0xf2c, SSE, Modrm|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegMMX } +@@ -1176,11 +1264,11 @@ comisd, 0x660f2f, , Modr + cvtpi2pd, 0x660f2a, SSE2, Modrm|NoSuf, { RegMMX, RegXMM } + cvtpi2pd, 0xf3e6, AVX, Modrm|Vex|Space0F|VexW0|NoSuf|SSE2AVX, { Qword|Unspecified|BaseIndex, RegXMM } + cvtpi2pd, 0x660f2a, SSE2, Modrm|NoSuf, { Qword|Unspecified|BaseIndex, RegXMM } +-cvtsi2sd, 0xf20f2a, |No64, Modrm|IgnoreSize|||No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Reg32|Unspecified|BaseIndex, RegXMM } +-cvtsi2sd, 0xf22a, AVX|x64, Modrm|Vex=3|Space0F|VexVVVV|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|SSE2AVX|ATTSyntax, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-cvtsi2sd, 0xf22a, AVX|x64, Modrm|Vex=3|Space0F|VexVVVV|No_bSuf|No_wSuf|No_sSuf|SSE2AVX|IntelSyntax, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-cvtsi2sd, 0xf20f2a, SSE2|x64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|ATTSyntax, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-cvtsi2sd, 0xf20f2a, SSE2|x64, Modrm|No_bSuf|No_wSuf|No_sSuf|IntelSyntax, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++cvtsi2sd, 0xf20f2a, &No64, Modrm|IgnoreSize|||No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Reg32|Unspecified|BaseIndex, RegXMM } ++cvtsi2sd, 0xf22a, AVX&x64, Modrm|Vex=3|Space0F|VexVVVV|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|SSE2AVX|ATTSyntax, { Reg32|Reg64|Unspecified|BaseIndex, RegXMM } ++cvtsi2sd, 0xf22a, AVX&x64, Modrm|Vex=3|Space0F|VexVVVV|No_bSuf|No_wSuf|No_sSuf|SSE2AVX|IntelSyntax, { Reg32|Reg64|Unspecified|BaseIndex, RegXMM } ++cvtsi2sd, 0xf20f2a, SSE2&x64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|ATTSyntax, { Reg32|Reg64|Unspecified|BaseIndex, RegXMM } ++cvtsi2sd, 0xf20f2a, SSE2&x64, Modrm|No_bSuf|No_wSuf|No_sSuf|IntelSyntax, { Reg32|Reg64|Unspecified|BaseIndex, RegXMM } + divpd, 0x660f5e, , Modrm|||NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } + divsd, 0xf20f5e, , Modrm|||NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } + maxpd, 0x660f5f, , Modrm|||NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } +@@ -1269,7 +1357,7 @@ fisttpll, 0xdd/1, FISTTP, Modrm|NoSuf|AT + + // CMPXCHG16B instruction. + +-cmpxchg16b, 0xfc7/1, CX16|x64, Modrm|NoSuf|Size64|LockPrefixOk, { Oword|Unspecified|BaseIndex } ++cmpxchg16b, 0xfc7/1, CX16, Modrm|NoSuf|Size64|LockPrefixOk, { Oword|Unspecified|BaseIndex } + + // MONITOR instructions. + +@@ -1279,7 +1367,7 @@ monitor, 0xf01c8, MONITOR, NoSuf, {} + // all modes. + monitor, 0xf01c8, MONITOR, AddrPrefixOpReg|NoSuf, { Acc|Word|Dword|Qword, RegC|Dword, RegD|Dword } + // The 64-bit form exists only for compatibility with older gas. +-monitor, 0xf01c8, MONITOR|x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword, RegC|Qword, RegD|Qword } ++monitor, 0xf01c8, MONITOR&x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword, RegC|Qword, RegD|Qword } + mwait, 0xf01c9, MONITOR, NoSuf, {} + // mwait is very special. AX and CX are always 32 bits. + // The 64-bit form exists only for compatibility with older gas. +@@ -1293,10 +1381,10 @@ vmlaunch, 0xf01c2, VMX, NoSuf, {} + vmresume, 0xf01c3, VMX, NoSuf, {} + vmptrld, 0xfc7/6, VMX, Modrm|NoSuf, { Qword|Unspecified|BaseIndex } + vmptrst, 0xfc7/7, VMX, Modrm|NoSuf, { Qword|Unspecified|BaseIndex } +-vmread, 0xf78, VMX|No64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Reg32, Reg32|Unspecified|BaseIndex } +-vmread, 0xf78, VMX|x64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64, { Reg64, Reg64|Qword|Unspecified|BaseIndex } +-vmwrite, 0xf79, VMX|No64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Reg32|Unspecified|BaseIndex, Reg32 } +-vmwrite, 0xf79, VMX|x64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64, { Reg64|Qword|Unspecified|BaseIndex, Reg64 } ++vmread, 0xf78, VMX&No64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Reg32, Reg32|Unspecified|BaseIndex } ++vmread, 0xf78, VMX&x64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64, { Reg64, Reg64|Unspecified|BaseIndex } ++vmwrite, 0xf79, VMX&No64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Reg32|Unspecified|BaseIndex, Reg32 } ++vmwrite, 0xf79, VMX&x64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoRex64, { Reg64|Unspecified|BaseIndex, Reg64 } + vmxoff, 0xf01c4, VMX, NoSuf, {} + vmxon, 0xf30fc7/6, VMX, Modrm|NoSuf, { Qword|Unspecified|BaseIndex } + +@@ -1310,15 +1398,18 @@ getsec, 0xf37, SMX, NoSuf, {} + + // EPT instructions. + +-invept, 0x660f3880, EPT|No64, Modrm|IgnoreSize|NoSuf, { Oword|Unspecified|BaseIndex, Reg32 } +-invept, 0x660f3880, EPT|x64, Modrm|NoSuf|NoRex64, { Oword|Unspecified|BaseIndex, Reg64 } +-invvpid, 0x660f3881, EPT|No64, Modrm|IgnoreSize|NoSuf, { Oword|Unspecified|BaseIndex, Reg32 } +-invvpid, 0x660f3881, EPT|x64, Modrm|NoSuf|NoRex64, { Oword|Unspecified|BaseIndex, Reg64 } ++invept, 0x660f3880, EPT&No64, Modrm|IgnoreSize|NoSuf, { Oword|Unspecified|BaseIndex, Reg32 } ++invept, 0x660f3880, EPT&x64, Modrm|NoSuf|NoRex64, { Oword|Unspecified|BaseIndex, Reg64 } ++invept, 0xf3f0, EPT&APX_F, Modrm|NoSuf|EVexMap4, { Oword|Unspecified|BaseIndex, Reg64 } ++invvpid, 0x660f3881, EPT&No64, Modrm|IgnoreSize|NoSuf, { Oword|Unspecified|BaseIndex, Reg32 } ++invvpid, 0x660f3881, EPT&x64, Modrm|NoSuf|NoRex64, { Oword|Unspecified|BaseIndex, Reg64 } ++invvpid, 0xf3f1, EPT&APX_F, Modrm|NoSuf|EVexMap4, { Oword|Unspecified|BaseIndex, Reg64 } + + // INVPCID instruction + +-invpcid, 0x660f3882, INVPCID|No64, Modrm|IgnoreSize|NoSuf, { Oword|Unspecified|BaseIndex, Reg32 } +-invpcid, 0x660f3882, INVPCID|x64, Modrm|NoSuf|NoRex64, { Oword|Unspecified|BaseIndex, Reg64 } ++invpcid, 0x660f3882, INVPCID&No64, Modrm|IgnoreSize|NoSuf, { Oword|Unspecified|BaseIndex, Reg32 } ++invpcid, 0x660f3882, INVPCID&x64, Modrm|NoSuf|NoRex64, { Oword|Unspecified|BaseIndex, Reg64 } ++invpcid, 0xf3f2, INVPCID&APX_F, Modrm|NoSuf|EVexMap4, { Oword|Unspecified|BaseIndex, Reg64 } + + // SSSE3 instructions. + +@@ -1353,10 +1444,10 @@ blendvp, 0x664a | , AVX, Mod + blendvp, 0x660f3814 | , SSE4_1, Modrm|NoSuf, { Acc|Xmmword, RegXMM|Unspecified|BaseIndex, RegXMM } + blendvp, 0x660f3814 | , SSE4_1, Modrm|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } + dpp, 0x660f3a40 | , , Modrm|||NoSuf, { Imm8|Imm8S, RegXMM|Unspecified|BaseIndex, RegXMM } +-extractps, 0x6617, AVX, Modrm|Vex|Space0F3A|VexWIG|NoSuf|SSE2AVX, { Imm8, RegXMM, Reg32|Dword|Unspecified|BaseIndex } +-extractps, 0x6617, AVX|x64, RegMem|Vex|Space0F3A|VexWIG|NoSuf|SSE2AVX, { Imm8, RegXMM, Reg64 } +-extractps, 0x660f3a17, SSE4_1, Modrm|IgnoreSize|NoSuf, { Imm8, RegXMM, Reg32|Dword|Unspecified|BaseIndex } +-extractps, 0x660f3a17, SSE4_1|x64, RegMem|NoSuf|NoRex64, { Imm8, RegXMM, Reg64 } ++extractps, 0x6617, AVX, Modrm|Vex|Space0F3A|VexWIG|NoSuf|SSE2AVX, { Imm8, RegXMM, Reg32|Unspecified|BaseIndex } ++extractps, 0x6617, AVX&x64, RegMem|Vex|Space0F3A|VexWIG|NoSuf|SSE2AVX, { Imm8, RegXMM, Reg64 } ++extractps, 0x660f3a17, SSE4_1, Modrm|IgnoreSize|NoSuf, { Imm8, RegXMM, Reg32|Unspecified|BaseIndex } ++extractps, 0x660f3a17, SSE4_1&x64, RegMem|NoSuf|NoRex64, { Imm8, RegXMM, Reg64 } + insertps, 0x660f3a21, , Modrm|||NoSuf, { Imm8, Dword|Unspecified|BaseIndex|RegXMM, RegXMM } + movntdqa, 0x660f382a, , Modrm||NoSuf, { Xmmword|Unspecified|BaseIndex, RegXMM } + mpsadbw, 0x660f3a42, , Modrm|||NoSuf, { Imm8|Imm8S, RegXMM|Unspecified|BaseIndex, RegXMM } +@@ -1366,18 +1457,18 @@ pblendvb, 0x664c, AVX, Modrm|Vex128|Spac + pblendvb, 0x660f3810, SSE4_1, Modrm|NoSuf, { Acc|Xmmword, RegXMM|Unspecified|BaseIndex, RegXMM } + pblendvb, 0x660f3810, SSE4_1, Modrm|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } + pblendw, 0x660f3a0e, , Modrm|||NoSuf, { Imm8|Imm8S, RegXMM|Unspecified|BaseIndex, RegXMM } +-pcmpeqq, 0x660f3829, , Modrm|||NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } ++pcmpeqq, 0x660f3829, , Modrm|||NoSuf|Optimize, { RegXMM|Unspecified|BaseIndex, RegXMM } + pextr, 0x660f3a14 | , , RegMem||NoSuf|IgnoreSize|NoRex64, { Imm8, RegXMM, Reg32|Reg64 } + pextr, 0x660f3a14 | , , Modrm||NoSuf, { Imm8, RegXMM, |Unspecified|BaseIndex } + pextrd, 0x660f3a16, , Modrm||NoSuf|IgnoreSize, { Imm8, RegXMM, Reg32|Unspecified|BaseIndex } +-pextrq, 0x6616, AVX|x64, Modrm|Vex|Space0F3A|VexW1|NoSuf|SSE2AVX, { Imm8, RegXMM, Reg64|Unspecified|BaseIndex } +-pextrq, 0x660f3a16, SSE4_1|x64, Modrm|Size64|NoSuf, { Imm8, RegXMM, Reg64|Unspecified|BaseIndex } ++pextrq, 0x6616, AVX&x64, Modrm|Vex|Space0F3A|VexW1|NoSuf|SSE2AVX, { Imm8, RegXMM, Reg64|Unspecified|BaseIndex } ++pextrq, 0x660f3a16, SSE4_1&x64, Modrm|Size64|NoSuf, { Imm8, RegXMM, Reg64|Unspecified|BaseIndex } + phminposuw, 0x660f3841, , Modrm||NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } + pinsrb, 0x660f3a20, , Modrm|||NoSuf|IgnoreSize|NoRex64, { Imm8, Reg32|Reg64, RegXMM } + pinsrb, 0x660f3a20, , Modrm|||NoSuf, { Imm8, Byte|Unspecified|BaseIndex, RegXMM } + pinsrd, 0x660f3a22, , Modrm|||NoSuf|IgnoreSize, { Imm8, Reg32|Unspecified|BaseIndex, RegXMM } +-pinsrq, 0x6622, AVX|x64, Modrm|Vex|Space0F3A|VexVVVV|VexW1|NoSuf|SSE2AVX, { Imm8, Reg64|Unspecified|BaseIndex, RegXMM } +-pinsrq, 0x660f3a22, SSE4_1|x64, Modrm|Size64|NoSuf, { Imm8, Reg64|Unspecified|BaseIndex, RegXMM } ++pinsrq, 0x6622, AVX&x64, Modrm|Vex|Space0F3A|VexVVVV|VexW1|NoSuf|SSE2AVX, { Imm8, Reg64|Unspecified|BaseIndex, RegXMM } ++pinsrq, 0x660f3a22, SSE4_1&x64, Modrm|Size64|NoSuf, { Imm8, Reg64|Unspecified|BaseIndex, RegXMM } + pmaxsb, 0x660f383c, , Modrm|||NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } + pmaxsd, 0x660f383d, , Modrm|||NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } + pmaxud, 0x660f383f, , Modrm|||NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } +@@ -1408,34 +1499,37 @@ rounds, 0x660f3a0a | + + + +-pcmpgtq, 0x660f3837, , Modrm|||NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } +-pcmpestri, 0x660f3a61, |No64, Modrm||NoSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM } +-pcmpestri, 0x6661, AVX|x64, Modrm|Vex|Space0F3A|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM } +-pcmpestri, 0x660f3a61, SSE4_2|x64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM } +-pcmpestrm, 0x660f3a60, |No64, Modrm||NoSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM } +-pcmpestrm, 0x6660, AVX|x64, Modrm|Vex|Space0F3A|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM } +-pcmpestrm, 0x660f3a60, SSE4_2|x64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM } ++pcmpgtq, 0x660f3837, , Modrm|||NoSuf|Optimize, { RegXMM|Unspecified|BaseIndex, RegXMM } ++pcmpestri, 0x660f3a61, &No64, Modrm||NoSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM } ++pcmpestri, 0x6661, AVX&x64, Modrm|Vex|Space0F3A|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM } ++pcmpestri, 0x660f3a61, SSE4_2&x64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM } ++pcmpestrm, 0x660f3a60, &No64, Modrm||NoSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM } ++pcmpestrm, 0x6660, AVX&x64, Modrm|Vex|Space0F3A|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM } ++pcmpestrm, 0x660f3a60, SSE4_2&x64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM } + pcmpistri, 0x660f3a63, , Modrm||NoSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM } + pcmpistrm, 0x660f3a62, , Modrm||NoSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM } + crc32, 0xf20f38f0, SSE4_2, W|Modrm|No_sSuf|No_qSuf, { Reg8|Reg16|Reg32|Unspecified|BaseIndex, Reg32 } +-crc32, 0xf20f38f0, SSE4_2|x64, W|Modrm|No_wSuf|No_lSuf|No_sSuf, { Reg8|Reg64|Unspecified|BaseIndex, Reg64 } ++crc32, 0xf20f38f0, SSE4_2&x64, W|Modrm|No_wSuf|No_lSuf|No_sSuf, { Reg8|Reg64|Unspecified|BaseIndex, Reg64 } ++crc32, 0xf0, APX_F, W|Modrm|No_sSuf|No_qSuf|EVexMap4, { Reg8|Reg16|Reg32|Unspecified|BaseIndex, Reg32 } ++crc32, 0xf0, APX_F, W|Modrm|No_wSuf|No_lSuf|No_sSuf|EVexMap4, { Reg8|Reg64|Unspecified|BaseIndex, Reg64 } + + // xsave/xrstor New Instructions. + +-xsave, 0xfae/4, Xsave, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Unspecified|BaseIndex } +-xsave64, 0xfae/4, Xsave|x64, Modrm|NoSuf|Size64, { Unspecified|BaseIndex } +-xrstor, 0xfae/5, Xsave, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Unspecified|BaseIndex } +-xrstor64, 0xfae/5, Xsave|x64, Modrm|NoSuf|Size64, { Unspecified|BaseIndex } ++xsave, 0xfae/4, Xsave, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoEgpr, { Unspecified|BaseIndex } ++xsave64, 0xfae/4, Xsave&x64, Modrm|NoSuf|Size64|NoEgpr, { Unspecified|BaseIndex } ++xrstor, 0xfae/5, Xsave, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoEgpr, { Unspecified|BaseIndex } ++xrstor64, 0xfae/5, Xsave&x64, Modrm|NoSuf|Size64|NoEgpr, { Unspecified|BaseIndex } + xgetbv, 0xf01d0, Xsave, NoSuf, {} + xsetbv, 0xf01d1, Xsave, NoSuf, {} + + // xsaveopt +-xsaveopt, 0xfae/6, Xsaveopt, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Unspecified|BaseIndex } +-xsaveopt64, 0xfae/6, Xsaveopt|x64, Modrm|NoSuf|Size64, { Unspecified|BaseIndex } ++ ++xsaveopt, 0xfae/6, Xsaveopt, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|NoEgpr, { Unspecified|BaseIndex } ++xsaveopt64, 0xfae/6, Xsaveopt&x64, Modrm|NoSuf|Size64|NoEgpr, { Unspecified|BaseIndex } + + // AES instructions. + +- ++ + + aesdec, 0x660f38de, AES, Modrm|||NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } + aesdeclast, 0x660f38df, AES, Modrm|||NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } +@@ -1446,7 +1540,7 @@ aeskeygenassist, 0x660f3adf, ++ + + pclmulqdq, 0x660f3a44, PCLMULQDQ, Modrm||NoSuf, { Imm8|Imm8S, RegXMM|Unspecified|BaseIndex, RegXMM } + pclmullqlqdq, 0x660f3a44/0x00, PCLMULQDQ, Modrm||NoSuf|ImmExt, { RegXMM|Unspecified|BaseIndex, RegXMM } +@@ -1456,7 +1550,7 @@ pclmulhqhqdq, 0x660f3a44/0x11, < + + // GFNI + +- ++ + + gf2p8affineqb, 0x660f3ace, GFNI, Modrm||NoSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM } + gf2p8affineinvqb, 0x660f3acf, GFNI, Modrm||NoSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM } +@@ -1475,7 +1569,10 @@ gf2p8mulb, 0x660f38cf, G + true_us:1f:C> + + // is used for VEX instructions with x/y suffixes. +-, for match_template()'s EVEX-to-VEX lowering to ++// continue to work. ++, 0x2f, AVX, Modrm|Ve + vcvtdq2pd, 0xf3e6, AVX, Modrm|Vex128|Space0F|VexWIG|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } + vcvtdq2pd, 0xf3e6, AVX, Modrm|Vex256|Space0F|VexWIG|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } + vcvtdq2ps, 0x5b, AVX, Modrm|Vex|Space0F|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } +-vcvtpd2dq, 0xf2e6, AVX, Modrm||Space0F|VexWIG|NoSuf|, { , RegXMM } +-vcvtpd2ps, 0x665a, AVX, Modrm||Space0F|VexWIG|NoSuf|, { , RegXMM } ++vcvtpd2dq, 0xf2e6, AVX, Modrm||Space0F|VexWIG|NoSuf|, { , RegXMM } ++vcvtpd2ps, 0x665a, AVX, Modrm||Space0F|VexWIG|NoSuf|, { , RegXMM } + vcvtps2dq, 0x665b, AVX, Modrm|Vex|Space0F|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } + vcvtps2pd, 0x5a, AVX, Modrm|Vex128|Space0F|VexWIG|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } + vcvtps2pd, 0x5a, AVX, Modrm|Vex256|Space0F|VexWIG|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } +@@ -1510,7 +1607,7 @@ vcvtsd2ss, 0xf25a, AVX, Modrm|Vex=3|Spac + vcvtsi2s, 0x2a, AVX, Modrm|VexLIG|Space0F|VexVVVV|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|ATTSyntax, { Reg32|Reg64|Unspecified|BaseIndex, RegXMM, RegXMM } + vcvtsi2s, 0x2a, AVX, Modrm|VexLIG|Space0F|VexVVVV|No_bSuf|No_wSuf|No_sSuf|IntelSyntax, { Reg32|Reg64|Unspecified|BaseIndex, RegXMM, RegXMM } + vcvtss2sd, 0xf35a, AVX, Modrm|Vex=3|Space0F|VexVVVV|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vcvttpd2dq, 0x66e6, AVX, Modrm||Space0F|VexWIG|NoSuf|, { , RegXMM } ++vcvttpd2dq, 0x66e6, AVX, Modrm||Space0F|VexWIG|NoSuf|, { , RegXMM } + vcvttps2dq, 0xf35b, AVX, Modrm|Vex|Space0F|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } + vcvtts2si, 0x2c, AVX, Modrm|VexLIG|Space0F|No_bSuf|No_wSuf|No_sSuf, { |Unspecified|BaseIndex|RegXMM, Reg32|Reg64 } + vdivp, 0x5e, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +@@ -1518,8 +1615,8 @@ vdivs, 0x5e, AVX, Modrm|Vex + vdppd, 0x6641, AVX, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } + vdpps, 0x6640, AVX, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vextractf128, 0x6619, AVX, Modrm|Vex=2|Space0F3A|VexW=1|NoSuf, { Imm8, RegYMM, Unspecified|BaseIndex|RegXMM } +-vextractps, 0x6617, AVX, Modrm|Vex|Space0F3A|VexWIG|NoSuf, { Imm8, RegXMM, Reg32|Dword|Unspecified|BaseIndex } +-vextractps, 0x6617, AVX|x64, RegMem|Vex|Space0F3A|VexWIG|NoSuf, { Imm8, RegXMM, Reg64 } ++vextractps, 0x6617, AVX|AVX512F, Modrm|Vex128|EVex128|Space0F3A|VexWIG|Disp8MemShift=2|NoSuf, { Imm8, RegXMM, Reg32|Unspecified|BaseIndex } ++vextractps, 0x6617, x64&(AVX|AVX512F), RegMem|Vex128|EVex128|Space0F3A|VexWIG|NoSuf, { Imm8, RegXMM, Reg64 } + vhaddpd, 0x667c, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vhaddps, 0xf27c, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vhsubpd, 0x667d, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +@@ -1541,8 +1638,8 @@ vmovap, 0x28, AVX, D|Modrm| + // by Intel AVX spec). To avoid extra template in gcc x86 backend and + // support assembler for AMD64, we accept 64bit operand on vmovd so + // that we can use one template for both SSE and AVX instructions. +-vmovd, 0x666e, AVX, D|Modrm|Vex=1|Space0F|NoSuf, { Reg32|Unspecified|BaseIndex, RegXMM } +-vmovd, 0x667e, AVX|x64, D|RegMem|Vex=1|Space0F|VexW=2|NoSuf|Size64, { RegXMM, Reg64 } ++vmovd, 0x666e, AVX|AVX512F, D|Modrm|Vex128|EVex128|Space0F|Disp8MemShift=2|NoSuf, { Reg32|Unspecified|BaseIndex, RegXMM } ++vmovd, 0x667e, AVX&x64, D|RegMem|Vex=1|Space0F|VexW=2|NoSuf|Size64, { RegXMM, Reg64 } + vmovddup, 0xf212, AVX, Modrm|Vex|Space0F|VexWIG|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } + vmovddup, 0xf212, AVX, Modrm|Vex=2|Space0F|VexWIG|NoSuf, { Unspecified|BaseIndex|RegYMM, RegYMM } + vmovdqa, 0x666f, AVX, D|Modrm|Vex|Space0F|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } +@@ -1559,7 +1656,7 @@ vmovntdqa, 0x662a, AVX|AVX2, Modrm|Vex|S + vmovntp, 0x2b, AVX, Modrm|Vex|Space0F|VexWIG|CheckOperandSize|NoSuf, { RegXMM|RegYMM, Xmmword|Ymmword|Unspecified|BaseIndex } + vmovq, 0xf37e, AVX, Load|Modrm|Vex=1|Space0F|VexWIG|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } + vmovq, 0x66d6, AVX, Modrm|Vex=1|Space0F|VexWIG|NoSuf, { RegXMM, Qword|Unspecified|BaseIndex|RegXMM } +-vmovq, 0x666e, AVX|x64, D|Modrm|Vex=1|Space0F|VexW=2|NoSuf|Size64, { Reg64|Unspecified|BaseIndex, RegXMM } ++vmovq, 0x666e, x64&(AVX|AVX512F), D|Modrm|Vex128|EVex128|Space0F|VexW1|Disp8MemShift=3|NoSuf, { Reg64|Unspecified|BaseIndex, RegXMM } + vmovs, 0x10, AVX, D|Modrm|VexLIG|Space0F|VexWIG|NoSuf, { |Unspecified|BaseIndex, RegXMM } + vmovs, 0x10, AVX, D|Modrm|VexLIG|Space0F|VexVVVV|VexWIG|NoSuf, { RegXMM, RegXMM, RegXMM } + vmovshdup, 0xf316, AVX, Modrm|Vex|Space0F|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } +@@ -1588,20 +1685,22 @@ vpblendvb, 0x664c, AVX|AVX2, Modrm|Vex|S + vpblendw, 0x660e, AVX|AVX2, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vpcmpeq, 0x6674 | , AVX|AVX2, Modrm|C|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vpcmpeqd, 0x6676, AVX|AVX2, Modrm|C|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vpcmpeqq, 0x6629, AVX|AVX2, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vpcmpestri, 0x6661, AVX|No64, Modrm|Vex|Space0F3A|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegXMM } +-vpcmpestri, 0x6661, AVX|x64, Modrm|Vex|Space0F3A|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM } +-vpcmpestrm, 0x6660, AVX|No64, Modrm|Vex|Space0F3A|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegXMM } +-vpcmpestrm, 0x6660, AVX|x64, Modrm|Vex|Space0F3A|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM } +-vpcmpgt, 0x6664 | , AVX|AVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vpcmpgtd, 0x6666, AVX|AVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vpcmpgtq, 0x6637, AVX|AVX2, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vpcmpeqq, 0x6629, AVX|AVX2, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf|Optimize, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vpcmpestri, 0x6661, AVX&No64, Modrm|Vex|Space0F3A|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegXMM } ++vpcmpestri, 0x6661, AVX&x64, Modrm|Vex|Space0F3A|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM } ++vpcmpestrm, 0x6660, AVX&No64, Modrm|Vex|Space0F3A|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegXMM } ++vpcmpestrm, 0x6660, AVX&x64, Modrm|Vex|Space0F3A|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegXMM, RegXMM } ++vpcmpgt, 0x6664 | , AVX|AVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf|Optimize, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vpcmpgtd, 0x6666, AVX|AVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf|Optimize, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vpcmpgtq, 0x6637, AVX|AVX2, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf|Optimize, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vpcmpistri, 0x6663, AVX, Modrm|Vex|Space0F3A|VexWIG|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegXMM } + vpcmpistrm, 0x6662, AVX, Modrm|Vex|Space0F3A|VexWIG|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegXMM } + vperm2f128, 0x6606, AVX, Modrm|Vex256|Space0F3A|VexVVVV|VexW0|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM } +-vpermilp, 0x660c | , AVX, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vpermilp, 0x6604 | , AVX, Modrm|Vex|Space0F3A|VexW0|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } +-vpextr, 0x6616, AVX|, Modrm|Vex|Space0F3A||NoSuf, { Imm8, RegXMM, |Unspecified|BaseIndex } ++vpermilps, 0x660c, AVX|AVX512F, Modrm|Vex|EVexDYN|Masking|Space0F38|VexVVVV|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vpermilps, 0x6604, AVX|AVX512F, Modrm|Vex|EVexDYN|Masking|Space0F3A|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } ++vpermilpd, 0x660d, AVX, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vpermilpd, 0x6605, AVX, Modrm|Vex|Space0F3A|VexW0|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } ++vpextr, 0x6616, AVX&, Modrm|Vex|Space0F3A||NoSuf, { Imm8, RegXMM, |Unspecified|BaseIndex } + vpextrw, 0x66c5, AVX, Load|Modrm|Vex|Space0F|VexWIG|No_bSuf|No_wSuf|No_sSuf, { Imm8, RegXMM, Reg32|Reg64 } + vpextr, 0x6614 | , AVX, RegMem|Vex|Space0F3A|VexWIG|NoSuf, { Imm8, RegXMM, Reg32|Reg64 } + vpextr, 0x6614 | , AVX, Modrm|Vex|Space0F3A|VexWIG|NoSuf, { Imm8, RegXMM, |Unspecified|BaseIndex } +@@ -1614,7 +1713,7 @@ vphsubsw, 0x6607, AVX|AVX2, Modrm|Vex|Sp + vphsubw, 0x6605, AVX|AVX2, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vpinsrb, 0x6620, AVX, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8, Reg32|Reg64, RegXMM, RegXMM } + vpinsrb, 0x6620, AVX, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8, Byte|Unspecified|BaseIndex, RegXMM, RegXMM } +-vpinsr, 0x6622, AVX|, Modrm|Vex|Space0F3A|VexVVVV||NoSuf, { Imm8, |Unspecified|BaseIndex, RegXMM, RegXMM } ++vpinsr, 0x6622, AVX&, Modrm|Vex|Space0F3A|VexVVVV||NoSuf, { Imm8, |Unspecified|BaseIndex, RegXMM, RegXMM } + vpinsrw, 0x66c4, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|No_bSuf|No_wSuf|No_sSuf, { Imm8, Reg32|Reg64, RegXMM, RegXMM } + vpinsrw, 0x66c4, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|NoSuf, { Imm8, Word|Unspecified|BaseIndex, RegXMM, RegXMM } + vpmaddubsw, 0x6604, AVX|AVX2, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +@@ -1632,18 +1731,18 @@ vpminub, 0x66da, AVX|AVX2, Modrm|C|Vex|S + vpminud, 0x663b, AVX|AVX2, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vpminuw, 0x663a, AVX|AVX2, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vpmovmskb, 0x66d7, AVX|AVX2, Modrm|Vex|Space0F|VexWIG|No_bSuf|No_wSuf|No_sSuf, { RegXMM|RegYMM, Reg32|Reg64 } +-vpmovsxbd, 0x6621, AVX, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM } +-vpmovsxbq, 0x6622, AVX, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Word|Unspecified|BaseIndex|RegXMM, RegXMM } ++vpmovsxbd, 0x6621, AVX|AVX512VL, Modrm|Vex128|EVex128|Masking|Space0F38|VexWIG|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM } ++vpmovsxbq, 0x6622, AVX|AVX512VL, Modrm|Vex128|EVex128|Masking|Space0F38|VexWIG|Disp8MemShift=1|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM } + vpmovsxbw, 0x6620, AVX, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } + vpmovsxdq, 0x6625, AVX, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } +-vpmovsxwd, 0x6623, AVX, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } +-vpmovsxwq, 0x6624, AVX, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM } +-vpmovzxbd, 0x6631, AVX, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM } +-vpmovzxbq, 0x6632, AVX, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Word|Unspecified|BaseIndex|RegXMM, RegXMM } ++vpmovsxwd, 0x6623, AVX|AVX512VL, Modrm|Vex128|EVex128|Masking|Space0F38|VexWIG|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } ++vpmovsxwq, 0x6624, AVX|AVX512VL, Modrm|Vex128|EVex128|Masking|Space0F38|VexWIG|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM } ++vpmovzxbd, 0x6631, AVX|AVX512VL, Modrm|Vex128|EVex128|Masking|Space0F38|VexWIG|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM } ++vpmovzxbq, 0x6632, AVX|AVX512VL, Modrm|Vex128|EVex128|Masking|Space0F38|VexWIG|Disp8MemShift=1|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM } + vpmovzxbw, 0x6630, AVX, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } + vpmovzxdq, 0x6635, AVX, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } +-vpmovzxwd, 0x6633, AVX, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } +-vpmovzxwq, 0x6634, AVX, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM } ++vpmovzxwd, 0x6633, AVX|AVX512VL, Modrm|Vex128|EVex128|Masking|Space0F38|VexWIG|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } ++vpmovzxwq, 0x6634, AVX|AVX512VL, Modrm|Vex128|EVex128|Masking|Space0F38|VexWIG|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM } + vpmuldq, 0x6628, AVX|AVX2, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vpmulhrsw, 0x660b, AVX|AVX2, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vpmulhuw, 0x66e4, AVX|AVX2, Modrm|C|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +@@ -1710,39 +1809,40 @@ vzeroupper, 0x77, AVX, Vex|Space0F|VexWI + + // 256bit integer AVX2 instructions. + +-vpmovsxbd, 0x6621, AVX2, Modrm|Vex=2|Space0F38|VexWIG|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegYMM } +-vpmovsxbq, 0x6622, AVX2, Modrm|Vex=2|Space0F38|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegYMM } ++vpmovsxbd, 0x6621, AVX2|AVX512VL, Modrm|Vex256|EVex256|Masking|Space0F38|VexWIG|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM } ++vpmovsxbq, 0x6622, AVX2|AVX512VL, Modrm|Vex256|EVex256|Masking|Space0F38|VexWIG|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } + vpmovsxbw, 0x6620, AVX2, Modrm|Vex=2|Space0F38|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegYMM } + vpmovsxdq, 0x6625, AVX2, Modrm|Vex=2|Space0F38|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegYMM } +-vpmovsxwd, 0x6623, AVX2, Modrm|Vex=2|Space0F38|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegYMM } +-vpmovsxwq, 0x6624, AVX2, Modrm|Vex=2|Space0F38|VexWIG|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegYMM } +-vpmovzxbd, 0x6631, AVX2, Modrm|Vex=2|Space0F38|VexWIG|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegYMM } +-vpmovzxbq, 0x6632, AVX2, Modrm|Vex=2|Space0F38|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegYMM } ++vpmovsxwd, 0x6623, AVX2|AVX512VL, Modrm|Vex256|EVex256|Masking|Space0F38|VexWIG|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } ++vpmovsxwq, 0x6624, AVX2|AVX512VL, Modrm|Vex256|EVex256|Masking|Space0F38|VexWIG|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM } ++vpmovzxbd, 0x6631, AVX2|AVX512VL, Modrm|Vex256|EVex256|Masking|Space0F38|VexWIG|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM } ++vpmovzxbq, 0x6632, AVX2|AVX512VL, Modrm|Vex256|EVex256|Masking|Space0F38|VexWIG|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } + vpmovzxbw, 0x6630, AVX2, Modrm|Vex=2|Space0F38|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegYMM } + vpmovzxdq, 0x6635, AVX2, Modrm|Vex=2|Space0F38|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegYMM } +-vpmovzxwd, 0x6633, AVX2, Modrm|Vex=2|Space0F38|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegYMM } +-vpmovzxwq, 0x6634, AVX2, Modrm|Vex=2|Space0F38|VexWIG|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegYMM } ++vpmovzxwd, 0x6633, AVX2|AVX512VL, Modrm|Vex256|EVex256|Masking|Space0F38|VexWIG|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } ++vpmovzxwq, 0x6634, AVX2|AVX512VL, Modrm|Vex256|EVex256|Masking|Space0F38|VexWIG|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM } + + // New AVX2 instructions. + + vbroadcasti128, 0x665A, AVX2, Modrm|Vex=2|Space0F38|VexW=1|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM } + vbroadcastsd, 0x6619, AVX2, Modrm|Vex=2|Space0F38|VexW=1|NoSuf, { RegXMM, RegYMM } +-vbroadcastss, 0x6618, AVX2, Modrm|Vex|Space0F38|VexW=1|NoSuf, { RegXMM, RegXMM|RegYMM } ++vbroadcastss, 0x6618, AVX2|AVX512F, Modrm|Vex|EVexDYN|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + vpblendd, 0x6602, AVX2, Modrm|Vex|Space0F3A|VexVVVV|VexW0|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + vpbroadcast, 0x6678 | , AVX2, Modrm|Vex|Space0F38|VexW0|NoSuf, { |Unspecified|BaseIndex|RegXMM, RegXMM|RegYMM } +-vpbroadcast, 0x6658 | , AVX2, Modrm|Vex|Space0F38|VexW0|NoSuf, { |Unspecified|BaseIndex|RegXMM, RegXMM|RegYMM } ++vpbroadcastd, 0x6658, AVX2|AVX512F, Modrm|Vex|EVexDYN|Masking|Space0F38|VexW0|Disp8MemShift|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } ++vpbroadcastq, 0x6659, AVX2, Modrm|Vex|Space0F38|VexW0|NoSuf|Optimize, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM } + vperm2i128, 0x6646, AVX2, Modrm|Vex=2|Space0F3A|VexVVVV|VexW0|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM } +-vpermd, 0x6636, AVX2, Modrm|Vex256|Space0F38|VexVVVV|VexW0|NoSuf, { Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM } +-vpermpd, 0x6601, AVX2, Modrm|Vex=2|Space0F3A|VexW1|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegYMM, RegYMM } +-vpermps, 0x6616, AVX2, Modrm|Vex256|Space0F38|VexVVVV|VexW0|NoSuf, { Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM } +-vpermq, 0x6600, AVX2, Modrm|Vex=2|Space0F3A|VexW1|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegYMM, RegYMM } ++vpermd, 0x6636, AVX2|AVX512F, Modrm|Vex256|EVexDYN|Masking|Space0F38|VexVVVV|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM } ++vpermpd, 0x6601, AVX2|AVX512F, Modrm|Vex256|EVexDYN|Masking|Space0F3A|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM } ++vpermps, 0x6616, AVX2|AVX512F, Modrm|Vex256|EVexDYN|Masking|Space0F38|VexVVVV|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM } ++vpermq, 0x6600, AVX2|AVX512F, Modrm|Vex256|EVexDYN|Masking|Space0F3A|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM } + vextracti128, 0x6639, AVX2, Modrm|Vex=2|Space0F3A|VexW=1|NoSuf, { Imm8, RegYMM, Unspecified|BaseIndex|RegXMM } + vinserti128, 0x6638, AVX2, Modrm|Vex256|Space0F3A|VexVVVV|VexW0|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegYMM, RegYMM } + vpmaskmov, 0x668e, AVX2, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { RegXMM|RegYMM, RegXMM|RegYMM, Xmmword|Ymmword|Unspecified|BaseIndex } + vpmaskmov, 0x668c, AVX2, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } +-vpsllv, 0x6647, AVX2, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vpsravd, 0x6646, AVX2, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vpsrlv, 0x6645, AVX2, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vpsllv, 0x6647, AVX2|AVX512F, Modrm|Vex|EVexDYN|Masking|Space0F38|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vpsravd, 0x6646, AVX2|AVX512F, Modrm|Vex|EVexDYN|Masking|Space0F38|VexVVVV|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vpsrlv, 0x6645, AVX2|AVX512F, Modrm|Vex|EVexDYN|Masking|Space0F38|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + + // AVX gather instructions + vgatherdpd, 0x6692, AVX2, Modrm|Vex|Space0F38|VexVVVV|VexW1|SwapSources|CheckOperandSize|NoSuf|VecSIB128, { RegXMM|RegYMM, Qword|Unspecified|BaseIndex, RegXMM|RegYMM } +@@ -1760,26 +1860,26 @@ vpgatherqq, 0x6691, AVX2, Modrm|Vex256|S + + // AES + AVX + +-vaesdec, 0x66de, AVX|AES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vaesdeclast, 0x66df, AVX|AES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vaesenc, 0x66dc, AVX|AES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vaesenclast, 0x66dd, AVX|AES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vaesimc, 0x66db, AVX|AES, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegXMM } +-vaeskeygenassist, 0x66df, AVX|AES, Modrm|Vex|Space0F3A|VexWIG|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegXMM } ++vaesdec, 0x66de, AVX&AES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vaesdeclast, 0x66df, AVX&AES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vaesenc, 0x66dc, AVX&AES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vaesenclast, 0x66dd, AVX&AES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vaesimc, 0x66db, AVX&AES, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegXMM } ++vaeskeygenassist, 0x66df, AVX&AES, Modrm|Vex|Space0F3A|VexWIG|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegXMM } + + // PCLMULQDQ + AVX + +-vpclmulqdq, 0x6644, AVX|PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vpclmullqlqdq, 0x6644/0x00, AVX|PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vpclmulhqlqdq, 0x6644/0x01, AVX|PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vpclmullqhqdq, 0x6644/0x10, AVX|PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vpclmulhqhqdq, 0x6644/0x11, AVX|PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vpclmulqdq, 0x6644, AVX&PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vpclmullqlqdq, 0x6644/0x00, AVX&PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vpclmulhqlqdq, 0x6644/0x01, AVX&PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vpclmullqhqdq, 0x6644/0x10, AVX&PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vpclmulhqhqdq, 0x6644/0x11, AVX&PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } + + // GFNI + AVX + +-vgf2p8affineinvqb, 0x66cf, AVX|GFNI, Modrm|Vex|Space0F3A|VexVVVV|VexW1|CheckOperandSize|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vgf2p8affineqb, 0x66ce, AVX|GFNI, Modrm|Vex|Space0F3A|VexVVVV|VexW1|CheckOperandSize|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vgf2p8mulb, 0x66cf, AVX|GFNI, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vgf2p8affineinvqb, 0x66cf, AVX&GFNI, Modrm|Vex|Space0F3A|VexVVVV|VexW1|CheckOperandSize|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vgf2p8affineqb, 0x66ce, AVX&GFNI, Modrm|Vex|Space0F3A|VexVVVV|VexW1|CheckOperandSize|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vgf2p8mulb, 0x66cf, GFNI&(AVX|AVX512F), Modrm|Vex|EVexDYN|Masking|Space0F38|VexVVVV|VexW0|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + + // FSGSBASE, RDRND and F16C + +@@ -1797,16 +1897,21 @@ vcvtps2ph, 0x661d, F16C, Modrm|Vex=2|Spa + + + +-vfmaddp, 0x6688 | 0x, FMA, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vfmadds, 0x6689 | 0x, FMA, Modrm|VexLIG|Space0F38|VexVVVV||NoSuf, { |Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vfmaddsubp, 0x6686 | 0x, FMA, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vfmsubp, 0x668a | 0x, FMA, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vfmsubs, 0x668b | 0x, FMA, Modrm|VexLIG|Space0F38|VexVVVV||NoSuf, { |Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vfmsubaddp, 0x6687 | 0x, FMA, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vfnmaddp, 0x668c | 0x, FMA, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vfnmadds, 0x668d | 0x, FMA, Modrm|VexLIG|Space0F38|VexVVVV||NoSuf, { |Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vfnmsubp, 0x668e | 0x, FMA, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vfnmsubs, 0x668f | 0x, FMA, Modrm|VexLIG|Space0F38|VexVVVV||NoSuf, { |Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++ ++ ++vfmaddp, 0x6688 | 0x, , Modrm||Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vfmadds, 0x6689 | 0x, , Modrm||Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } ++vfmaddsubp, 0x6686 | 0x, , Modrm||Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vfmsubp, 0x668a | 0x, , Modrm||Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vfmsubs, 0x668b | 0x, , Modrm||Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } ++vfmsubaddp, 0x6687 | 0x, , Modrm||Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vfnmaddp, 0x668c | 0x, , Modrm||Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vfnmadds, 0x668d | 0x, , Modrm||Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } ++vfnmsubp, 0x668e | 0x, , Modrm||Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vfnmsubs, 0x668f | 0x, , Modrm||Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } + + // HLE prefixes + +@@ -1821,14 +1926,14 @@ xtest, 0xf01d6, HLE|RTM, NoSuf, {} + + // BMI2 instructions. + +-bzhi, 0xf5, BMI2, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|SwapSources|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } +-mulx, 0xf2f6, BMI2, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } +-pdep, 0xf2f5, BMI2, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } +-pext, 0xf3f5, BMI2, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } +-rorx, 0xf2f0, BMI2, Modrm|CheckOperandSize|Vex128|Space0F3A|No_bSuf|No_wSuf|No_sSuf, { Imm8|Imm8S, Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex, Reg32|Reg64 } +-sarx, 0xf3f7, BMI2, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|SwapSources|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } +-shlx, 0x66f7, BMI2, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|SwapSources|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } +-shrx, 0xf2f7, BMI2, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|SwapSources|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++bzhi, 0xf5, APX_F(BMI2), Modrm|CheckOperandSize|Vex128|EVex128|Space0F38|VexVVVV|SwapSources|No_bSuf|No_wSuf|No_sSuf|NF, { Reg32|Reg64, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++mulx, 0xf2f6, APX_F(BMI2), Modrm|CheckOperandSize|Vex128|EVex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } ++pdep, 0xf2f5, APX_F(BMI2), Modrm|CheckOperandSize|Vex128|EVex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } ++pext, 0xf3f5, APX_F(BMI2), Modrm|CheckOperandSize|Vex128|EVex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } ++rorx, 0xf2f0, APX_F(BMI2), Modrm|CheckOperandSize|Vex128|EVex128|Space0F3A|No_bSuf|No_wSuf|No_sSuf, { Imm8|Imm8S, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++sarx, 0xf3f7, APX_F(BMI2), Modrm|CheckOperandSize|Vex128|EVex128|Space0F38|VexVVVV|SwapSources|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++shlx, 0x66f7, APX_F(BMI2), Modrm|CheckOperandSize|Vex128|EVex128|Space0F38|VexVVVV|SwapSources|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++shrx, 0xf2f7, APX_F(BMI2), Modrm|CheckOperandSize|Vex128|EVex128|Space0F38|VexVVVV|SwapSources|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } + + // FMA4 instructions + +@@ -1898,12 +2003,12 @@ lwpins, 0x12/0, LWP, Modrm|SpaceXOP0A|No + + // BMI instructions + +-andn, 0xf2, BMI, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } +-bextr, 0xf7, BMI, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|SwapSources|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } +-blsi, 0xf3/3, BMI, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } +-blsmsk, 0xf3/2, BMI, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } +-blsr, 0xf3/1, BMI, Modrm|CheckOperandSize|Vex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } +-tzcnt, 0xf30fbc, BMI, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++andn, 0xf2, APX_F(BMI), Modrm|CheckOperandSize|Vex128|EVex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf|NF, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } ++bextr, 0xf7, APX_F(BMI), Modrm|CheckOperandSize|Vex128|EVex128|Space0F38|VexVVVV|SwapSources|No_bSuf|No_wSuf|No_sSuf|NF, { Reg32|Reg64, Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++blsi, 0xf3/3, APX_F(BMI), Modrm|CheckOperandSize|Vex128|EVex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf|NF, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++blsmsk, 0xf3/2, APX_F(BMI), Modrm|CheckOperandSize|Vex128|EVex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf|NF, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++blsr, 0xf3/1, APX_F(BMI), Modrm|CheckOperandSize|Vex128|EVex128|Space0F38|VexVVVV|No_bSuf|No_wSuf|No_sSuf|NF, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++tzcnt, 0xf30fbc, BMI, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } + + // TBM instructions + +@@ -1980,10 +2085,10 @@ insertq, 0xf20f79, SSE4a, Modrm|NoSuf, { + insertq, 0xf20f78, SSE4a, Modrm|NoSuf, { Imm8, Imm8, RegXMM, RegXMM } + + // LZCNT instruction +-lzcnt, 0xf30fbd, LZCNT, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++lzcnt, 0xf30fbd, LZCNT, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } + + // POPCNT instruction +-popcnt, 0xf30fb8, POPCNT, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++popcnt, 0xf30fb8, POPCNT, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } + + // VIA PadLock extensions. + xstore-rng, 0xfa7c0, PadLock, NoSuf|RepPrefixOk, {} +@@ -2006,8 +2111,12 @@ xcryptofb, 0xf30fa7e8, PadLock, NoSuf|Re + xstore, 0xfa7c0, PadLock, NoSuf|RepPrefixOk, {} + + // Multy-precision Add Carry, rdseed instructions. ++adcx, 0x6666, ADX&APX_F, C|Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|DstVVVV|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } + adcx, 0x660f38f6, ADX, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++adcx, 0x6666, ADX&APX_F, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++adox, 0xf366, ADX&APX_F, C|Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|DstVVVV|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 } + adox, 0xf30f38f6, ADX, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } ++adox, 0xf366, ADX&APX_F, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 } + rdseed, 0xfc7/7, RdSeed, Modrm|NoSuf, { Reg16|Reg32|Reg64 } + + // SMAP instructions. +@@ -2020,54 +2129,80 @@ bnd, 0xf2, MPX, NoSuf|IsPrefix, {} + // MPX instructions. + bndmk, 0xf30f1b, MPX, Modrm|Anysize|IgnoreSize|NoSuf, { BaseIndex, RegBND } + bndmov, 0x660f1a, MPX, D|Modrm|NoSuf, { Xmmword|Unspecified|BaseIndex|RegBND, RegBND } +-bndcl, 0xf30f1a, MPX|No64, Modrm|Anysize|IgnoreSize|NoSuf, { Reg32|BaseIndex, RegBND } +-bndcl, 0xf30f1a, MPX|x64, Modrm|Anysize|IgnoreSize|NoSuf|NoRex64, { Reg64|BaseIndex, RegBND } +-bndcu, 0xf20f1a, MPX|No64, Modrm|Anysize|IgnoreSize|NoSuf, { Reg32|BaseIndex, RegBND } +-bndcu, 0xf20f1a, MPX|x64, Modrm|Anysize|IgnoreSize|NoSuf|NoRex64, { Reg64|BaseIndex, RegBND } +-bndcn, 0xf20f1b, MPX|No64, Modrm|Anysize|IgnoreSize|NoSuf, { Reg32|BaseIndex, RegBND } +-bndcn, 0xf20f1b, MPX|x64, Modrm|Anysize|IgnoreSize|NoSuf|NoRex64, { Reg64|BaseIndex, RegBND } ++bndcl, 0xf30f1a, MPX&No64, Modrm|Anysize|IgnoreSize|NoSuf, { Reg32|BaseIndex, RegBND } ++bndcl, 0xf30f1a, MPX&x64, Modrm|Anysize|IgnoreSize|NoSuf|NoRex64, { Reg64|BaseIndex, RegBND } ++bndcu, 0xf20f1a, MPX&No64, Modrm|Anysize|IgnoreSize|NoSuf, { Reg32|BaseIndex, RegBND } ++bndcu, 0xf20f1a, MPX&x64, Modrm|Anysize|IgnoreSize|NoSuf|NoRex64, { Reg64|BaseIndex, RegBND } ++bndcn, 0xf20f1b, MPX&No64, Modrm|Anysize|IgnoreSize|NoSuf, { Reg32|BaseIndex, RegBND } ++bndcn, 0xf20f1b, MPX&x64, Modrm|Anysize|IgnoreSize|NoSuf|NoRex64, { Reg64|BaseIndex, RegBND } + bndstx, 0x0f1b, MPX, Modrm|Anysize|IgnoreSize|NoSuf, { RegBND, BaseIndex } + bndldx, 0x0f1a, MPX, Modrm|Anysize|IgnoreSize|NoSuf, { BaseIndex, RegBND } + + // SHA instructions. + sha1rnds4, 0xf3acc, SHA, Modrm|NoSuf, { Imm8|Imm8S, RegXMM|Unspecified|BaseIndex, RegXMM } ++sha1rnds4, 0xd4, SHA&APX_F, Modrm|NoSuf|EVexMap4, { Imm8|Imm8S, RegXMM|Unspecified|BaseIndex, RegXMM } + sha1nexte, 0xf38c8, SHA, Modrm|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } ++sha1nexte, 0xd8, SHA&APX_F, Modrm|NoSuf|EVexMap4, { RegXMM|Unspecified|BaseIndex, RegXMM } + sha1msg1, 0xf38c9, SHA, Modrm|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } ++sha1msg1, 0xd9, SHA&APX_F, Modrm|NoSuf|EVexMap4, { RegXMM|Unspecified|BaseIndex, RegXMM } + sha1msg2, 0xf38ca, SHA, Modrm|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } ++sha1msg2, 0xda, SHA&APX_F, Modrm|NoSuf|EVexMap4, { RegXMM|Unspecified|BaseIndex, RegXMM } + sha256rnds2, 0xf38cb, SHA, Modrm|NoSuf, { Acc|Xmmword, RegXMM|Unspecified|BaseIndex, RegXMM } ++sha256rnds2, 0xdb, SHA&APX_F, Modrm|NoSuf|EVexMap4, { Acc|Xmmword, RegXMM|Unspecified|BaseIndex, RegXMM } + sha256rnds2, 0xf38cb, SHA, Modrm|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } ++sha256rnds2, 0xdb, SHA&APX_F, Modrm|NoSuf|EVexMap4, { RegXMM|Unspecified|BaseIndex, RegXMM } + sha256msg1, 0xf38cc, SHA, Modrm|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } ++sha256msg1, 0xdc, SHA&APX_F, Modrm|NoSuf|EVexMap4, { RegXMM|Unspecified|BaseIndex, RegXMM } + sha256msg2, 0xf38cd, SHA, Modrm|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } ++sha256msg2, 0xdd, SHA&APX_F, Modrm|NoSuf|EVexMap4, { RegXMM|Unspecified|BaseIndex, RegXMM } ++ ++// SHA512 instructions. ++ ++vsha512rnds2, 0xf2cb, SHA512, Modrm|Vex256|Space0F38|VexVVVV|VexW0|NoSuf, { RegXMM, RegYMM, RegYMM } ++vsha512msg1, 0xf2cc, SHA512, Modrm|Vex256|Space0F38|VexW0|NoSuf, { RegXMM, RegYMM } ++vsha512msg2, 0xf2cd, SHA512, Modrm|Vex256|Space0F38|VexW0|NoSuf, { RegYMM, RegYMM } ++ ++// SHA512 instructions end. ++ ++// SM3 instructions. ++vsm3rnds2, 0x66de, SM3, Modrm|Space0F3A|Vex128|VexVVVV|VexW0|NoSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM } ++vsm3msg1, 0xda, SM3, Modrm|Space0F38|Vex128|VexVVVV|VexW0|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM } ++vsm3msg2, 0x66da, SM3, Modrm|Space0F38|Vex128|VexVVVV|VexW0|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM, RegXMM } ++ ++// SM3 instructions end. ++ ++// SM4 instructions. ++ ++vsm4key4, 0xf3da, SM4, Modrm|Space0F38|Vex|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++vsm4rnds4, 0xf2da, SM4, Modrm|Space0F38|Vex|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++ ++// SM4 instructions end. + + // VAES + +-vaesdec, 0x66de, VAES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } +-vaesdeclast, 0x66df, VAES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } +-vaesenc, 0x66dc, VAES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } +-vaesenclast, 0x66dd, VAES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++vaesdec, 0x66de, VAES&(AVX|AVX512F), Modrm|Vex|EVexDYN|Space0F38|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vaesdeclast, 0x66df, VAES&(AVX|AVX512F), Modrm|Vex|EVexDYN|Space0F38|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vaesenc, 0x66dc, VAES&(AVX|AVX512F), Modrm|Vex|EVexDYN|Space0F38|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vaesenclast, 0x66dd, VAES&(AVX|AVX512F), Modrm|Vex|EVexDYN|Space0F38|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + + // VAES instructions end + + // VPCLMULQDQ instructions + +-vpclmulqdq, 0x6644, VPCLMULQDQ, Modrm|Vex|Space0F3A|VexWIG|VexVVVV|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vpclmullqlqdq, 0x6644/0x00, VPCLMULQDQ, Modrm|Vex|Space0F3A|VexWIG|VexVVVV|CheckOperandSize|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vpclmulhqlqdq, 0x6644/0x01, VPCLMULQDQ, Modrm|Vex|Space0F3A|VexWIG|VexVVVV|CheckOperandSize|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vpclmullqhqdq, 0x6644/0x10, VPCLMULQDQ, Modrm|Vex|Space0F3A|VexWIG|VexVVVV|CheckOperandSize|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +-vpclmulhqhqdq, 0x6644/0x11, VPCLMULQDQ, Modrm|Vex|Space0F3A|VexWIG|VexVVVV|CheckOperandSize|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vpclmulqdq, 0x6644, VPCLMULQDQ&(AVX|AVX512F), Modrm|Space0F3A|Vex|EVexDYN|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vpclmullqlqdq, 0x6644/0x00, VPCLMULQDQ&(AVX|AVX512F), Modrm|Space0F3A|Vex|EVexDYN|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vpclmulhqlqdq, 0x6644/0x01, VPCLMULQDQ&(AVX|AVX512F), Modrm|Space0F3A|Vex|EVexDYN|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vpclmullqhqdq, 0x6644/0x10, VPCLMULQDQ&(AVX|AVX512F), Modrm|Space0F3A|Vex|EVexDYN|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vpclmulhqhqdq, 0x6644/0x11, VPCLMULQDQ&(AVX|AVX512F), Modrm|Space0F3A|Vex|EVexDYN|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + + // VPCLMULQDQ instructions end + + // AVX512F instructions. + +-#define Disp8ShiftVL Disp8MemShift=DISP8_SHIFT_VL +- +- +- + // is used for EVEX instructions with x/y suffixes. ++// NOTE: The order of the "unnamed" ($-prefixed) entries here needs to remain ++// in sync with , for match_template()'s EVEX-to-VEX lowering to ++// continue to work. + , 0x45, , Modrm + kxnor, 0x46, , Modrm|Vex256|Space0F|VexVVVV|VexW0|NoSuf, { RegMask, RegMask, RegMask } + kxor, 0x47, , Modrm|Vex256|Space0F|VexVVVV|VexW0|NoSuf, { RegMask, RegMask, RegMask } + +-kmov, 0x90, , Modrm|Vex128|Space0F|VexW0|NoSuf, { RegMask||Unspecified|BaseIndex, RegMask } +-kmov, 0x91, , Modrm|Vex128|Space0F|VexW0|NoSuf, { RegMask, |Unspecified|BaseIndex } +-kmov, 0x92, , D|Modrm|Vex128|Space0F|VexW0|NoSuf, { Reg32, RegMask } ++kmov, 0x90, APX_F(), Modrm|Vex128|EVex128|Space0F|VexW0|NoSuf, { RegMask||Unspecified|BaseIndex, RegMask } ++kmov, 0x91, APX_F(), Modrm|Vex128|EVex128|Space0F|VexW0|NoSuf, { RegMask, |Unspecified|BaseIndex } ++kmov, 0x92, APX_F(), D|Modrm|Vex128|EVex128|Space0F|VexW0|NoSuf, { Reg32, RegMask } + + knot, 0x44, , Modrm|Vex128|Space0F|VexW0|NoSuf, { RegMask, RegMask } + kortest, 0x98, , Modrm|Vex128|Space0F|VexW0|NoSuf, { RegMask, RegMask } +@@ -2120,9 +2255,7 @@ vpmuldq, 0x6628, AVX512F, Modrm|Masking| + vpmulld, 0x6640, AVX512F, Modrm|Masking|Space0F38|VexVVVV|VexW=1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + vprolv, 0x6615, AVX512F, Modrm|Masking|Space0F38|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + vprorv, 0x6614, AVX512F, Modrm|Masking|Space0F38|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vpsllv, 0x6647, AVX512F, Modrm|Masking|Space0F38|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vpsrav, 0x6646, AVX512F, Modrm|Masking|Space0F38|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vpsrlv, 0x6645, AVX512F, Modrm|Masking|Space0F38|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vpsravq, 0x6646, AVX512F, Modrm|Masking|Space0F38|VexVVVV|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + vpternlog, 0x6625, AVX512F, Modrm|Masking|Space0F3A|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + + vbroadcastf32x4, 0x661A, AVX512F, Modrm|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { XMMword|Unspecified|BaseIndex, RegYMM|RegZMM } +@@ -2131,10 +2264,9 @@ vbroadcasti32x4, 0x665A, AVX512F, Modrm| + vbroadcastf64x4, 0x661B, AVX512F, Modrm|EVex=1|Masking|Space0F38|VexW=2|Disp8MemShift=5|NoSuf, { YMMword|Unspecified|BaseIndex, RegZMM } + vbroadcasti64x4, 0x665B, AVX512F, Modrm|EVex=1|Masking|Space0F38|VexW=2|Disp8MemShift=5|NoSuf, { YMMword|Unspecified|BaseIndex, RegZMM } + +-vbroadcastss, 0x6618, AVX512F, Modrm|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + vbroadcastsd, 0x6619, AVX512F, Modrm|Masking|Space0F38|VexW1|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM } + +-vpbroadcast, 0x6658 | , AVX512F, Modrm|Masking|Space0F38||Disp8MemShift|NoSuf, { RegXMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } ++vpbroadcastq, 0x6659, AVX512F, Modrm|Masking|Space0F38|VexW1|Disp8MemShift|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + vpbroadcast, 0x667c, AVX512F, Modrm|Masking|Space0F38||NoSuf, { , RegXMM|RegYMM|RegZMM } + + vcmpp, 0xC2/0x, AVX512F, Modrm|Masking|Space0F|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|ImmExt|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegMask } +@@ -2166,11 +2298,11 @@ vcvtudq2pd, 0xF37A, AVX512F, Modrm|EVex= + vcvtdq2ps, 0x5B, AVX512F, Modrm|Masking|Space0F|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + vcvtps2udq, 0x79, AVX512F, Modrm|Masking|Space0F|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + +-vcvtpd2dq, 0xf2e6, AVX512F|, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } ++vcvtpd2dq, 0xf2e6, AVX512F&, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } + +-vcvtpd2ps, 0x665a, AVX512F|, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } ++vcvtpd2ps, 0x665a, AVX512F&, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } + +-vcvtpd2udq, 0x79, AVX512F|, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } ++vcvtpd2udq, 0x79, AVX512F&, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } + + vcvtph2ps, 0x6613, AVX512F, Modrm|EVex512|Masking|Space0F38|VexW0|Disp8MemShift=5|NoSuf|SAE, { RegYMM|Unspecified|BaseIndex, RegZMM } + +@@ -2201,8 +2333,8 @@ vcvtusi2ss, 0xF37B, AVX512F, Modrm|EVexL + + vcvtss2sd, 0xF35A, AVX512F, Modrm|EVexLIG|Masking|Space0F|VexVVVV|VexW0|Disp8MemShift=2|NoSuf|SAE, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM } + +-vcvttpd2dq, 0x66e6, AVX512F|, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } +-vcvttpd2udq, 0x78, AVX512F|, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } ++vcvttpd2dq, 0x66e6, AVX512F&, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } ++vcvttpd2udq, 0x78, AVX512F&, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } + + vcvttps2dq, 0xF35B, AVX512F, Modrm|Masking|Space0F|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|SAE, { RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + vcvttps2udq, 0x78, AVX512F, Modrm|Masking|Space0F|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|SAE, { RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +@@ -2224,9 +2356,6 @@ vextracti32x4, 0x6639, AVX512F, Modrm|Ma + vextractf64x4, 0x661B, AVX512F, Modrm|EVex=1|Masking|Space0F3A|VexW=2|Disp8MemShift=5|NoSuf, { Imm8, RegZMM, RegYMM|Unspecified|BaseIndex } + vextracti64x4, 0x663B, AVX512F, Modrm|EVex=1|Masking|Space0F3A|VexW=2|Disp8MemShift=5|NoSuf, { Imm8, RegZMM, RegYMM|Unspecified|BaseIndex } + +-vextractps, 0x6617, AVX512F, Modrm|EVex128|Space0F3A|VexWIG|Disp8MemShift=2|NoSuf, { Imm8, RegXMM, Reg32|Dword|Unspecified|BaseIndex } +-vextractps, 0x6617, AVX512F|x64, RegMem|EVex128|Space0F3A|VexWIG|NoSuf, { Imm8, RegXMM, Reg64 } +- + vfixupimmp, 0x6654, AVX512F, Modrm|Masking|Space0F3A|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|SAE, { Imm8|Imm8S, RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + vfixupimms, 0x6655, AVX512F, Modrm|EVexLIG|Masking|Space0F3A|VexVVVV||Disp8MemShift|NoSuf|SAE, { Imm8|Imm8S, RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } + +@@ -2236,17 +2365,6 @@ vgetmants, 0x27, + vrndscalep, 0x08 | , , Modrm|Masking|Space0F3A||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|SAE, { Imm8, RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + vrndscales, 0x0a | , , Modrm|EVexLIG|Masking|Space0F3A|VexVVVV||Disp8MemShift|NoSuf|SAE, { Imm8, RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } + +-vfmaddp, 0x6688 | 0x, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vfmadds, 0x6689 | 0x, , Modrm|EVexLIG|Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } +-vfmaddsubp, 0x6686 | 0x, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vfmsubp, 0x668a | 0x, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vfmsubs, 0x668b | 0x, , Modrm|EVexLIG|Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } +-vfmsubaddp, 0x6687 | 0x, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vfnmaddp, 0x668c | 0x, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vfnmadds, 0x668d | 0x, , Modrm|EVexLIG|Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } +-vfnmsubp, 0x668e | 0x, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vfnmsubs, 0x668f | 0x, , Modrm|EVexLIG|Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } +- + vscalefp, 0x662c, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + vscalefs, 0x662d, , Modrm|EVexLIG|Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } + +@@ -2282,8 +2400,6 @@ vmovap, 0x28, AVX512F, D|Mo + vmovntp, 0x2B, AVX512F, Modrm|Space0F||Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM, XMMword|YMMword|ZMMword|Unspecified|BaseIndex } + vmovup, 0x10, AVX512F, D|Modrm|Masking|Space0F||Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + +-vmovd, 0x666E, AVX512F, D|Modrm|EVex=2|Space0F|Disp8MemShift=2|NoSuf, { Reg32|Unspecified|BaseIndex, RegXMM } +- + vmovddup, 0xF212, AVX512F, Modrm|Masking|Space0F|VexW=2|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegYMM|RegZMM|Unspecified|BaseIndex, RegYMM|RegZMM } + + vmovdqa64, 0x666F, AVX512F, D|Modrm|Masking|Space0F|VexW=2|Disp8ShiftVL|CheckOperandSize|NoSuf|Optimize, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +@@ -2300,7 +2416,6 @@ vmovhp, 0x17, AVX512F, Modr + vmovlp, 0x12, AVX512F, Modrm|EVexLIG|Space0F|VexVVVV||Disp8MemShift=3|NoSuf, { Qword|Unspecified|BaseIndex, RegXMM, RegXMM } + vmovlp, 0x13, AVX512F, Modrm|EVexLIG|Space0F||Disp8MemShift=3|NoSuf, { RegXMM, Qword|Unspecified|BaseIndex } + +-vmovq, 0x666E, AVX512F|x64, D|Modrm|EVex128|Space0F|VexW1|Disp8MemShift=3|NoSuf, { Reg64|Unspecified|BaseIndex, RegXMM } + vmovq, 0xF37E, AVX512F, Load|Modrm|EVex=2|Space0F|VexW1|Disp8MemShift=3|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } + vmovq, 0x66D6, AVX512F, Modrm|EVex=2|Space0F|VexW1|Disp8MemShift=3|NoSuf, { RegXMM, Qword|Unspecified|BaseIndex|RegXMM } + +@@ -2338,15 +2453,10 @@ vpcmpu, 0x661e/, AVX + vptestm, 0x6627, AVX512F, Modrm|Masking|Space0F38|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegMask } + vptestnm, 0xf327, AVX512F, Modrm|Masking|Space0F38|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegMask } + +-vpermd, 0x6636, AVX512F, Modrm|Masking|Space0F38|VexVVVV|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM } +-vpermps, 0x6616, AVX512F, Modrm|Masking|Space0F38|VexVVVV|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM } +- +-vpermilp, 0x6604 | , AVX512F, Modrm|Masking|Space0F3A||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +-vpermilp, 0x660C | , AVX512F, Modrm|Masking|Space0F38|VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vpermilpd, 0x6605, AVX512F, Modrm|Masking|Space0F3A|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } ++vpermilpd, 0x660d, AVX512F, Modrm|Masking|Space0F38|VexVVVV|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + +-vpermpd, 0x6601, AVX512F, Modrm|Masking|Space0F3A|VexW=2|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM } + vpermpd, 0x6616, AVX512F, Modrm|Masking|Space0F38|VexVVVV|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM } +-vpermq, 0x6600, AVX512F, Modrm|Masking|Space0F3A|VexW=2|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM } + vpermq, 0x6636, AVX512F, Modrm|Masking|Space0F38|VexVVVV|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM } + + vpmovdb, 0xF331, AVX512F, Modrm|EVex=1|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegZMM, RegXMM|Unspecified|BaseIndex } +@@ -2470,17 +2580,17 @@ clflushopt, 0x660fae/7, ClflushOpt, Modr + + // XSAVES/XRSTORS instructions. + +-xrstors, 0xfc7/3, XSAVES, Modrm|NoSuf, { Unspecified|BaseIndex } +-xrstors64, 0xfc7/3, XSAVES|x64, Modrm|NoSuf|Size64, { Unspecified|BaseIndex } +-xsaves, 0xfc7/5, XSAVES, Modrm|NoSuf, { Unspecified|BaseIndex } +-xsaves64, 0xfc7/5, XSAVES|x64, Modrm|NoSuf|Size64, { Unspecified|BaseIndex } ++xrstors, 0xfc7/3, XSAVES, Modrm|NoSuf|NoEgpr, { Unspecified|BaseIndex } ++xrstors64, 0xfc7/3, XSAVES&x64, Modrm|NoSuf|Size64|NoEgpr, { Unspecified|BaseIndex } ++xsaves, 0xfc7/5, XSAVES, Modrm|NoSuf|NoEgpr, { Unspecified|BaseIndex } ++xsaves64, 0xfc7/5, XSAVES&x64, Modrm|NoSuf|Size64|NoEgpr, { Unspecified|BaseIndex } + + // XSAVES instructions end. + + // XSAVEC instructions. + +-xsavec, 0xfc7/4, XSAVEC, Modrm|NoSuf, { Unspecified|BaseIndex } +-xsavec64, 0xfc7/4, XSAVEC|x64, Modrm|NoSuf|Size64, { Unspecified|BaseIndex } ++xsavec, 0xfc7/4, XSAVEC, Modrm|NoSuf|NoEgpr, { Unspecified|BaseIndex } ++xsavec64, 0xfc7/4, XSAVEC&x64, Modrm|NoSuf|Size64|NoEgpr, { Unspecified|BaseIndex } + + // XSAVEC instructions end. + +@@ -2494,128 +2604,108 @@ enclv, 0xf01c0, SE1, NoSuf, {} + + // AVX512VL instructions. + +-vgatherdpd, 0x6692, AVX512F|AVX512VL, Modrm|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB128|NoSuf, { Qword|Unspecified|BaseIndex, RegXMM|RegYMM } +-vgatherdps, 0x6692, AVX512F|AVX512VL, Modrm|EVex=2|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB128|NoSuf, { Dword|Unspecified|BaseIndex, RegXMM } +-vgatherdps, 0x6692, AVX512F|AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { Dword|Unspecified|BaseIndex, RegYMM } +-vgatherqp, 0x6693, AVX512F|AVX512VL, Modrm|EVex128|Masking|NoDefMask|Space0F38||Disp8MemShift|VecSIB128|NoSuf, { |Unspecified|BaseIndex, RegXMM } +-vgatherqpd, 0x6693, AVX512F|AVX512VL, Modrm|EVex256|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB256|NoSuf, { Qword|Unspecified|BaseIndex, RegYMM } +-vgatherqps, 0x6693, AVX512F|AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { Dword|Unspecified|BaseIndex, RegXMM } +-vpgatherdd, 0x6690, AVX512F|AVX512VL, Modrm|EVex=2|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB128|NoSuf, { Dword|Unspecified|BaseIndex, RegXMM } +-vpgatherdd, 0x6690, AVX512F|AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { Dword|Unspecified|BaseIndex, RegYMM } +-vpgatherdq, 0x6690, AVX512F|AVX512VL, Modrm|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB128|NoSuf, { Qword|Unspecified|BaseIndex, RegXMM|RegYMM } +-vpgatherq, 0x6691, AVX512F|AVX512VL, Modrm|EVex128|Masking|NoDefMask|Space0F38||Disp8MemShift|VecSIB128|NoSuf, { |Unspecified|BaseIndex, RegXMM } +-vpgatherqd, 0x6691, AVX512F|AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { Dword|Unspecified|BaseIndex, RegXMM } +-vpgatherqq, 0x6691, AVX512F|AVX512VL, Modrm|EVex256|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB256|NoSuf, { Qword|Unspecified|BaseIndex, RegYMM } +- +-vpscatterdd, 0x66A0, AVX512F|AVX512VL, Modrm|EVex=2|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB128|NoSuf, { RegXMM, Dword|Unspecified|BaseIndex } +-vpscatterdd, 0x66A0, AVX512F|AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { RegYMM, Dword|Unspecified|BaseIndex } +-vpscatterdq, 0x66A0, AVX512F|AVX512VL, Modrm|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB128|NoSuf, { RegXMM|RegYMM, Qword|Unspecified|BaseIndex } +-vpscatterq, 0x66A1, AVX512F|AVX512VL, Modrm|EVex128|Masking|NoDefMask|Space0F38||Disp8MemShift|VecSIB128|NoSuf, { RegXMM, |Unspecified|BaseIndex } +-vpscatterqd, 0x66A1, AVX512F|AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { RegXMM, Dword|Unspecified|BaseIndex } +-vpscatterqq, 0x66A1, AVX512F|AVX512VL, Modrm|EVex256|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB256|NoSuf, { RegYMM, Qword|Unspecified|BaseIndex } +-vscatterdpd, 0x66A2, AVX512F|AVX512VL, Modrm|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB128|NoSuf, { RegXMM|RegYMM, Qword|Unspecified|BaseIndex } +-vscatterdps, 0x66A2, AVX512F|AVX512VL, Modrm|EVex=2|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB128|NoSuf, { RegXMM, Dword|Unspecified|BaseIndex } +-vscatterdps, 0x66A2, AVX512F|AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { RegYMM, Dword|Unspecified|BaseIndex } +-vscatterqp, 0x66A3, AVX512F|AVX512VL, Modrm|EVex128|Masking|NoDefMask|Space0F38||Disp8MemShift|VecSIB128|NoSuf, { RegXMM, |Unspecified|BaseIndex } +-vscatterqpd, 0x66A3, AVX512F|AVX512VL, Modrm|EVex256|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB256|NoSuf, { RegYMM, Qword|Unspecified|BaseIndex } +-vscatterqps, 0x66A3, AVX512F|AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { RegXMM, Dword|Unspecified|BaseIndex } +- +-vcvtdq2pd, 0xF3E6, AVX512F|AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-vcvtdq2pd, 0xF3E6, AVX512F|AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } +-vcvtudq2pd, 0xF37A, AVX512F|AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-vcvtudq2pd, 0xF37A, AVX512F|AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } +- +-vcvtph2ps, 0x6613, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } +-vcvtph2ps, 0x6613, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } +- +-vcvtps2pd, 0x5A, AVX512F|AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-vcvtps2pd, 0x5A, AVX512F|AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } +- +-vcvtps2ph, 0x661D, AVX512F|AVX512VL, Modrm|EVex128|Masking|Space0F3A|VexW0|Disp8MemShift=3|NoSuf, { Imm8, RegXMM, RegXMM|Qword|Unspecified|BaseIndex } +-vcvtps2ph, 0x661D, AVX512F|AVX512VL, Modrm|EVex256|Masking|Space0F3A|VexW0|Disp8MemShift=4|NoSuf, { Imm8, RegYMM, RegXMM|Unspecified|BaseIndex } +- +-vmovddup, 0xF212, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F|VexW1|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } +- +-vpmovdb, 0xF331, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex } +-vpmovdb, 0xF331, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegYMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovsdb, 0xF321, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex } +-vpmovsdb, 0xF321, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegYMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovusdb, 0xF311, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex } +-vpmovusdb, 0xF311, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegYMM, RegXMM|Qword|Unspecified|BaseIndex } +- +-vpmovdw, 0xF333, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovdw, 0xF333, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } +-vpmovsdw, 0xF323, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovsdw, 0xF323, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } +-vpmovusdw, 0xF313, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovusdw, 0xF313, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } +- +-vpmovqb, 0xF332, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=1|NoSuf, { RegXMM, RegXMM|Word|Unspecified|BaseIndex } +-vpmovqb, 0xF332, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegYMM, RegXMM|Dword|Unspecified|BaseIndex } +-vpmovsqb, 0xF322, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=1|NoSuf, { RegXMM, RegXMM|Word|Unspecified|BaseIndex } +-vpmovsqb, 0xF322, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegYMM, RegXMM|Dword|Unspecified|BaseIndex } +-vpmovusqb, 0xF312, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=1|NoSuf, { RegXMM, RegXMM|Word|Unspecified|BaseIndex } +-vpmovusqb, 0xF312, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegYMM, RegXMM|Dword|Unspecified|BaseIndex } +- +-vpmovqd, 0xF335, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovqd, 0xF335, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } +-vpmovsqd, 0xF325, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovsqd, 0xF325, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } +-vpmovusqd, 0xF315, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovusqd, 0xF315, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } +- +-vpmovqw, 0xF334, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex } +-vpmovqw, 0xF334, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegYMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovsqw, 0xF324, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex } +-vpmovsqw, 0xF324, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegYMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovusqw, 0xF314, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex } +-vpmovusqw, 0xF314, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegYMM, RegXMM|Qword|Unspecified|BaseIndex } +- +-vpmovsxbd, 0x6621, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexWIG|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM } +-vpmovsxbd, 0x6621, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexWIG|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM } +-vpmovzxbd, 0x6631, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexWIG|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM } +-vpmovzxbd, 0x6631, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexWIG|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM } +- +-vpmovsxbq, 0x6622, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexWIG|Disp8MemShift=1|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM } +-vpmovsxbq, 0x6622, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexWIG|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } +-vpmovzxbq, 0x6632, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexWIG|Disp8MemShift=1|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM } +-vpmovzxbq, 0x6632, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexWIG|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } +- +-vpmovsxdq, 0x6625, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } +-vpmovsxdq, 0x6625, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } +-vpmovzxdq, 0x6635, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } +-vpmovzxdq, 0x6635, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } +- +-vpmovsxwd, 0x6623, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexWIG|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } +-vpmovsxwd, 0x6623, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexWIG|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } +-vpmovzxwd, 0x6633, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexWIG|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } +-vpmovzxwd, 0x6633, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexWIG|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } +- +-vpmovsxwq, 0x6624, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexWIG|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM } +-vpmovsxwq, 0x6624, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexWIG|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM } +-vpmovzxwq, 0x6634, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexWIG|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM } +-vpmovzxwq, 0x6634, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexWIG|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegYMM } ++vgatherdpd, 0x6692, AVX512VL, Modrm|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB128|NoSuf, { Qword|Unspecified|BaseIndex, RegXMM|RegYMM } ++vgatherdps, 0x6692, AVX512VL, Modrm|EVex=2|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB128|NoSuf, { Dword|Unspecified|BaseIndex, RegXMM } ++vgatherdps, 0x6692, AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { Dword|Unspecified|BaseIndex, RegYMM } ++vgatherqp, 0x6693, AVX512VL, Modrm|EVex128|Masking|NoDefMask|Space0F38||Disp8MemShift|VecSIB128|NoSuf, { |Unspecified|BaseIndex, RegXMM } ++vgatherqpd, 0x6693, AVX512VL, Modrm|EVex256|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB256|NoSuf, { Qword|Unspecified|BaseIndex, RegYMM } ++vgatherqps, 0x6693, AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { Dword|Unspecified|BaseIndex, RegXMM } ++vpgatherdd, 0x6690, AVX512VL, Modrm|EVex=2|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB128|NoSuf, { Dword|Unspecified|BaseIndex, RegXMM } ++vpgatherdd, 0x6690, AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { Dword|Unspecified|BaseIndex, RegYMM } ++vpgatherdq, 0x6690, AVX512VL, Modrm|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB128|NoSuf, { Qword|Unspecified|BaseIndex, RegXMM|RegYMM } ++vpgatherq, 0x6691, AVX512VL, Modrm|EVex128|Masking|NoDefMask|Space0F38||Disp8MemShift|VecSIB128|NoSuf, { |Unspecified|BaseIndex, RegXMM } ++vpgatherqd, 0x6691, AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { Dword|Unspecified|BaseIndex, RegXMM } ++vpgatherqq, 0x6691, AVX512VL, Modrm|EVex256|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB256|NoSuf, { Qword|Unspecified|BaseIndex, RegYMM } ++ ++vpscatterdd, 0x66A0, AVX512VL, Modrm|EVex=2|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB128|NoSuf, { RegXMM, Dword|Unspecified|BaseIndex } ++vpscatterdd, 0x66A0, AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { RegYMM, Dword|Unspecified|BaseIndex } ++vpscatterdq, 0x66A0, AVX512VL, Modrm|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB128|NoSuf, { RegXMM|RegYMM, Qword|Unspecified|BaseIndex } ++vpscatterq, 0x66A1, AVX512VL, Modrm|EVex128|Masking|NoDefMask|Space0F38||Disp8MemShift|VecSIB128|NoSuf, { RegXMM, |Unspecified|BaseIndex } ++vpscatterqd, 0x66A1, AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { RegXMM, Dword|Unspecified|BaseIndex } ++vpscatterqq, 0x66A1, AVX512VL, Modrm|EVex256|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB256|NoSuf, { RegYMM, Qword|Unspecified|BaseIndex } ++vscatterdpd, 0x66A2, AVX512VL, Modrm|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB128|NoSuf, { RegXMM|RegYMM, Qword|Unspecified|BaseIndex } ++vscatterdps, 0x66A2, AVX512VL, Modrm|EVex=2|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB128|NoSuf, { RegXMM, Dword|Unspecified|BaseIndex } ++vscatterdps, 0x66A2, AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { RegYMM, Dword|Unspecified|BaseIndex } ++vscatterqp, 0x66A3, AVX512VL, Modrm|EVex128|Masking|NoDefMask|Space0F38||Disp8MemShift|VecSIB128|NoSuf, { RegXMM, |Unspecified|BaseIndex } ++vscatterqpd, 0x66A3, AVX512VL, Modrm|EVex256|Masking|NoDefMask|Space0F38|VexW1|Disp8MemShift=3|VecSIB256|NoSuf, { RegYMM, Qword|Unspecified|BaseIndex } ++vscatterqps, 0x66A3, AVX512VL, Modrm|EVex=3|Masking|NoDefMask|Space0F38|VexW0|Disp8MemShift=2|VecSIB256|NoSuf, { RegXMM, Dword|Unspecified|BaseIndex } ++ ++vcvtdq2pd, 0xF3E6, AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++vcvtdq2pd, 0xF3E6, AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } ++vcvtudq2pd, 0xF37A, AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++vcvtudq2pd, 0xF37A, AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } ++ ++vcvtph2ps, 0x6613, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } ++vcvtph2ps, 0x6613, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } ++ ++vcvtps2pd, 0x5A, AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++vcvtps2pd, 0x5A, AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } ++ ++vcvtps2ph, 0x661D, AVX512VL, Modrm|EVex128|Masking|Space0F3A|VexW0|Disp8MemShift=3|NoSuf, { Imm8, RegXMM, RegXMM|Qword|Unspecified|BaseIndex } ++vcvtps2ph, 0x661D, AVX512VL, Modrm|EVex256|Masking|Space0F3A|VexW0|Disp8MemShift=4|NoSuf, { Imm8, RegYMM, RegXMM|Unspecified|BaseIndex } ++ ++vmovddup, 0xF212, AVX512VL, Modrm|EVex=2|Masking|Space0F|VexW1|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } ++ ++vpmovdb, 0xF331, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex } ++vpmovdb, 0xF331, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegYMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovsdb, 0xF321, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex } ++vpmovsdb, 0xF321, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegYMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovusdb, 0xF311, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex } ++vpmovusdb, 0xF311, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegYMM, RegXMM|Qword|Unspecified|BaseIndex } ++ ++vpmovdw, 0xF333, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovdw, 0xF333, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } ++vpmovsdw, 0xF323, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovsdw, 0xF323, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } ++vpmovusdw, 0xF313, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovusdw, 0xF313, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } ++ ++vpmovqb, 0xF332, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=1|NoSuf, { RegXMM, RegXMM|Word|Unspecified|BaseIndex } ++vpmovqb, 0xF332, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegYMM, RegXMM|Dword|Unspecified|BaseIndex } ++vpmovsqb, 0xF322, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=1|NoSuf, { RegXMM, RegXMM|Word|Unspecified|BaseIndex } ++vpmovsqb, 0xF322, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegYMM, RegXMM|Dword|Unspecified|BaseIndex } ++vpmovusqb, 0xF312, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=1|NoSuf, { RegXMM, RegXMM|Word|Unspecified|BaseIndex } ++vpmovusqb, 0xF312, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegYMM, RegXMM|Dword|Unspecified|BaseIndex } ++ ++vpmovqd, 0xF335, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovqd, 0xF335, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } ++vpmovsqd, 0xF325, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovsqd, 0xF325, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } ++vpmovusqd, 0xF315, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovusqd, 0xF315, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } ++ ++vpmovqw, 0xF334, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex } ++vpmovqw, 0xF334, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegYMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovsqw, 0xF324, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex } ++vpmovsqw, 0xF324, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegYMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovusqw, 0xF314, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex } ++vpmovusqw, 0xF314, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegYMM, RegXMM|Qword|Unspecified|BaseIndex } ++ ++vpmovsxdq, 0x6625, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } ++vpmovsxdq, 0x6625, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } ++vpmovzxdq, 0x6635, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } ++vpmovzxdq, 0x6635, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } + + // AVX512VL instructions end. + + // AVX512BW instructions. + +-kadd, 0x4a, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1||NoSuf, { RegMask, RegMask, RegMask } +-kand, 0x41, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1||NoSuf, { RegMask, RegMask, RegMask } +-kandn, 0x42, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1||NoSuf|Optimize, { RegMask, RegMask, RegMask } +-kmov, 0x90, AVX512BW, Modrm|Vex128|Space0F|VexW1||NoSuf, { RegMask||Unspecified|BaseIndex, RegMask } +-kmov, 0x91, AVX512BW, Modrm|Vex128|Space0F|VexW1||NoSuf, { RegMask, |Unspecified|BaseIndex } +-kmov, 0xf292, AVX512BW, D|Modrm|Vex128|Space0F|||NoSuf, { , RegMask } +-knot, 0x44, AVX512BW, Modrm|Vex128|Space0F|VexW1||NoSuf, { RegMask, RegMask } +-kor, 0x45, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1||NoSuf, { RegMask, RegMask, RegMask } +-kortest, 0x98, AVX512BW, Modrm|Vex128|Space0F|VexW1||NoSuf, { RegMask, RegMask } +-ktest, 0x99, AVX512BW, Modrm|Vex128|Space0F|VexW1||NoSuf, { RegMask, RegMask } +-kxnor, 0x46, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1||NoSuf, { RegMask, RegMask, RegMask } +-kxor, 0x47, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1||NoSuf|Optimize, { RegMask, RegMask, RegMask } +-kunpckdq, 0x4B, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|Vsz512|NoSuf, { RegMask, RegMask, RegMask } +-kunpckwd, 0x4B, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW0|Vsz256|NoSuf, { RegMask, RegMask, RegMask } +-kshiftl, 0x6633, AVX512BW, Modrm|Vex128|Space0F3A|||NoSuf, { Imm8, RegMask, RegMask } +-kshiftr, 0x6631, AVX512BW, Modrm|Vex128|Space0F3A|||NoSuf, { Imm8, RegMask, RegMask } ++kadd, 0x4a, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf, { RegMask, RegMask, RegMask } ++kand, 0x41, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf, { RegMask, RegMask, RegMask } ++kandn, 0x42, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf|Optimize, { RegMask, RegMask, RegMask } ++kmov, 0x90, APX_F(AVX512BW), Modrm|Vex128|EVex128|Space0F|VexW1|NoSuf, { RegMask||Unspecified|BaseIndex, RegMask } ++kmov, 0x91, APX_F(AVX512BW), Modrm|Vex128|EVex128|Space0F|VexW1|NoSuf, { RegMask, |Unspecified|BaseIndex } ++kmov, 0xf292, APX_F(AVX512BW), D|Modrm|Vex128|EVex128|Space0F||NoSuf, { , RegMask } ++knot, 0x44, AVX512BW, Modrm|Vex128|Space0F|VexW1|NoSuf, { RegMask, RegMask } ++kor, 0x45, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf, { RegMask, RegMask, RegMask } ++kortest, 0x98, AVX512BW, Modrm|Vex128|Space0F|VexW1|NoSuf, { RegMask, RegMask } ++ktest, 0x99, AVX512BW, Modrm|Vex128|Space0F|VexW1|NoSuf, { RegMask, RegMask } ++kxnor, 0x46, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf, { RegMask, RegMask, RegMask } ++kxor, 0x47, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf|Optimize, { RegMask, RegMask, RegMask } ++kunpckdq, 0x4B, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf, { RegMask, RegMask, RegMask } ++kunpckwd, 0x4B, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW0|NoSuf, { RegMask, RegMask, RegMask } ++kshiftl, 0x6633, AVX512BW, Modrm|Vex128|Space0F3A||NoSuf, { Imm8, RegMask, RegMask } ++kshiftr, 0x6631, AVX512BW, Modrm|Vex128|Space0F3A||NoSuf, { Imm8, RegMask, RegMask } + + vdbpsadbw, 0x6642, AVX512BW, Modrm|Masking|Space0F3A|VexVVVV|VexW0|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + +@@ -2701,23 +2791,23 @@ vpmov2m, 0xf329, AVX512BW, Modrm|EVe + vpmovm2, 0xf328, AVX512BW, Modrm|EVexDYN|Space0F38||NoSuf, { RegMask, RegXMM|RegYMM|RegZMM } + + vpmovswb, 0xF320, AVX512BW, Modrm|EVex=1|Masking|Space0F38|VexW=1|Disp8MemShift=5|NoSuf, { RegZMM, RegYMM|Unspecified|BaseIndex } +-vpmovswb, 0xF320, AVX512BW|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovswb, 0xF320, AVX512BW|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } ++vpmovswb, 0xF320, AVX512BW&AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovswb, 0xF320, AVX512BW&AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } + + vpmovuswb, 0xF310, AVX512BW, Modrm|EVex=1|Masking|Space0F38|VexW=1|Disp8MemShift=5|NoSuf, { RegZMM, RegYMM|Unspecified|BaseIndex } +-vpmovuswb, 0xF310, AVX512BW|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovuswb, 0xF310, AVX512BW|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } ++vpmovuswb, 0xF310, AVX512BW&AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovuswb, 0xF310, AVX512BW&AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } + + vpmovwb, 0xF330, AVX512BW, Modrm|EVex=1|Masking|Space0F38|VexW=1|Disp8MemShift=5|NoSuf, { RegZMM, RegYMM|Unspecified|BaseIndex } +-vpmovwb, 0xF330, AVX512BW|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } +-vpmovwb, 0xF330, AVX512BW|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } ++vpmovwb, 0xF330, AVX512BW&AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } ++vpmovwb, 0xF330, AVX512BW&AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegYMM, RegXMM|Unspecified|BaseIndex } + + vpmovsxbw, 0x6620, AVX512BW, Modrm|EVex=1|Masking|Space0F38|VexWIG|Disp8MemShift=5|NoSuf, { RegYMM|Unspecified|BaseIndex, RegZMM } +-vpmovsxbw, 0x6620, AVX512BW|AVX512VL, Modrm|EVex=2|Masking|VexWIG|Space0F38|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } +-vpmovsxbw, 0x6620, AVX512BW|AVX512VL, Modrm|EVex=3|Masking|VexWIG|Space0F38|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } ++vpmovsxbw, 0x6620, AVX512BW&AVX512VL, Modrm|EVex=2|Masking|VexWIG|Space0F38|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } ++vpmovsxbw, 0x6620, AVX512BW&AVX512VL, Modrm|EVex=3|Masking|VexWIG|Space0F38|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } + vpmovzxbw, 0x6630, AVX512BW, Modrm|EVex=1|Masking|Space0F38|VexWIG|Disp8MemShift=5|NoSuf, { RegYMM|Unspecified|BaseIndex, RegZMM } +-vpmovzxbw, 0x6630, AVX512BW|AVX512VL, Modrm|EVex=2|Masking|VexWIG|Space0F38|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } +-vpmovzxbw, 0x6630, AVX512BW|AVX512VL, Modrm|EVex=3|Masking|VexWIG|Space0F38|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } ++vpmovzxbw, 0x6630, AVX512BW&AVX512VL, Modrm|EVex=2|Masking|VexWIG|Space0F38|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } ++vpmovzxbw, 0x6630, AVX512BW&AVX512VL, Modrm|EVex=3|Masking|VexWIG|Space0F38|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } + + vpsadbw, 0x66F6, AVX512BW, Modrm|Space0F|VexVVVV|VexWIG|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + +@@ -2758,36 +2848,36 @@ vcvtpd2qq, 0x667B, AVX512DQ, Modrm|Maski + vcvtpd2uqq, 0x6679, AVX512DQ, Modrm|Masking|Space0F|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + + vcvtps2qq, 0x667B, AVX512DQ, Modrm|EVex512|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=5|NoSuf|StaticRounding|SAE, { RegYMM|Dword|Unspecified|BaseIndex, RegZMM } +-vcvtps2qq, 0x667B, AVX512DQ|AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-vcvtps2qq, 0x667B, AVX512DQ|AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } ++vcvtps2qq, 0x667B, AVX512DQ&AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++vcvtps2qq, 0x667B, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } + vcvtps2uqq, 0x6679, AVX512DQ, Modrm|EVex512|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=5|NoSuf|StaticRounding|SAE, { RegYMM|Dword|Unspecified|BaseIndex, RegZMM } +-vcvtps2uqq, 0x6679, AVX512DQ|AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-vcvtps2uqq, 0x6679, AVX512DQ|AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|RegXMM|Dword|Unspecified|BaseIndex, RegYMM } ++vcvtps2uqq, 0x6679, AVX512DQ&AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++vcvtps2uqq, 0x6679, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|RegXMM|Dword|Unspecified|BaseIndex, RegYMM } + + vcvtqq2pd, 0xF3E6, AVX512DQ, Modrm|Masking|Space0F|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + vcvtuqq2pd, 0xF37A, AVX512DQ, Modrm|Masking|Space0F|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + +-vcvtqq2ps, 0x5b, AVX512DQ|, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } ++vcvtqq2ps, 0x5b, AVX512DQ&, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } + + vcvttpd2qq, 0x667A, AVX512DQ, Modrm|Masking|Space0F|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|SAE, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + vcvttpd2uqq, 0x6678, AVX512DQ, Modrm|Masking|Space0F|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|SAE, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + + vcvttps2qq, 0x667A, AVX512DQ, Modrm|EVex512|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=5|NoSuf|SAE, { RegYMM|Dword|Unspecified|BaseIndex, RegZMM } +-vcvttps2qq, 0x667A, AVX512DQ|AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-vcvttps2qq, 0x667A, AVX512DQ|AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } ++vcvttps2qq, 0x667A, AVX512DQ&AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++vcvttps2qq, 0x667A, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } + vcvttps2uqq, 0x6678, AVX512DQ, Modrm|EVex512|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=5|NoSuf|SAE, { RegYMM|Dword|Unspecified|BaseIndex, RegZMM } +-vcvttps2uqq, 0x6678, AVX512DQ|AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } +-vcvttps2uqq, 0x6678, AVX512DQ|AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } ++vcvttps2uqq, 0x6678, AVX512DQ&AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++vcvttps2uqq, 0x6678, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } + +-vcvtuqq2ps, 0xf27a, AVX512DQ|, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } ++vcvtuqq2ps, 0xf27a, AVX512DQ&, Modrm||Masking|Space0F|VexW1|Broadcast|NoSuf|, { |Qword, } + + vextractf32x8, 0x661B, AVX512DQ, Modrm|EVex=1|Masking|Space0F3A|VexW=1|Disp8MemShift=5|NoSuf, { Imm8, RegZMM, RegYMM|Unspecified|BaseIndex } + vextracti32x8, 0x663B, AVX512DQ, Modrm|EVex=1|Masking|Space0F3A|VexW=1|Disp8MemShift=5|NoSuf, { Imm8, RegZMM, RegYMM|Unspecified|BaseIndex } + vinsertf32x8, 0x661A, AVX512DQ, Modrm|EVex512|Masking|Space0F3A|VexVVVV|VexW0|Disp8MemShift=5|NoSuf, { Imm8, RegYMM|Unspecified|BaseIndex, RegZMM, RegZMM } + vinserti32x8, 0x663A, AVX512DQ, Modrm|EVex512|Masking|Space0F3A|VexVVVV|VexW0|Disp8MemShift=5|NoSuf, { Imm8, RegYMM|Unspecified|BaseIndex, RegZMM, RegZMM } + +-vpextr, 0x6616, AVX512DQ|, Modrm|EVex128|Space0F3A||Disp8MemShift|NoSuf, { Imm8, RegXMM, |Unspecified|BaseIndex } +-vpinsr, 0x6622, AVX512DQ|, Modrm|EVex128|Space0F3A|VexVVVV||Disp8MemShift|NoSuf, { Imm8, |Unspecified|BaseIndex, RegXMM, RegXMM } ++vpextr, 0x6616, AVX512DQ&, Modrm|EVex128|Space0F3A||Disp8MemShift|NoSuf, { Imm8, RegXMM, |Unspecified|BaseIndex } ++vpinsr, 0x6622, AVX512DQ&, Modrm|EVex128|Space0F3A|VexVVVV||Disp8MemShift|NoSuf, { Imm8, |Unspecified|BaseIndex, RegXMM, RegXMM } + + vextractf64x2, 0x6619, AVX512DQ, Modrm|Masking|Space0F3A|VexW=2|Disp8MemShift=4|NoSuf, { Imm8, RegYMM|RegZMM, RegXMM|Unspecified|BaseIndex } + vextracti64x2, 0x6639, AVX512DQ, Modrm|Masking|Space0F3A|VexW=2|Disp8MemShift=4|NoSuf, { Imm8, RegYMM|RegZMM, RegXMM|Unspecified|BaseIndex } +@@ -2797,8 +2887,8 @@ vinserti64x2, 0x6638, AVX512DQ, Modrm|Ma + vfpclassp, 0x6666, AVX512DQ, Modrm|Masking|Space0F3A||Broadcast|Disp8ShiftVL|NoSuf|IntelSyntax, { Imm8|Imm8S, RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegMask } + vfpclassp, 0x6666, AVX512DQ, Modrm|Masking|Space0F3A||Broadcast|Disp8ShiftVL|NoSuf|ATTSyntax, { Imm8|Imm8S, RegXMM|RegYMM|RegZMM||BaseIndex, RegMask } + vfpclasspz, 0x6666, AVX512DQ, Modrm|EVex512|Masking|Space0F3A||Broadcast|Disp8MemShift=6|NoSuf, { Imm8|Imm8S, RegZMM||Unspecified|BaseIndex, RegMask } +-vfpclasspx, 0x6666, AVX512DQ|AVX512VL, Modrm|EVex128|Masking|Space0F3A||Broadcast|Disp8MemShift=4|NoSuf, { Imm8|Imm8S, RegXMM||Unspecified|BaseIndex, RegMask } +-vfpclasspy, 0x6666, AVX512DQ|AVX512VL, Modrm|EVex256|Masking|Space0F3A||Broadcast|Disp8MemShift=5|NoSuf, { Imm8|Imm8S, RegYMM||Unspecified|BaseIndex, RegMask } ++vfpclasspx, 0x6666, AVX512DQ&AVX512VL, Modrm|EVex128|Masking|Space0F3A||Broadcast|Disp8MemShift=4|NoSuf, { Imm8|Imm8S, RegXMM||Unspecified|BaseIndex, RegMask } ++vfpclasspy, 0x6666, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F3A||Broadcast|Disp8MemShift=5|NoSuf, { Imm8|Imm8S, RegYMM||Unspecified|BaseIndex, RegMask } + vfpclasss, 0x67, , Modrm|EVexLIG|Masking|Space0F3A||Disp8MemShift|NoSuf, { Imm8|Imm8S, RegXMM||Unspecified|BaseIndex, RegMask } + + vpmov2m, 0xf339, AVX512DQ, Modrm|EVexDYN|Space0F38||NoSuf, { RegXMM|RegYMM|RegZMM, RegMask } +@@ -2915,6 +3005,17 @@ vpdpbsuds, 0xf351, AVX_VNNI_INT8, Modrm| + + // AVX-VNNI-INT8 instructions end. + ++// AVX-VNNI-INT16 instructions. ++ ++vpdpwuud, 0xd2, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++vpdpwuuds, 0xd3, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++vpdpwusd, 0x66d2, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++vpdpwusds, 0x66d3, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++vpdpwsud, 0xf3d2, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++vpdpwsuds, 0xf3d3, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++ ++// AVX-VNNI-INT16 instructions end. ++ + // AVX512_BITALG instructions + + vpopcnt, 0x6654, AVX512_BITALG, Modrm|Masking|Space0F38||Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +@@ -2925,31 +3026,11 @@ vpshufbitqmb, 0x668f, AVX512_BITALG, Mod + + // AVX512 + GFNI instructions + +-vgf2p8affineinvqb, 0x66cf, GFNI|AVX512F, Modrm|Masking|Space0F3A|VexVVVV|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vgf2p8affineqb, 0x66ce, GFNI|AVX512F, Modrm|Masking|Space0F3A|VexVVVV|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vgf2p8mulb, 0x66cf, GFNI|AVX512F, Modrm|Masking|Space0F38|VexVVVV|VexW0|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vgf2p8affineinvqb, 0x66cf, GFNI&AVX512F, Modrm|Masking|Space0F3A|VexVVVV|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } ++vgf2p8affineqb, 0x66ce, GFNI&AVX512F, Modrm|Masking|Space0F3A|VexVVVV|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + + // AVX512 + GFNI instructions end + +-// AVX512 + VAES instructions +- +-vaesdec, 0x66de, VAES|AVX512F, Modrm|Space0F38|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vaesdeclast, 0x66df, VAES|AVX512F, Modrm|Space0F38|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vaesenc, 0x66dc, VAES|AVX512F, Modrm|Space0F38|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vaesenclast, 0x66dd, VAES|AVX512F, Modrm|Space0F38|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +- +-// AVX512 + VAES instructions end +- +-// AVX512 + VPCLMULQDQ instructions +- +-vpclmulqdq, 0x6644, VPCLMULQDQ|AVX512F, Modrm|Space0F3A|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vpclmullqlqdq, 0x6644/0x00, VPCLMULQDQ|AVX512F, Modrm|Space0F3A|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vpclmulhqlqdq, 0x6644/0x01, VPCLMULQDQ|AVX512F, Modrm|Space0F3A|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vpclmullqhqdq, 0x6644/0x10, VPCLMULQDQ|AVX512F, Modrm|Space0F3A|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +-vpclmulhqhqdq, 0x6644/0x11, VPCLMULQDQ|AVX512F, Modrm|Space0F3A|VexWIG|VexVVVV|Disp8ShiftVL|CheckOperandSize|NoSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +- +-// AVX512 + VPCLMULQDQ instructions end +- + // INVLPGB instructions + + invlpgb, 0xf01fe, INVLPGB, NoSuf, {} +@@ -2975,7 +3056,7 @@ clzero, 0xf01fc, CLZERO, AddrPrefixOpReg + monitorx, 0xf01fa, MWAITX, NoSuf, {} + monitorx, 0xf01fa, MWAITX, AddrPrefixOpReg|NoSuf, { Acc|Word|Dword|Qword, RegC|Dword, RegD|Dword } + // The 64-bit form exists only for compatibility with older gas. +-monitorx, 0xf01fa, MWAITX|x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword, RegC|Qword, RegD|Qword } ++monitorx, 0xf01fa, MWAITX&x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword, RegC|Qword, RegD|Qword } + + mwaitx, 0xf01fb, MWAITX, NoSuf, {} + // The 64-bit form exists only for compatibility with older gas. +@@ -2992,30 +3073,34 @@ wrpkru, 0xf01ef, OSPKE, NoSuf, {} + + // RDPID instructions. + +-rdpid, 0xf30fc7/7, RDPID|No64, Modrm|IgnoreSize|NoSuf, { Reg32 } +-rdpid, 0xf30fc7/7, RDPID|x64, Modrm|NoSuf|NoRex64, { Reg64 } ++rdpid, 0xf30fc7/7, RDPID&No64, Modrm|IgnoreSize|NoSuf, { Reg32 } ++rdpid, 0xf30fc7/7, RDPID&x64, Modrm|NoSuf|NoRex64, { Reg64 } + + // RDPID instructions end. + + // PTWRITE instructions. + +-ptwrite, 0xf30fae/4, PTWRITE|No64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Reg32|Unspecified|BaseIndex } +-ptwrite, 0xf30fae/4, PTWRITE|x64, Modrm|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex } ++ptwrite, 0xf30fae/4, PTWRITE&No64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Reg32|Unspecified|BaseIndex } ++ptwrite, 0xf30fae/4, PTWRITE&x64, Modrm|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex } + + // PTWRITE instructions end. + + // CET instructions. + + incsspd, 0xf30fae/5, SHSTK, Modrm|IgnoreSize|NoSuf, { Reg32 } +-incsspq, 0xf30fae/5, SHSTK|x64, Modrm|NoSuf, { Reg64 } ++incsspq, 0xf30fae/5, SHSTK&x64, Modrm|NoSuf, { Reg64 } + rdsspd, 0xf30f1e/1, SHSTK, Modrm|IgnoreSize|NoSuf, { Reg32 } +-rdsspq, 0xf30f1e/1, SHSTK|x64, Modrm|NoSuf, { Reg64 } ++rdsspq, 0xf30f1e/1, SHSTK&x64, Modrm|NoSuf, { Reg64 } + saveprevssp, 0xf30f01ea, SHSTK, NoSuf, {} + rstorssp, 0xf30f01/5, SHSTK, Modrm|NoSuf, { Qword|Unspecified|BaseIndex } + wrssd, 0x0f38f6, SHSTK, Modrm|IgnoreSize|NoSuf, { Reg32, Dword|Unspecified|BaseIndex } +-wrssq, 0x0f38f6, SHSTK|x64, Modrm|NoSuf|Size64, { Reg64, Qword|Unspecified|BaseIndex } ++wrssd, 0x66, SHSTK&APX_F, Modrm|IgnoreSize|NoSuf|EVexMap4, { Reg32, Dword|Unspecified|BaseIndex } ++wrssq, 0x0f38f6, SHSTK&x64, Modrm|NoSuf|Size64, { Reg64, Qword|Unspecified|BaseIndex } ++wrssq, 0x66, SHSTK&APX_F, Modrm|NoSuf|Size64|EVexMap4, { Reg64, Qword|Unspecified|BaseIndex } + wrussd, 0x660f38f5, SHSTK, Modrm|IgnoreSize|NoSuf, { Reg32, Dword|Unspecified|BaseIndex } +-wrussq, 0x660f38f5, SHSTK|x64, Modrm|NoSuf, { Reg64, Qword|Unspecified|BaseIndex } ++wrussd, 0x6665, SHSTK&APX_F, Modrm|IgnoreSize|NoSuf|EVexMap4, { Reg32, Dword|Unspecified|BaseIndex } ++wrussq, 0x660f38f5, SHSTK&x64, Modrm|NoSuf, { Reg64, Qword|Unspecified|BaseIndex } ++wrussq, 0x6665, SHSTK&APX_F, Modrm|NoSuf|EVexMap4, { Reg64, Qword|Unspecified|BaseIndex } + setssbsy, 0xf30f01e8, SHSTK, NoSuf, {} + clrssbsy, 0xf30fae/6, SHSTK, Modrm|NoSuf, { Qword|Unspecified|BaseIndex } + endbr64, 0xf30f1efa, IBT, NoSuf, {} +@@ -3038,6 +3123,12 @@ pconfig, 0x0f01c5, PCONFIG, NoSuf, {} + + // PCONFIG instruction end. + ++// PBNDKB instruction. ++ ++pbndkb, 0x0f01c7, PBNDKB, NoSuf, {} ++ ++// PBNDKB instruction end. ++ + // WAITPKG instructions. + + umonitor, 0xf30fae/6, WAITPKG, Modrm|AddrPrefixOpReg|NoSuf, { Reg16|Reg32|Reg64 } +@@ -3057,7 +3148,9 @@ cldemote, 0x0f1c/0, CLDEMOTE, Modrm|Anys + // MOVDIR[I,64B] instructions. + + movdiri, 0xf38f9, MOVDIRI, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } ++movdiri, 0xf9, MOVDIRI&APX_F, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } + movdir64b, 0x660f38f8, MOVDIR64B, Modrm|AddrPrefixOpReg|NoSuf, { Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++movdir64b, 0x66f8, MOVDIR64B&APX_F, Modrm|AddrPrefixOpReg|NoSuf|EVexMap4, { Unspecified|BaseIndex, Reg32|Reg64 } + + // MOVEDIR instructions end. + +@@ -3065,7 +3158,7 @@ movdir64b, 0x660f38f8, MOVDIR64B, Modrm| + + vcvtne2ps2bf16, 0xf272, AVX512_BF16, Modrm|Space0F38|VexVVVV|Masking|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + +-vcvtneps2bf16, 0xf372, AVX512_BF16|, Modrm|Space0F38||Masking|VexW0|Broadcast|NoSuf, { |Dword, } ++vcvtneps2bf16, 0xf372, AVX512_BF16&, Modrm|Space0F38||Masking|VexW0|Broadcast|NoSuf, { |Dword, } + + vdpbf16ps, 0xf352, AVX512_BF16, Modrm|Space0F38|VexVVVV|Masking|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + +@@ -3079,14 +3172,16 @@ vcvtneebf162ps, 0xf3b0, AVX_NE_CONVERT, + vcvtneeph2ps, 0x66b0, AVX_NE_CONVERT, Modrm|Vex|Space0F38|VexW0|CheckOperandSize|NoSuf, { Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM } + vcvtneobf162ps, 0xf2b0, AVX_NE_CONVERT, Modrm|Vex|Space0F38|VexW0|CheckOperandSize|NoSuf, { Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM } + vcvtneoph2ps, 0xb0, AVX_NE_CONVERT, Modrm|Vex|Space0F38|VexW0|CheckOperandSize|NoSuf, { Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM } +-vcvtneps2bf16, 0xf372, AVX_NE_CONVERT, Modrm||Space0F38|VexW0|NoSuf|, { , RegXMM } ++vcvtneps2bf16, 0xf372, AVX_NE_CONVERT, Modrm||Space0F38|VexW0|NoSuf|, { , RegXMM } + + // AVX-NE-CONVERT instructions end. + + // ENQCMD instructions. + + enqcmd, 0xf20f38f8, ENQCMD, Modrm|AddrPrefixOpReg|NoSuf, { Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++enqcmd, 0xf2f8, APX_F(ENQCMD), Modrm|AddrPrefixOpReg|NoSuf|EVexMap4, { Unspecified|BaseIndex, Reg32|Reg64 } + enqcmds, 0xf30f38f8, ENQCMD, Modrm|AddrPrefixOpReg|NoSuf, { Unspecified|BaseIndex, Reg16|Reg32|Reg64 } ++enqcmds, 0xf3f8, APX_F(ENQCMD), Modrm|AddrPrefixOpReg|NoSuf|EVexMap4, { Unspecified|BaseIndex, Reg32|Reg64 } + + // ENQCMD instructions end. + +@@ -3104,25 +3199,25 @@ mcommit, 0xf30f01fa, MCOMMIT, NoSuf, {} + + // SNP instructions + +-psmash, 0xf30f01ff, SNP|x64, NoSuf, {} +-psmash, 0xf30f01ff, SNP|x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword } ++psmash, 0xf30f01ff, SNP&x64, NoSuf, {} ++psmash, 0xf30f01ff, SNP&x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword } + pvalidate, 0xf20f01ff, SNP, NoSuf, {} + pvalidate, 0xf20f01ff, SNP, AddrPrefixOpReg|NoSuf, { Acc|Word|Dword|Qword, RegC|Dword, RegD|Dword } +-rmpupdate, 0xf20f01fe, SNP|x64, NoSuf, {} +-rmpupdate, 0xf20f01fe, SNP|x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword, RegC|Qword } +-rmpadjust, 0xf30f01fe, SNP|x64, NoSuf, {} +-rmpadjust, 0xf30f01fe, SNP|x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword, RegC|Qword, RegD|Qword } ++rmpupdate, 0xf20f01fe, SNP&x64, NoSuf, {} ++rmpupdate, 0xf20f01fe, SNP&x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword, RegC|Qword } ++rmpadjust, 0xf30f01fe, SNP&x64, NoSuf, {} ++rmpadjust, 0xf30f01fe, SNP&x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword, RegC|Qword, RegD|Qword } + // The single-operand forms exist only for compatibility with older gas. + pvalidate, 0xf20f01ff, SNP, AddrPrefixOpReg|NoSuf, { Acc|Word|Dword|Qword } +-rmpupdate, 0xf20f01fe, SNP|x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword } +-rmpadjust, 0xf30f01fe, SNP|x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword } ++rmpupdate, 0xf20f01fe, SNP&x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword } ++rmpadjust, 0xf30f01fe, SNP&x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword } + + // SNP instructions end + + // RMPQUERY instruction + +-rmpquery, 0xf30f01fd, RMPQUERY|x64, NoSuf, {} +-rmpquery, 0xf30f01fd, RMPQUERY|x64, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword, RegC|Qword, RegD|Qword } ++rmpquery, 0xf30f01fd, RMPQUERY, NoSuf, {} ++rmpquery, 0xf30f01fd, RMPQUERY, AddrPrefixOpReg|NoSuf, { Acc|Dword|Qword, RegC|Qword, RegD|Qword } + + // RMPQUERY instruction end + +@@ -3147,26 +3242,26 @@ xresldtrk, 0xf20f01e9, TSXLDTRK, NoSuf, + + // AMX instructions. + +-ldtilecfg, 0x49/0, AMX_TILE|x64, Modrm|Vex128|Space0F38|VexW0|NoSuf, { Unspecified|BaseIndex } +-sttilecfg, 0x6649/0, AMX_TILE|x64, Modrm|Vex128|Space0F38|VexW0|NoSuf, { Unspecified|BaseIndex } ++ldtilecfg, 0x49/0, APX_F(AMX_TILE), Modrm|Vex128|EVex128|Space0F38|VexW0|NoSuf, { Unspecified|BaseIndex } ++sttilecfg, 0x6649/0, APX_F(AMX_TILE), Modrm|Vex128|EVex128|Space0F38|VexW0|NoSuf, { Unspecified|BaseIndex } + +-tcmmimfp16ps, 0x666c, AMX_COMPLEX|x64, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } +-tcmmrlfp16ps, 0x6c, AMX_COMPLEX|x64, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } ++tcmmimfp16ps, 0x666c, AMX_COMPLEX, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } ++tcmmrlfp16ps, 0x6c, AMX_COMPLEX, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } + +-tdpbf16ps, 0xf35c, AMX_BF16|x64, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } +-tdpfp16ps, 0xf25c, AMX_FP16|x64, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } +-tdpbssd, 0xf25e, AMX_INT8|x64, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } +-tdpbuud, 0x5e, AMX_INT8|x64, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } +-tdpbusd, 0x665e, AMX_INT8|x64, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } +-tdpbsud, 0xf35e, AMX_INT8|x64, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } +- +-tileloadd, 0xf24b, AMX_TILE|x64, Sibmem|Vex128|Space0F38|VexW0|NoSuf, { Unspecified|BaseIndex, RegTMM } +-tileloaddt1, 0x664b, AMX_TILE|x64, Sibmem|Vex128|Space0F38|VexW0|NoSuf, { Unspecified|BaseIndex, RegTMM } +-tilestored, 0xf34b, AMX_TILE|x64, Sibmem|Vex128|Space0F38|VexW0|NoSuf, { RegTMM, Unspecified|BaseIndex } ++tdpbf16ps, 0xf35c, AMX_BF16, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } ++tdpfp16ps, 0xf25c, AMX_FP16, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } ++tdpbssd, 0xf25e, AMX_INT8, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } ++tdpbuud, 0x5e, AMX_INT8, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } ++tdpbusd, 0x665e, AMX_INT8, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } ++tdpbsud, 0xf35e, AMX_INT8, Modrm|Vex128|Space0F38|VexVVVV|VexW0|SwapSources|NoSuf, { RegTMM, RegTMM, RegTMM } ++ ++tileloadd, 0xf24b, APX_F(AMX_TILE), Sibmem|Vex128|EVex128|Space0F38|VexW0|NoSuf, { Unspecified|BaseIndex, RegTMM } ++tileloaddt1, 0x664b, APX_F(AMX_TILE), Sibmem|Vex128|EVex128|Space0F38|VexW0|NoSuf, { Unspecified|BaseIndex, RegTMM } ++tilestored, 0xf34b, APX_F(AMX_TILE), Sibmem|Vex128|EVex128|Space0F38|VexW0|NoSuf, { RegTMM, Unspecified|BaseIndex } + +-tilerelease, 0x49c0, AMX_TILE|x64, Vex128|Space0F38|VexW0|NoSuf, {} ++tilerelease, 0x49c0, AMX_TILE, Vex128|Space0F38|VexW0|NoSuf, {} + +-tilezero, 0xf249, AMX_TILE|x64, Modrm|Vex128|Space0F38|VexW0|NoSuf, { RegTMM } ++tilezero, 0xf249, AMX_TILE, Modrm|Vex128|Space0F38|VexW0|NoSuf, { RegTMM } + + // AMX instructions end. + +@@ -3174,34 +3269,44 @@ tilezero, 0xf249, AMX_TILE|x64, Modrm|Ve + + loadiwkey, 0xf30f38dc, KL, Load|Modrm|NoSuf, { RegXMM, RegXMM } + encodekey128, 0xf30f38fa, KL, Modrm|NoSuf, { Reg32, Reg32 } ++encodekey128, 0xf3da, KL&APX_F, Modrm|NoSuf|EVexMap4, { Reg32, Reg32 } + encodekey256, 0xf30f38fb, KL, Modrm|NoSuf, { Reg32, Reg32 } ++encodekey256, 0xf3db, KL&APX_F, Modrm|NoSuf|EVexMap4, { Reg32, Reg32 } + aesenc128kl, 0xf30f38dc, KL, Modrm|NoSuf, { Unspecified|BaseIndex, RegXMM } ++aesenc128kl, 0xf3dc, KL&APX_F, Modrm|NoSuf|EVexMap4, { Unspecified|BaseIndex, RegXMM } + aesdec128kl, 0xf30f38dd, KL, Modrm|NoSuf, { Unspecified|BaseIndex, RegXMM } ++aesdec128kl, 0xf3dd, KL&APX_F, Modrm|NoSuf|EVexMap4, { Unspecified|BaseIndex, RegXMM } + aesenc256kl, 0xf30f38de, KL, Modrm|NoSuf, { Unspecified|BaseIndex, RegXMM } ++aesenc256kl, 0xf3de, KL&APX_F, Modrm|NoSuf|EVexMap4, { Unspecified|BaseIndex, RegXMM } + aesdec256kl, 0xf30f38df, KL, Modrm|NoSuf, { Unspecified|BaseIndex, RegXMM } ++aesdec256kl, 0xf3df, KL&APX_F, Modrm|NoSuf|EVexMap4, { Unspecified|BaseIndex, RegXMM } + aesencwide128kl, 0xf30f38d8/0, WideKL, Modrm|NoSuf, { Unspecified|BaseIndex } ++aesencwide128kl, 0xf3d8/0, WideKL&APX_F, Modrm|NoSuf|EVexMap4, { Unspecified|BaseIndex } + aesdecwide128kl, 0xf30f38d8/1, WideKL, Modrm|NoSuf, { Unspecified|BaseIndex } ++aesdecwide128kl, 0xf3d8/1, WideKL&APX_F, Modrm|NoSuf|EVexMap4, { Unspecified|BaseIndex } + aesencwide256kl, 0xf30f38d8/2, WideKL, Modrm|NoSuf, { Unspecified|BaseIndex } ++aesencwide256kl, 0xf3d8/2, WideKL&APX_F, Modrm|NoSuf|EVexMap4, { Unspecified|BaseIndex } + aesdecwide256kl, 0xf30f38d8/3, WideKL, Modrm|NoSuf, { Unspecified|BaseIndex } ++aesdecwide256kl, 0xf3d8/3, WideKL&APX_F, Modrm|NoSuf|EVexMap4, { Unspecified|BaseIndex } + + // KEYLOCKER instructions end. + + // TDX instructions. + + tdcall, 0x660f01cc, TDX, NoSuf, {} +-seamret, 0x660f01cd, TDX|x64, NoSuf, {} +-seamops, 0x660f01ce, TDX|x64, NoSuf, {} +-seamcall, 0x660f01cf, TDX|x64, NoSuf, {} ++seamret, 0x660f01cd, TDX&x64, NoSuf, {} ++seamops, 0x660f01ce, TDX&x64, NoSuf, {} ++seamcall, 0x660f01cf, TDX&x64, NoSuf, {} + + // TDX instructions end. + + // UINTR instructions. + +-uiret, 0xf30f01ec, UINTR|x64, NoSuf, {} +-clui, 0xf30f01ee, UINTR|x64, NoSuf, {} +-stui, 0xf30f01ef, UINTR|x64, NoSuf, {} +-testui, 0xf30f01ed, UINTR|x64, NoSuf, {} +-senduipi, 0xf30fc7/6, UINTR|x64, Modrm|NoSuf|NoRex64, { Reg64 } ++uiret, 0xf30f01ec, UINTR, NoSuf, {} ++clui, 0xf30f01ee, UINTR, NoSuf, {} ++stui, 0xf30f01ef, UINTR, NoSuf, {} ++testui, 0xf30f01ed, UINTR, NoSuf, {} ++senduipi, 0xf30fc7/6, UINTR, Modrm|NoSuf|NoRex64, { Reg64 } + + // UINTR instructions end. + +@@ -3231,37 +3336,37 @@ vcmpph, 0xc2, AVX512_FP16, Modrm|Masking + vcmpsh, 0xf3c2/0x, AVX512_FP16, Modrm|EVexLIG|Masking|Space0F3A|VexVVVV|VexW0|Disp8MemShift=1|NoSuf|ImmExt|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegXMM, RegMask } + vcmpsh, 0xf3c2, AVX512_FP16, Modrm|EVexLIG|Masking|Space0F3A|VexVVVV|VexW0|Disp8MemShift=1|NoSuf|SAE, { Imm8, RegXMM|Word|Unspecified|BaseIndex, RegXMM, RegMask } + +-vcvtdq2ph, 0x5b, AVX512_FP16|, Modrm||Masking|EVexMap5|VexW0|Broadcast|NoSuf|, { |Dword, } +-vcvtudq2ph, 0xf27a, AVX512_FP16|, Modrm||Masking|EVexMap5|VexW0|Broadcast|NoSuf|, { |Dword, } ++vcvtdq2ph, 0x5b, AVX512_FP16&, Modrm||Masking|EVexMap5|VexW0|Broadcast|NoSuf|, { |Dword, } ++vcvtudq2ph, 0xf27a, AVX512_FP16&, Modrm||Masking|EVexMap5|VexW0|Broadcast|NoSuf|, { |Dword, } + +-vcvtqq2ph, 0x5b, AVX512_FP16|, Modrm||Masking|EVexMap5|VexW1|Broadcast|NoSuf||, { |Qword, RegXMM } +-vcvtuqq2ph, 0xf27a, AVX512_FP16|, Modrm||Masking|EVexMap5|VexW1|Broadcast|NoSuf||, { |Qword, RegXMM } ++vcvtqq2ph, 0x5b, AVX512_FP16&, Modrm||Masking|EVexMap5|VexW1|Broadcast|NoSuf||, { |Qword, RegXMM } ++vcvtuqq2ph, 0xf27a, AVX512_FP16&, Modrm||Masking|EVexMap5|VexW1|Broadcast|NoSuf||, { |Qword, RegXMM } + +-vcvtpd2ph, 0x665a, AVX512_FP16|, Modrm||Masking|EVexMap5|VexW1|Broadcast|NoSuf||, { |Qword, RegXMM } ++vcvtpd2ph, 0x665a, AVX512_FP16&, Modrm||Masking|EVexMap5|VexW1|Broadcast|NoSuf||, { |Qword, RegXMM } + +-vcvtps2phx, 0x661d, AVX512_FP16|, Modrm||Masking|EVexMap5|VexW0|Broadcast|NoSuf|, { |Dword, } ++vcvtps2phx, 0x661d, AVX512_FP16&, Modrm||Masking|EVexMap5|VexW0|Broadcast|NoSuf|, { |Dword, } + + vcvtw2ph, 0xf37d, AVX512_FP16, Modrm|Masking|EVexMap5|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + vcvtuw2ph, 0xf27d, AVX512_FP16, Modrm|Masking|EVexMap5|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + +-vcvtph2dq, 0x665b, AVX512_FP16|AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } +-vcvtph2dq, 0x665b, AVX512_FP16|AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } ++vcvtph2dq, 0x665b, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } ++vcvtph2dq, 0x665b, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } + vcvtph2dq, 0x665b, AVX512_FP16, Modrm|EVex512|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=5|NoSuf|StaticRounding|SAE, { RegYMM|Word|Unspecified|BaseIndex, RegZMM } + +-vcvtph2udq, 0x79, AVX512_FP16|AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } +-vcvtph2udq, 0x79, AVX512_FP16|AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } ++vcvtph2udq, 0x79, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } ++vcvtph2udq, 0x79, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } + vcvtph2udq, 0x79, AVX512_FP16, Modrm|EVex512|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=5|NoSuf|StaticRounding|SAE, { RegYMM|Word|Unspecified|BaseIndex, RegZMM } + +-vcvtph2qq, 0x667b, AVX512_FP16|AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } +-vcvtph2qq, 0x667b, AVX512_FP16|AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } ++vcvtph2qq, 0x667b, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } ++vcvtph2qq, 0x667b, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } + vcvtph2qq, 0x667b, AVX512_FP16, Modrm|EVex512|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|StaticRounding|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegZMM } + +-vcvtph2uqq, 0x6679, AVX512_FP16|AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } +-vcvtph2uqq, 0x6679, AVX512_FP16|AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } ++vcvtph2uqq, 0x6679, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } ++vcvtph2uqq, 0x6679, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } + vcvtph2uqq, 0x6679, AVX512_FP16, Modrm|EVex512|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|StaticRounding|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegZMM } + +-vcvtph2pd, 0x5a, AVX512_FP16|AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } +-vcvtph2pd, 0x5a, AVX512_FP16|AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } ++vcvtph2pd, 0x5a, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } ++vcvtph2pd, 0x5a, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } + vcvtph2pd, 0x5a, AVX512_FP16, Modrm|EVex512|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegZMM } + + vcvtph2w, 0x667d, AVX512_FP16, Modrm|Masking|EVexMap5|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +@@ -3281,24 +3386,24 @@ vcvtsh2ss, 0x13, AVX512_FP16, Modrm|EVex + + vcvtsh2si, 0xf32d, AVX512_FP16, Modrm|EVexLIG|EVexMap5|Disp8MemShift=1|NoSuf|StaticRounding|SAE, { RegXMM|Word|Unspecified|BaseIndex, Reg32|Reg64 } + +-vcvttph2dq, 0xf35b, AVX512_FP16|AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } +-vcvttph2dq, 0xf35b, AVX512_FP16|AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } ++vcvttph2dq, 0xf35b, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } ++vcvttph2dq, 0xf35b, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } + vcvttph2dq, 0xf35b, AVX512_FP16, Modrm|EVex512|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=5|NoSuf|SAE, { RegYMM|Word|Unspecified|BaseIndex, RegZMM } + +-vcvttph2udq, 0x78, AVX512_FP16|AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } +-vcvttph2udq, 0x78, AVX512_FP16|AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } ++vcvttph2udq, 0x78, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } ++vcvttph2udq, 0x78, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } + vcvttph2udq, 0x78, AVX512_FP16, Modrm|EVex512|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=5|NoSuf|SAE, { RegYMM|Word|Unspecified|BaseIndex, RegZMM } + +-vcvttph2qq, 0x667a, AVX512_FP16|AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } +-vcvttph2qq, 0x667a, AVX512_FP16|AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } ++vcvttph2qq, 0x667a, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } ++vcvttph2qq, 0x667a, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } + vcvttph2qq, 0x667a, AVX512_FP16, Modrm|EVex512|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegZMM } + +-vcvttph2uqq, 0x6678, AVX512_FP16|AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } +-vcvttph2uqq, 0x6678, AVX512_FP16|AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } ++vcvttph2uqq, 0x6678, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } ++vcvttph2uqq, 0x6678, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } + vcvttph2uqq, 0x6678, AVX512_FP16, Modrm|EVex512|Masking|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegZMM } + +-vcvtph2psx, 0x6613, AVX512_FP16|AVX512VL, Modrm|EVex128|Masking|EVexMap6|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } +-vcvtph2psx, 0x6613, AVX512_FP16|AVX512VL, Modrm|EVex256|Masking|EVexMap6|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } ++vcvtph2psx, 0x6613, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|EVexMap6|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } ++vcvtph2psx, 0x6613, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|EVexMap6|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } + vcvtph2psx, 0x6613, AVX512_FP16, Modrm|EVex512|Masking|EVexMap6|VexW0|Broadcast|Disp8MemShift=5|NoSuf|SAE, { RegYMM|Word|Unspecified|BaseIndex, RegZMM } + + vcvttph2w, 0x667c, AVX512_FP16, Modrm|Masking|EVexMap5|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|SAE, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +@@ -3306,7 +3411,7 @@ vcvttph2uw, 0x7c, AVX512_FP16, Modrm|Mas + + vcvttsh2si, 0xf32c, AVX512_FP16, Modrm|EVexLIG|EVexMap5|Disp8MemShift=1|NoSuf|SAE, { RegXMM|Word|Unspecified|BaseIndex, Reg32|Reg64 } + +-vfpclassph, 0x66, AVX512_FP16|, Modrm||Masking|Space0F3A|VexW0|Broadcast|NoSuf|, { Imm8|Imm8S, |Word, RegMask } ++vfpclassph, 0x66, AVX512_FP16&, Modrm||Masking|Space0F3A|VexW0|Broadcast|NoSuf|, { Imm8|Imm8S, |Word, RegMask } + + vmovw, 0x666e, AVX512_FP16, D|Modrm|EVex128|VexWIG|EVexMap5|Disp8MemShift=1|NoSuf, { Word|Unspecified|BaseIndex, RegXMM } + vmovw, 0x667e, AVX512_FP16, D|RegMem|EVex128|VexWIG|EVexMap5|NoSuf, { RegXMM, Reg32 } +@@ -3323,14 +3428,14 @@ vrsqrtsh, 0x664f, AVX512_FP16, Modrm|EVe + + // PREFETCHI instructions. + +-prefetchit0, 0xf18/7, PREFETCHI|x64, Modrm|Anysize|IgnoreSize|NoSuf, { BaseIndex } +-prefetchit1, 0xf18/6, PREFETCHI|x64, Modrm|Anysize|IgnoreSize|NoSuf, { BaseIndex } ++prefetchit0, 0xf18/7, PREFETCHI, Modrm|Anysize|IgnoreSize|NoSuf, { BaseIndex } ++prefetchit1, 0xf18/6, PREFETCHI, Modrm|Anysize|IgnoreSize|NoSuf, { BaseIndex } + + // PREFETCHI instructions end. + + // CMPCCXADD instructions. + +-cmpxadd, 0x66e, CMPCCXADD|x64, Modrm|Vex|Space0F38|VexVVVV|SwapSources|CheckOperandSize|NoSuf, { Reg32|Reg64, Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } ++cmpxadd, 0x66e, APX_F(CMPCCXADD), Modrm|Vex|EVex128|Space0F38|VexVVVV|SwapSources|CheckOperandSize|NoSuf, { Reg32|Reg64, Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } + + // CMPCCXADD instructions end. + +@@ -3342,30 +3447,54 @@ wrmsrns, 0x0f01c6, WRMSRNS, NoSuf, {} + + // MSRLIST instructions. + +-rdmsrlist, 0xf20f01c6, MSRLIST|x64, NoSuf, {} +-wrmsrlist, 0xf30f01c6, MSRLIST|x64, NoSuf, {} ++rdmsrlist, 0xf20f01c6, MSRLIST, NoSuf, {} ++wrmsrlist, 0xf30f01c6, MSRLIST, NoSuf, {} + + // MSRLIST instructions end. + + // RAO-INT instructions. + + aadd, 0xf38fc, RAO_INT, Modrm|IgnoreSize|CheckOperandSize|NoSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } ++aadd, 0xfc, RAO_INT&APX_F, Modrm|IgnoreSize|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } + aand, 0x660f38fc, RAO_INT, Modrm|IgnoreSize|CheckOperandSize|NoSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } ++aand, 0x66fc, RAO_INT&APX_F, Modrm|IgnoreSize|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } + aor, 0xf20f38fc, RAO_INT, Modrm|IgnoreSize|CheckOperandSize|NoSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } ++aor, 0xf2fc, RAO_INT&APX_F, Modrm|IgnoreSize|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } + axor, 0xf30f38fc, RAO_INT, Modrm|IgnoreSize|CheckOperandSize|NoSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } ++axor, 0xf3fc, RAO_INT&APX_F, Modrm|IgnoreSize|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex } + + // RAO-INT instructions end. + + // LKGS instruction. + +-lkgs, 0xf20f00/6, LKGS|x64, Modrm|IgnoreSize|No_bSuf|No_sSuf|NoRex64, { Reg16|Reg32|Reg64 } +-lkgs, 0xf20f00/6, LKGS|x64, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf, { Word|Unspecified|BaseIndex } ++lkgs, 0xf20f00/6, LKGS, Modrm|IgnoreSize|No_bSuf|No_sSuf|NoRex64, { Reg16|Reg32|Reg64 } ++lkgs, 0xf20f00/6, LKGS, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf, { Word|Unspecified|BaseIndex } + + // LKGS instruction end. + + // FRED instructions. + +-erets, 0xf20f01ca, FRED|x64, NoSuf, {} +-eretu, 0xf30f01ca, FRED|x64, NoSuf, {} ++erets, 0xf20f01ca, FRED, NoSuf, {} ++eretu, 0xf30f01ca, FRED, NoSuf, {} + + // FRED instructions end. ++ ++// USER_MSR instructions. ++ ++urdmsr, 0xf20f38f8, USER_MSR, RegMem|NoSuf|NoRex64, { Reg64, Reg64 } ++urdmsr, 0xf2f8/0, USER_MSR, Modrm|Vex128|VexMap7|VexW0|NoSuf, { Imm32, Reg64 } ++uwrmsr, 0xf30f38f8, USER_MSR, Modrm|NoSuf|NoRex64, { Reg64, Reg64 } ++// Immediates want to be first; md_assemble() takes care of swapping operands ++// accordingly. ++uwrmsr, 0xf3f8/0, USER_MSR, Modrm|Vex128|VexMap7|VexW0|NoSuf, { Imm32, Reg64 } ++ ++// USER_MSR instructions end. ++ ++// APX Push2/Pop2 instructions. ++ ++push2, 0xff/6, APX_F, Modrm|VexW0|EVex128|EVexMap4|VexVVVV|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg64, Reg64 } ++push2p, 0xff/6, APX_F, Modrm|VexW1|EVex128|EVexMap4|VexVVVV|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg64, Reg64 } ++pop2, 0x8f/0, APX_F, Modrm|VexW0|EVex128|EVexMap4|VexVVVV|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg64, Reg64 } ++pop2p, 0x8f/0, APX_F, Modrm|VexW1|EVex128|EVexMap4|VexVVVV|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg64, Reg64 } ++ ++// APX Push2/Pop2 instructions end. +diff -rupN binutils.orig/opcodes/i386-reg.tbl binutils-2.41/opcodes/i386-reg.tbl +--- binutils.orig/opcodes/i386-reg.tbl 2024-01-18 12:12:24.602946633 +0000 ++++ binutils-2.41/opcodes/i386-reg.tbl 2024-01-18 12:13:13.517911158 +0000 +@@ -1,5 +1,5 @@ + // i386 register table. +-// Copyright (C) 2007-2023 Free Software Foundation, Inc. ++// Copyright (C) 2007-2024 Free Software Foundation, Inc. + // + // This file is part of the GNU opcodes library. + // +@@ -18,6 +18,9 @@ + // Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA + // 02110-1301, USA. + ++// The code in gas backend for SCFI relies on the relative ordering ++// of 8 bit / 16 bit / 32 bit / 64 bit regs ++ + // 8 bit regs + al, Class=Reg|Instance=Accum|Byte, 0, 0, Dw2Inval, Dw2Inval + cl, Class=Reg|Instance=RegC|Byte, 0, 1, Dw2Inval, Dw2Inval +@@ -43,6 +46,22 @@ r12b, Class=Reg|Byte, RegRex|RegRex64, 4 + r13b, Class=Reg|Byte, RegRex|RegRex64, 5, Dw2Inval, Dw2Inval + r14b, Class=Reg|Byte, RegRex|RegRex64, 6, Dw2Inval, Dw2Inval + r15b, Class=Reg|Byte, RegRex|RegRex64, 7, Dw2Inval, Dw2Inval ++r16b, Class=Reg|Byte, RegRex2|RegRex64, 0, Dw2Inval, Dw2Inval ++r17b, Class=Reg|Byte, RegRex2|RegRex64, 1, Dw2Inval, Dw2Inval ++r18b, Class=Reg|Byte, RegRex2|RegRex64, 2, Dw2Inval, Dw2Inval ++r19b, Class=Reg|Byte, RegRex2|RegRex64, 3, Dw2Inval, Dw2Inval ++r20b, Class=Reg|Byte, RegRex2|RegRex64, 4, Dw2Inval, Dw2Inval ++r21b, Class=Reg|Byte, RegRex2|RegRex64, 5, Dw2Inval, Dw2Inval ++r22b, Class=Reg|Byte, RegRex2|RegRex64, 6, Dw2Inval, Dw2Inval ++r23b, Class=Reg|Byte, RegRex2|RegRex64, 7, Dw2Inval, Dw2Inval ++r24b, Class=Reg|Byte, RegRex2|RegRex64|RegRex, 0, Dw2Inval, Dw2Inval ++r25b, Class=Reg|Byte, RegRex2|RegRex64|RegRex, 1, Dw2Inval, Dw2Inval ++r26b, Class=Reg|Byte, RegRex2|RegRex64|RegRex, 2, Dw2Inval, Dw2Inval ++r27b, Class=Reg|Byte, RegRex2|RegRex64|RegRex, 3, Dw2Inval, Dw2Inval ++r28b, Class=Reg|Byte, RegRex2|RegRex64|RegRex, 4, Dw2Inval, Dw2Inval ++r29b, Class=Reg|Byte, RegRex2|RegRex64|RegRex, 5, Dw2Inval, Dw2Inval ++r30b, Class=Reg|Byte, RegRex2|RegRex64|RegRex, 6, Dw2Inval, Dw2Inval ++r31b, Class=Reg|Byte, RegRex2|RegRex64|RegRex, 7, Dw2Inval, Dw2Inval + // 16 bit regs + ax, Class=Reg|Instance=Accum|Word, 0, 0, Dw2Inval, Dw2Inval + cx, Class=Reg|Word, 0, 1, Dw2Inval, Dw2Inval +@@ -60,6 +79,22 @@ r12w, Class=Reg|Word, RegRex, 4, Dw2Inva + r13w, Class=Reg|Word, RegRex, 5, Dw2Inval, Dw2Inval + r14w, Class=Reg|Word, RegRex, 6, Dw2Inval, Dw2Inval + r15w, Class=Reg|Word, RegRex, 7, Dw2Inval, Dw2Inval ++r16w, Class=Reg|Word, RegRex2, 0, Dw2Inval, Dw2Inval ++r17w, Class=Reg|Word, RegRex2, 1, Dw2Inval, Dw2Inval ++r18w, Class=Reg|Word, RegRex2, 2, Dw2Inval, Dw2Inval ++r19w, Class=Reg|Word, RegRex2, 3, Dw2Inval, Dw2Inval ++r20w, Class=Reg|Word, RegRex2, 4, Dw2Inval, Dw2Inval ++r21w, Class=Reg|Word, RegRex2, 5, Dw2Inval, Dw2Inval ++r22w, Class=Reg|Word, RegRex2, 6, Dw2Inval, Dw2Inval ++r23w, Class=Reg|Word, RegRex2, 7, Dw2Inval, Dw2Inval ++r24w, Class=Reg|Word, RegRex2|RegRex, 0, Dw2Inval, Dw2Inval ++r25w, Class=Reg|Word, RegRex2|RegRex, 1, Dw2Inval, Dw2Inval ++r26w, Class=Reg|Word, RegRex2|RegRex, 2, Dw2Inval, Dw2Inval ++r27w, Class=Reg|Word, RegRex2|RegRex, 3, Dw2Inval, Dw2Inval ++r28w, Class=Reg|Word, RegRex2|RegRex, 4, Dw2Inval, Dw2Inval ++r29w, Class=Reg|Word, RegRex2|RegRex, 5, Dw2Inval, Dw2Inval ++r30w, Class=Reg|Word, RegRex2|RegRex, 6, Dw2Inval, Dw2Inval ++r31w, Class=Reg|Word, RegRex2|RegRex, 7, Dw2Inval, Dw2Inval + // 32 bit regs + eax, Class=Reg|Instance=Accum|Dword|BaseIndex, 0, 0, 0, Dw2Inval + ecx, Class=Reg|Instance=RegC|Dword|BaseIndex, 0, 1, 1, Dw2Inval +@@ -77,6 +112,22 @@ r12d, Class=Reg|Dword|BaseIndex, RegRex, + r13d, Class=Reg|Dword|BaseIndex, RegRex, 5, Dw2Inval, Dw2Inval + r14d, Class=Reg|Dword|BaseIndex, RegRex, 6, Dw2Inval, Dw2Inval + r15d, Class=Reg|Dword|BaseIndex, RegRex, 7, Dw2Inval, Dw2Inval ++r16d, Class=Reg|Dword|BaseIndex, RegRex2, 0, Dw2Inval, Dw2Inval ++r17d, Class=Reg|Dword|BaseIndex, RegRex2, 1, Dw2Inval, Dw2Inval ++r18d, Class=Reg|Dword|BaseIndex, RegRex2, 2, Dw2Inval, Dw2Inval ++r19d, Class=Reg|Dword|BaseIndex, RegRex2, 3, Dw2Inval, Dw2Inval ++r20d, Class=Reg|Dword|BaseIndex, RegRex2, 4, Dw2Inval, Dw2Inval ++r21d, Class=Reg|Dword|BaseIndex, RegRex2, 5, Dw2Inval, Dw2Inval ++r22d, Class=Reg|Dword|BaseIndex, RegRex2, 6, Dw2Inval, Dw2Inval ++r23d, Class=Reg|Dword|BaseIndex, RegRex2, 7, Dw2Inval, Dw2Inval ++r24d, Class=Reg|Dword|BaseIndex, RegRex2|RegRex, 0, Dw2Inval, Dw2Inval ++r25d, Class=Reg|Dword|BaseIndex, RegRex2|RegRex, 1, Dw2Inval, Dw2Inval ++r26d, Class=Reg|Dword|BaseIndex, RegRex2|RegRex, 2, Dw2Inval, Dw2Inval ++r27d, Class=Reg|Dword|BaseIndex, RegRex2|RegRex, 3, Dw2Inval, Dw2Inval ++r28d, Class=Reg|Dword|BaseIndex, RegRex2|RegRex, 4, Dw2Inval, Dw2Inval ++r29d, Class=Reg|Dword|BaseIndex, RegRex2|RegRex, 5, Dw2Inval, Dw2Inval ++r30d, Class=Reg|Dword|BaseIndex, RegRex2|RegRex, 6, Dw2Inval, Dw2Inval ++r31d, Class=Reg|Dword|BaseIndex, RegRex2|RegRex, 7, Dw2Inval, Dw2Inval + rax, Class=Reg|Instance=Accum|Qword|BaseIndex, 0, 0, Dw2Inval, 0 + rcx, Class=Reg|Instance=RegC|Qword|BaseIndex, 0, 1, Dw2Inval, 2 + rdx, Class=Reg|Instance=RegD|Qword|BaseIndex, 0, 2, Dw2Inval, 1 +@@ -93,6 +144,22 @@ r12, Class=Reg|Qword|BaseIndex, RegRex, + r13, Class=Reg|Qword|BaseIndex, RegRex, 5, Dw2Inval, 13 + r14, Class=Reg|Qword|BaseIndex, RegRex, 6, Dw2Inval, 14 + r15, Class=Reg|Qword|BaseIndex, RegRex, 7, Dw2Inval, 15 ++r16, Class=Reg|Qword|BaseIndex, RegRex2, 0, Dw2Inval, 130 ++r17, Class=Reg|Qword|BaseIndex, RegRex2, 1, Dw2Inval, 131 ++r18, Class=Reg|Qword|BaseIndex, RegRex2, 2, Dw2Inval, 132 ++r19, Class=Reg|Qword|BaseIndex, RegRex2, 3, Dw2Inval, 133 ++r20, Class=Reg|Qword|BaseIndex, RegRex2, 4, Dw2Inval, 134 ++r21, Class=Reg|Qword|BaseIndex, RegRex2, 5, Dw2Inval, 135 ++r22, Class=Reg|Qword|BaseIndex, RegRex2, 6, Dw2Inval, 136 ++r23, Class=Reg|Qword|BaseIndex, RegRex2, 7, Dw2Inval, 137 ++r24, Class=Reg|Qword|BaseIndex, RegRex2|RegRex, 0, Dw2Inval, 138 ++r25, Class=Reg|Qword|BaseIndex, RegRex2|RegRex, 1, Dw2Inval, 139 ++r26, Class=Reg|Qword|BaseIndex, RegRex2|RegRex, 2, Dw2Inval, 140 ++r27, Class=Reg|Qword|BaseIndex, RegRex2|RegRex, 3, Dw2Inval, 141 ++r28, Class=Reg|Qword|BaseIndex, RegRex2|RegRex, 4, Dw2Inval, 142 ++r29, Class=Reg|Qword|BaseIndex, RegRex2|RegRex, 5, Dw2Inval, 143 ++r30, Class=Reg|Qword|BaseIndex, RegRex2|RegRex, 6, Dw2Inval, 144 ++r31, Class=Reg|Qword|BaseIndex, RegRex2|RegRex, 7, Dw2Inval, 145 + // Vector mask registers. + k0, Class=RegMask, 0, 0, 93, 118 + k1, Class=RegMask, 0, 1, 94, 119 +diff -rupN binutils.orig/opcodes/i386-tbl.h binutils-2.41/opcodes/i386-tbl.h +--- binutils.orig/opcodes/i386-tbl.h 2024-01-18 12:12:24.644946663 +0000 ++++ binutils-2.41/opcodes/i386-tbl.h 2024-01-18 12:13:13.518911151 +0000 +@@ -1,5 +1,5 @@ + /* This file is automatically generated by i386-gen. Do not edit! */ +-/* Copyright (C) 2007-2023 Free Software Foundation, Inc. ++/* Copyright (C) 2007-2024 Free Software Foundation, Inc. + + This file is part of the GNU opcodes library. + +@@ -26,30 +26,20 @@ static const insn_template i386_optab[] + { + { MN_mov, 0xa0, 2, SPACE_BASE, None, + { 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mov, 0xa0, 2, SPACE_BASE, None, + { 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, +@@ -58,13 +48,8 @@ static const insn_template i386_optab[] + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -73,43 +58,28 @@ static const insn_template i386_optab[] + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mov, 0xc6, 2, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_mov, 0xb8, 2, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -118,13 +88,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -133,13 +98,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -148,13 +108,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -163,13 +118,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -178,13 +128,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -193,13 +138,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -208,13 +148,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -223,28 +158,18 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movabs, 0xa0, 2, SPACE_BASE, None, + { 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, +@@ -253,43 +178,38 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movbe, 0xf0, 2, SPACE_0F38, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_movbe, 0x60, 2, SPACE_EVEXMAP4, None, ++ { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 47, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_movsb, 0xbe, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -298,13 +218,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -313,13 +228,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -328,13 +238,8 @@ static const insn_template i386_optab[] + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -343,13 +248,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -358,43 +258,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movsxd, 0x63, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movsxd, 0x63, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +@@ -403,13 +288,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -418,13 +298,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -433,262 +308,178 @@ static const insn_template i386_optab[] + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0x50, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0xff, 1, SPACE_BASE, 6, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_push, 0x6a, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0x68, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0x06, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0x50, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0xff, 1, SPACE_BASE, 6, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_push, 0x6a, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0x68, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0xa0, 1, SPACE_0F, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_pushp, 0x50, 1, SPACE_BASE, None, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_pusha, 0x60, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pop, 0x58, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pop, 0x8f, 1, SPACE_BASE, 0, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pop, 0x07, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pop, 0x58, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pop, 0x8f, 1, SPACE_BASE, 0, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pop, 0xa1, 1, SPACE_0F, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_popp, 0x58, 1, SPACE_BASE, None, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_popa, 0x61, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xchg, 0x90, 2, SPACE_BASE, None, + { 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -697,140 +488,90 @@ static const insn_template i386_optab[] + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_in, 0xe4, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_in, 0xec, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_in, 0xe4, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_in, 0xec, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_out, 0xe6, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_out, 0xee, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_out, 0xe6, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_out, 0xee, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lea, 0x8d, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -839,13 +580,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, +@@ -854,103 +590,68 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lfs, 0xb4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lfs, 0xb4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lgs, 0xb5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lgs, 0xb5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lss, 0xb2, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lss, 0xb2, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -959,236 +660,170 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cld, 0xfc, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cli, 0xfa, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clts, 0x06, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmc, 0xf5, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lahf, 0x9f, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lahf, 0x9f, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sahf, 0x9e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sahf, 0x9e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pushf, 0x9c, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pushf, 0x9c, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_popf, 0x9d, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_popf, 0x9d, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_stc, 0xf9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_std, 0xfd, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sti, 0xfb, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_add, 0x00, 3, SPACE_EVEXMAP4, None, ++ { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_add, 0x00, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_add, 0x83, 3, SPACE_EVEXMAP4, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_add, 0x83, 2, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, +@@ -1197,84 +832,100 @@ static const insn_template i386_optab[] + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_add, 0x80, 3, SPACE_EVEXMAP4, 0, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_add, 0x80, 2, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_inc, 0x40, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_inc, 0xfe, 2, SPACE_EVEXMAP4, 0, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_inc, 0xfe, 1, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_sub, 0x28, 3, SPACE_EVEXMAP4, None, ++ { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_sub, 0x28, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_sub, 0x83, 3, SPACE_EVEXMAP4, 5, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_sub, 0x83, 2, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, +@@ -1283,84 +934,100 @@ static const insn_template i386_optab[] + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_sub, 0x80, 3, SPACE_EVEXMAP4, 5, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_sub, 0x80, 2, SPACE_BASE, 5, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_dec, 0x48, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_dec, 0xfe, 2, SPACE_EVEXMAP4, 1, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_dec, 0xfe, 1, SPACE_BASE, 1, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_sbb, 0x18, 3, SPACE_EVEXMAP4, None, ++ { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_sbb, 0x18, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_sbb, 0x83, 3, SPACE_EVEXMAP4, 3, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_sbb, 0x83, 2, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, +@@ -1369,43 +1036,50 @@ static const insn_template i386_optab[] + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_sbb, 0x80, 3, SPACE_EVEXMAP4, 3, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_sbb, 0x80, 2, SPACE_BASE, 3, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_sbb, 0x80, 2, SPACE_EVEXMAP4, 3, ++ { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmp, 0x38, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -1414,13 +1088,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, +@@ -1429,13 +1098,8 @@ static const insn_template i386_optab[] + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, +@@ -1444,13 +1108,8 @@ static const insn_template i386_optab[] + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -1459,133 +1118,148 @@ static const insn_template i386_optab[] + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_test, 0xa8, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_test, 0xf6, 2, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_and, 0x20, 3, SPACE_EVEXMAP4, None, ++ { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_and, 0x20, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_and, 0x83, 3, SPACE_EVEXMAP4, 4, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_and, 0x83, 2, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_and, 0x24, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_and, 0x80, 3, SPACE_EVEXMAP4, 4, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_and, 0x80, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_or, 0x08, 3, SPACE_EVEXMAP4, None, ++ { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_or, 0x08, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_or, 0x83, 3, SPACE_EVEXMAP4, 1, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_or, 0x83, 2, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, +@@ -1594,58 +1268,74 @@ static const insn_template i386_optab[] + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_or, 0x80, 3, SPACE_EVEXMAP4, 1, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_or, 0x80, 2, SPACE_BASE, 1, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_xor, 0x30, 3, SPACE_EVEXMAP4, None, ++ { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_xor, 0x30, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_xor, 0x83, 3, SPACE_EVEXMAP4, 6, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_xor, 0x83, 2, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, +@@ -1654,71 +1344,82 @@ static const insn_template i386_optab[] + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_xor, 0x80, 3, SPACE_EVEXMAP4, 6, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_xor, 0x80, 2, SPACE_BASE, 6, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_clr, 0x30, 1, SPACE_BASE, None, + { 0, 1, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_adc, 0x10, 3, SPACE_EVEXMAP4, None, ++ { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_adc, 0x10, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_adc, 0x83, 3, SPACE_EVEXMAP4, 2, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_adc, 0x83, 2, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, +@@ -1727,355 +1428,264 @@ static const insn_template i386_optab[] + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_adc, 0x80, 3, SPACE_EVEXMAP4, 2, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_adc, 0x80, 2, SPACE_BASE, 2, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_neg, 0xf6, 2, SPACE_EVEXMAP4, 3, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_neg, 0xf6, 1, SPACE_BASE, 3, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_not, 0xf6, 2, SPACE_EVEXMAP4, 2, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_not, 0xf6, 1, SPACE_BASE, 2, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_aaa, 0x37, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aas, 0x3f, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_daa, 0x27, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_das, 0x2f, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aad, 0xd50a, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aad, 0xd5, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aam, 0xd40a, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aam, 0xd4, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cbw, 0x98, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cwde, 0x98, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cdqe, 0x98, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cwd, 0x99, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cdq, 0x99, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cqo, 0x99, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cbtw, 0x98, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cwtl, 0x98, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cltq, 0x98, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cwtd, 0x99, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cltd, 0x99, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cqto, 0x99, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mul, 0xf6, 1, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_imul, 0xf6, 1, SPACE_BASE, 5, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_imul, 0xaf, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_imul, 0xaf, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -2084,13 +1694,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, +@@ -2101,13 +1706,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, +@@ -2118,13 +1718,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -2133,13 +1728,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -2148,26 +1738,16 @@ static const insn_template i386_optab[] + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_div, 0xf6, 2, SPACE_BASE, 6, + { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, +@@ -2176,71 +1756,82 @@ static const insn_template i386_optab[] + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_idiv, 0xf6, 2, SPACE_BASE, 7, + { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_rol, 0xd0, 3, SPACE_EVEXMAP4, 0, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_rol, 0xd0, 2, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rol, 0xc0, 3, SPACE_EVEXMAP4, 0, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_rol, 0xc0, 2, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rol, 0xd2, 3, SPACE_EVEXMAP4, 0, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_rol, 0xd2, 2, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -2249,56 +1840,72 @@ static const insn_template i386_optab[] + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_ror, 0xd0, 3, SPACE_EVEXMAP4, 1, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_ror, 0xd0, 2, SPACE_BASE, 1, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_ror, 0xc0, 3, SPACE_EVEXMAP4, 1, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_ror, 0xc0, 2, SPACE_BASE, 1, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_ror, 0xd2, 3, SPACE_EVEXMAP4, 1, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_ror, 0xd2, 2, SPACE_BASE, 1, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -2307,172 +1914,296 @@ static const insn_template i386_optab[] + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcl, 0xd0, 3, SPACE_EVEXMAP4, 2, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_rcl, 0xd0, 2, SPACE_BASE, 2, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcl, 0xd0, 2, SPACE_EVEXMAP4, 2, ++ { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcl, 0xc0, 3, SPACE_EVEXMAP4, 2, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_rcl, 0xc0, 2, SPACE_BASE, 2, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcl, 0xc0, 2, SPACE_EVEXMAP4, 2, ++ { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcl, 0xd2, 3, SPACE_EVEXMAP4, 2, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_rcl, 0xd2, 2, SPACE_BASE, 2, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcl, 0xd2, 2, SPACE_EVEXMAP4, 2, ++ { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_rcl, 0xd0, 1, SPACE_BASE, 2, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcl, 0xd0, 1, SPACE_EVEXMAP4, 2, ++ { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcr, 0xd0, 3, SPACE_EVEXMAP4, 3, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_rcr, 0xd0, 2, SPACE_BASE, 3, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcr, 0xd0, 2, SPACE_EVEXMAP4, 3, ++ { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcr, 0xc0, 3, SPACE_EVEXMAP4, 3, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_rcr, 0xc0, 2, SPACE_BASE, 3, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcr, 0xc0, 2, SPACE_EVEXMAP4, 3, ++ { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcr, 0xd2, 3, SPACE_EVEXMAP4, 3, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_rcr, 0xd2, 2, SPACE_BASE, 3, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcr, 0xd2, 2, SPACE_EVEXMAP4, 3, ++ { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_rcr, 0xd0, 1, SPACE_BASE, 3, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_rcr, 0xd0, 1, SPACE_EVEXMAP4, 3, ++ { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_sal, 0xd0, 3, SPACE_EVEXMAP4, 4, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_sal, 0xd0, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_sal, 0xc0, 3, SPACE_EVEXMAP4, 4, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_sal, 0xc0, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_sal, 0xd2, 3, SPACE_EVEXMAP4, 4, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_sal, 0xd2, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -2481,56 +2212,72 @@ static const insn_template i386_optab[] + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_shl, 0xd0, 3, SPACE_EVEXMAP4, 4, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_shl, 0xd0, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_shl, 0xc0, 3, SPACE_EVEXMAP4, 4, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_shl, 0xc0, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_shl, 0xd2, 3, SPACE_EVEXMAP4, 4, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_shl, 0xd2, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -2539,56 +2286,72 @@ static const insn_template i386_optab[] + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_shr, 0xd0, 3, SPACE_EVEXMAP4, 5, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_shr, 0xd0, 2, SPACE_BASE, 5, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_shr, 0xc0, 3, SPACE_EVEXMAP4, 5, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_shr, 0xc0, 2, SPACE_BASE, 5, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_shr, 0xd2, 3, SPACE_EVEXMAP4, 5, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_shr, 0xd2, 2, SPACE_BASE, 5, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -2597,56 +2360,72 @@ static const insn_template i386_optab[] + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_sar, 0xd0, 3, SPACE_EVEXMAP4, 7, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_sar, 0xd0, 2, SPACE_BASE, 7, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_sar, 0xc0, 3, SPACE_EVEXMAP4, 7, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_sar, 0xc0, 2, SPACE_BASE, 7, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_sar, 0xd2, 3, SPACE_EVEXMAP4, 7, ++ { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_sar, 0xd2, 2, SPACE_BASE, 7, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -2655,1607 +2434,1082 @@ static const insn_template i386_optab[] + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_shld, 0x24, 4, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_shld, 0xa4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_shld, 0xa5, 4, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_shld, 0xa5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_shld, 0xa5, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_shld, 0xa5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_shrd, 0x2c, 4, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_shrd, 0xac, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_shrd, 0xad, 4, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_shrd, 0xad, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_shrd, 0xad, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_shrd, 0xad, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_call, 0xe8, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 2, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_call, 0xe8, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { 0, 0, 0, 0, 2, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_call, 0xe8, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { 0, 0, 0, 0, 2, 0, 0, 0, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_call, 0xff, 1, SPACE_BASE, 2, +- { 0, 0, 0, 1, 5, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 3, ++ { 0, 0, 0, 1, 5, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_call, 0xff, 1, SPACE_BASE, 2, +- { 0, 0, 0, 1, 5, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 1, 3, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { 0, 0, 0, 1, 5, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 1, 3, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_call, 0xff, 1, SPACE_BASE, 2, +- { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 3, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { 0, 0, 0, 1, 5, 0, 0, 0, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 3, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_call, 0x9a, 2, SPACE_BASE, None, +- { 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 4, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_call, 0xff, 1, SPACE_BASE, 3, +- { 0, 0, 0, 1, 5, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { 0, 0, 0, 1, 5, 0, 0, 0, 10, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_call, 0xff, 1, SPACE_BASE, 3, +- { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { 0, 0, 0, 1, 5, 0, 0, 0, 10, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lcall, 0x9a, 2, SPACE_BASE, None, + { 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lcall, 0xff, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lcall, 0xff, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_jmp, 0xeb, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jmp, 0xeb, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jmp, 0xff, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_jmp, 0xff, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 3, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_jmp, 0xff, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 3, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_jmp, 0xea, 2, SPACE_BASE, None, + { 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jmp, 0xff, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jmp, 0xff, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ljmp, 0xea, 2, SPACE_BASE, None, + { 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ljmp, 0xff, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ljmp, 0xff, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ret, 0xc3, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ret, 0xc2, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ret, 0xc3, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ret, 0xc2, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ret, 0xc3, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { 0, 0, 0, 0, 0, 0, 3, 0, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ret, 0xc2, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 2 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { 0, 0, 0, 0, 0, 0, 3, 0, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lret, 0xcb, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lret, 0xca, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_retf, 0xcb, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_retf, 0xca, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_enter, 0xc8, 2, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_enter, 0xc8, 2, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_leave, 0xc9, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_leave, 0xc9, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jo, 0x70, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jno, 0x71, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jb, 0x72, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jc, 0x72, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnae, 0x72, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnb, 0x73, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnc, 0x73, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jae, 0x73, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_je, 0x74, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jz, 0x74, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jne, 0x75, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnz, 0x75, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jbe, 0x76, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jna, 0x76, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnbe, 0x77, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ja, 0x77, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_js, 0x78, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jns, 0x79, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jp, 0x7a, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jpe, 0x7a, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnp, 0x7b, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jpo, 0x7b, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jl, 0x7c, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnge, 0x7c, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnl, 0x7d, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jge, 0x7d, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jle, 0x7e, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jng, 0x7e, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnle, 0x7f, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jg, 0x7f, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jcxz, 0xe3, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jecxz, 0xe3, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 2, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jrcxz, 0xe3, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loop, 0xe2, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loop, 0xe2, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loopz, 0xe1, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loopz, 0xe1, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loope, 0xe1, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loope, 0xe1, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loopnz, 0xe0, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loopnz, 0xe0, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loopne, 0xe0, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loopne, 0xe0, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_seto, 0x90, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setno, 0x91, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setb, 0x92, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setc, 0x92, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnae, 0x92, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnb, 0x93, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnc, 0x93, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setae, 0x93, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sete, 0x94, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setz, 0x94, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setne, 0x95, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnz, 0x95, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setbe, 0x96, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setna, 0x96, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnbe, 0x97, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_seta, 0x97, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sets, 0x98, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setns, 0x99, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setp, 0x9a, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setpe, 0x9a, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnp, 0x9b, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setpo, 0x9b, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setl, 0x9c, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnge, 0x9c, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnl, 0x9d, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setge, 0x9d, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setle, 0x9e, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setng, 0x9e, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnle, 0x9f, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setg, 0x9f, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmps, 0xa6, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmps, 0xa6, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_scmp, 0xa6, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_scmp, 0xa6, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -4264,26 +3518,16 @@ static const insn_template i386_optab[] + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ins, 0x6c, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 3, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, +@@ -4292,328 +3536,208 @@ static const insn_template i386_optab[] + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_outs, 0x6e, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lods, 0xac, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lods, 0xac, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lods, 0xac, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_slod, 0xac, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_slod, 0xac, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_slod, 0xac, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movs, 0xa4, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movs, 0xa4, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_smov, 0xa4, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_smov, 0xa4, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_scas, 0xae, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_scas, 0xae, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_scas, 0xae, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ssca, 0xae, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ssca, 0xae, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ssca, 0xae, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_stos, 0xaa, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_stos, 0xaa, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_stos, 0xaa, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ssto, 0xaa, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ssto, 0xaa, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ssto, 0xaa, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -4622,39 +3746,24 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xlat, 0xd7, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_bsf, 0xbc, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -4663,13 +3772,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -4678,28 +3782,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_bt, 0xba, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, +@@ -4708,28 +3802,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_btc, 0xba, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, +@@ -4738,28 +3822,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_btr, 0xba, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, +@@ -4768,121 +3842,76 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_bts, 0xba, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_int, 0xcd, 1, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_int1, 0xf1, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_int3, 0xcc, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_into, 0xce, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_iret, 0xcf, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rsm, 0xaa, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bound, 0x62, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, +@@ -4891,52 +3920,32 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_nop, 0x1f, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_nop, 0x90, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_arpl, 0x63, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, +@@ -4945,13 +3954,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -4960,13 +3964,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -4975,13 +3974,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -4990,104 +3984,64 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lgdt, 0x01, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lidt, 0x01, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lidt, 0x01, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lldt, 0x00, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lldt, 0x00, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lmsw, 0x01, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lsl, 0x03, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -5096,13 +4050,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -5111,858 +4060,528 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ltr, 0x00, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sgdt, 0x01, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sgdt, 0x01, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sidt, 0x01, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sidt, 0x01, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sldt, 0x00, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sldt, 0x00, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_smsw, 0x01, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_smsw, 0x01, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_str, 0x00, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_str, 0x00, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_verr, 0x00, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_verr, 0x00, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_verw, 0x00, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_verw, 0x00, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fld, 0xd9, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fld, 0xd9, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fld, 0xd9, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 3, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fld, 0xdb, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fild, 0xdf, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fild, 0xdf, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fildll, 0xdf, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fldt, 0xdb, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fbld, 0xdf, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fst, 0xdd, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fst, 0xd9, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fst, 0xdd, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 3, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fist, 0xdf, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fstp, 0xdd, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fstp, 0xd9, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fstp, 0xdd, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 3, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fstp, 0xdb, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fistp, 0xdf, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fistp, 0xdf, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fistpll, 0xdf, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fstpt, 0xdb, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fbstp, 0xdf, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fxch, 0xd9, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fxch, 0xd9c9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcom, 0xd8, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcom, 0xd8d1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcom, 0xd8, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fcom, 0xd8, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 3, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ficom, 0xde, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fcomp, 0xd8, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomp, 0xd8d9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomp, 0xd8, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fcomp, 0xd8, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 3, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ficomp, 0xde, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fcompp, 0xded9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucom, 0xdd, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucom, 0xdde1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomp, 0xdd, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomp, 0xdde9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucompp, 0xdae9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ftst, 0xd9e4, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fxam, 0xd9e5, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fld1, 0xd9e8, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldl2t, 0xd9e9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldl2e, 0xd9ea, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldpi, 0xd9eb, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldlg2, 0xd9ec, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldln2, 0xd9ed, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldz, 0xd9ee, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fadd, 0xd8, 2, SPACE_BASE, 0, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -5971,65 +4590,40 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fadd, 0xdec1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fadd, 0xd8, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fiadd, 0xde, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_faddp, 0xde, 2, SPACE_BASE, 0, + { 1, 0, 0, 1, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -6038,160 +4632,92 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_faddp, 0xdec1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsub, 0xd8, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsub, 0xd8, 2, SPACE_BASE, 4, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsub, 0xdee1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0 } } } }, +- { MN_fsub, 0xdee9, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsub, 0xd8, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fisub, 0xde, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fsubp, 0xde, 2, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubp, 0xde, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubp, 0xdee1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubp, 0xde, 2, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -6200,160 +4726,92 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubp, 0xdee9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubr, 0xd8, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubr, 0xd8, 2, SPACE_BASE, 5, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubr, 0xdee9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0 } } } }, +- { MN_fsubr, 0xdee1, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubr, 0xd8, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fisubr, 0xde, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fsubrp, 0xde, 2, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubrp, 0xde, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubrp, 0xdee9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubrp, 0xde, 2, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -6362,39 +4820,24 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubrp, 0xdee1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fmul, 0xd8, 2, SPACE_BASE, 1, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -6403,65 +4846,40 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fmul, 0xdec9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fmul, 0xd8, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fimul, 0xde, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fmulp, 0xde, 2, SPACE_BASE, 1, + { 1, 0, 0, 1, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -6470,160 +4888,92 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fmulp, 0xdec9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdiv, 0xd8, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdiv, 0xd8, 2, SPACE_BASE, 6, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdiv, 0xdef1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0 } } } }, +- { MN_fdiv, 0xdef9, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdiv, 0xd8, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fidiv, 0xde, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fdivp, 0xde, 2, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivp, 0xde, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivp, 0xdef1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivp, 0xde, 2, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -6632,160 +4982,92 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivp, 0xdef9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivr, 0xd8, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivr, 0xd8, 2, SPACE_BASE, 7, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivr, 0xdef9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0 } } } }, +- { MN_fdivr, 0xdef1, 0, SPACE_BASE, None, +- { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivr, 0xd8, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fidivr, 0xde, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fdivrp, 0xde, 2, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivrp, 0xde, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivrp, 0xdef9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivrp, 0xde, 2, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -6794,1521 +5076,944 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivrp, 0xdef1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_f2xm1, 0xd9f0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fyl2x, 0xd9f1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fptan, 0xd9f2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fpatan, 0xd9f3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fxtract, 0xd9f4, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fprem1, 0xd9f5, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdecstp, 0xd9f6, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fincstp, 0xd9f7, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fprem, 0xd9f8, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fyl2xp1, 0xd9f9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsqrt, 0xd9fa, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsincos, 0xd9fb, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_frndint, 0xd9fc, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fscale, 0xd9fd, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsin, 0xd9fe, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcos, 0xd9ff, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fchs, 0xd9e0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fabs, 0xd9e1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fninit, 0xdbe3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_finit, 0xdbe3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldcw, 0xd9, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fnstcw, 0xd9, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fstcw, 0xd9, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fnstsw, 0xdfe0, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fnstsw, 0xdd, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fnstsw, 0xdfe0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fstsw, 0xdfe0, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fstsw, 0xdd, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fstsw, 0xdfe0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fnclex, 0xdbe2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fclex, 0xdbe2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fnstenv, 0xd9, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fstenv, 0xd9, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fldenv, 0xd9, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fnsave, 0xdd, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fsave, 0xdd, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_frstor, 0xdd, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fneni, 0xdbe0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_feni, 0xdbe0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fndisi, 0xdbe1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdisi, 0xdbe1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fnsetpm, 0xdbe4, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsetpm, 0xdbe4, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_frstpm, 0xdbe5, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ffree, 0xdd, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ffreep, 0xdf, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fnop, 0xd9d0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fwait, 0x9b, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_addr16, 0x67, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_addr32, 0x67, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aword, 0x67, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_adword, 0x67, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_data16, 0x66, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_data32, 0x66, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_word, 0x66, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_dword, 0x66, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lock, 0xf0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wait, 0x9b, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cs, 0x2e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ds, 0x3e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_es, 0x26, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fs, 0x64, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_gs, 0x65, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ss, 0x36, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rep, 0xf3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_repe, 0xf3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_repz, 0xf3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_repne, 0xf2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_repnz, 0xf2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ht, 0x3e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_hnt, 0x2e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex, 0x40, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexz, 0x41, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexy, 0x42, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexyz, 0x43, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexx, 0x44, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexxz, 0x45, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexxy, 0x46, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexxyz, 0x47, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64, 0x48, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64z, 0x49, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64y, 0x4a, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64yz, 0x4b, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64x, 0x4c, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64xz, 0x4d, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64xy, 0x4e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64xyz, 0x4f, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_b, 0x41, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_x, 0x42, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_xb, 0x43, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_r, 0x44, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_rb, 0x45, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_rx, 0x46, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_rxb, 0x47, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_w, 0x48, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wb, 0x49, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wx, 0x4a, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wxb, 0x4b, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wr, 0x4c, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wrb, 0x4d, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wrx, 0x4e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wrxb, 0x4f, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN__disp8_, 0x00, 0, SPACE_BASE, Prefix_Disp8, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN__disp16_, 0x00, 0, SPACE_BASE, Prefix_Disp16, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN__disp32_, 0x00, 0, SPACE_BASE, Prefix_Disp32, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN__load_, 0x00, 0, SPACE_BASE, Prefix_Load, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN__store_, 0x00, 0, SPACE_BASE, Prefix_Store, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN__vex_, 0x00, 0, SPACE_BASE, Prefix_VEX, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN__vex2_, 0x00, 0, SPACE_BASE, Prefix_VEX, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN__vex3_, 0x00, 0, SPACE_BASE, Prefix_VEX3, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN__evex_, 0x00, 0, SPACE_BASE, Prefix_EVEX, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN__rex_, 0x00, 0, SPACE_BASE, Prefix_REX, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN__rex2_, 0x00, 0, SPACE_BASE, Prefix_REX2, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN__nooptimize_, 0x00, 0, SPACE_BASE, Prefix_NoOptimize, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bswap, 0xc8, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xadd, 0xc0, 2, SPACE_0F, None, + { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -8317,13 +6022,8 @@ static const insn_template i386_optab[] + { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, +@@ -8332,260 +6032,160 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wbinvd, 0x09, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invlpg, 0x01, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cpuid, 0xa2, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wrmsr, 0x30, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdtsc, 0x31, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdmsr, 0x32, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmpxchg8b, 0xc7, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 5, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sysenter, 0x34, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 3 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sysenter, 0x34, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sysexit, 0x35, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 3 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sysexit, 0x35, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fxsave, 0xae, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fxsave64, 0xae, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 8, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fxrstor, 0xae, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fxrstor64, 0xae, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 8, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rdpmc, 0x33, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ud2, 0x0b, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ud2a, 0x0b, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ud1, 0xb9, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -8594,13 +6194,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -8609,463 +6204,668 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovo, 0x40, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovo, 0x40, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovno, 0x41, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovno, 0x41, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovb, 0x42, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovb, 0x42, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovc, 0x42, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovc, 0x42, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovnae, 0x42, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnae, 0x42, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovnb, 0x43, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnb, 0x43, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovnc, 0x43, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnc, 0x43, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovae, 0x43, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovae, 0x43, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmove, 0x44, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmove, 0x44, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovz, 0x44, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovz, 0x44, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovne, 0x45, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovne, 0x45, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovnz, 0x45, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnz, 0x45, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovbe, 0x46, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovbe, 0x46, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovna, 0x46, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovna, 0x46, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovnbe, 0x47, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnbe, 0x47, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmova, 0x47, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmova, 0x47, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovs, 0x48, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovs, 0x48, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovns, 0x49, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovns, 0x49, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovp, 0x4a, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovp, 0x4a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovpe, 0x4a, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovpe, 0x4a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovnp, 0x4b, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnp, 0x4b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovpo, 0x4b, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovpo, 0x4b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovl, 0x4c, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovl, 0x4c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovnge, 0x4c, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnge, 0x4c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovnl, 0x4d, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnl, 0x4d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovge, 0x4d, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovge, 0x4d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovle, 0x4e, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovle, 0x4e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovng, 0x4e, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovng, 0x4e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovnle, 0x4f, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnle, 0x4f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_cmovg, 0x4f, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovg, 0x4f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -9074,13 +6874,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9089,13 +6884,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9104,13 +6894,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9119,13 +6904,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9134,13 +6914,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9149,13 +6924,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9164,13 +6934,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9179,13 +6944,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9194,13 +6954,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9209,13 +6964,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9224,13 +6974,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9239,13 +6984,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9254,13 +6994,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9269,39 +7004,24 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomi, 0xdb, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomi, 0xdb, 2, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9310,39 +7030,24 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomi, 0xdb, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomip, 0xdf, 2, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9351,39 +7056,24 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomip, 0xdf, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcompi, 0xdf, 2, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9392,39 +7082,24 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcompi, 0xdf, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomip, 0xdf, 2, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9433,39 +7108,24 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomip, 0xdf, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucompi, 0xdf, 2, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -9474,39 +7134,24 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucompi, 0xdf, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movnti, 0xc3, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, +@@ -9515,93 +7160,58 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lfence, 0xaee8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mfence, 0xaef0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pause, 0x90, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_emms, 0x77, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movd, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movd, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9610,13 +7220,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9625,13 +7230,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9640,13 +7240,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9655,58 +7250,38 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movq, 0x7e, 2, SPACE_0F, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movq, 0xd6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } } } }, + { MN_movq, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9715,13 +7290,8 @@ static const insn_template i386_optab[] + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9730,13 +7300,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -9745,13 +7310,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9760,13 +7320,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9775,28 +7330,18 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_packssdw, 0x6b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9805,13 +7350,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9820,28 +7360,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_packsswb, 0x63, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9850,13 +7380,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9865,28 +7390,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_packuswb, 0x67, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9895,13 +7410,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9910,28 +7420,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddb, 0xfc | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9940,13 +7440,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9955,28 +7450,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddw, 0xfc | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9985,13 +7470,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10000,28 +7480,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddd, 0xfe, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10030,13 +7500,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10045,28 +7510,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddq, 0xd4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10075,13 +7530,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10090,28 +7540,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddsb, 0xec | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10120,13 +7560,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10135,28 +7570,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddsw, 0xec | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10165,13 +7590,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10180,28 +7600,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddusb, 0xdc | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10210,13 +7620,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10225,28 +7630,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddusw, 0xdc | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10255,13 +7650,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10270,28 +7660,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pand, 0xdb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10300,13 +7680,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10315,28 +7690,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pandn, 0xdf, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10345,13 +7710,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10360,28 +7720,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqb, 0x74 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10390,13 +7740,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10405,28 +7750,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqw, 0x74 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10435,13 +7770,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10450,28 +7780,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqd, 0x76, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10480,13 +7800,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10495,163 +7810,108 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtb, 0x64 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtb, 0x64 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtb, 0x64 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtw, 0x64 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtw, 0x64 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtw, 0x64 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtd, 0x66, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtd, 0x66, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtd, 0x66, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmaddwd, 0xf5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10660,13 +7920,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10675,28 +7930,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhw, 0xe5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10705,13 +7950,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10720,28 +7960,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmullw, 0xd5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10750,13 +7980,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10765,28 +7990,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_por, 0xeb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10795,13 +8010,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10810,28 +8020,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psllw, 0xf1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10840,13 +8040,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10855,28 +8050,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psllw, 0x71, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10885,13 +8070,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10900,28 +8080,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pslld, 0xf2 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10930,13 +8100,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10945,28 +8110,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pslld, 0x72 | 0, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10975,13 +8130,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10990,28 +8140,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psllq, 0xf2 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11020,13 +8160,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11035,28 +8170,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psllq, 0x72 | 1, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11065,13 +8190,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11080,28 +8200,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psraw, 0xe1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11110,13 +8220,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11125,28 +8230,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psraw, 0x71, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11155,13 +8250,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11170,28 +8260,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrad, 0xe2, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11200,13 +8280,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11215,28 +8290,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrad, 0x72, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11245,13 +8310,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11260,28 +8320,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrlw, 0xd1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11290,13 +8340,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11305,28 +8350,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrlw, 0x71, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11335,13 +8370,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11350,28 +8380,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrld, 0xd2 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11380,13 +8400,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11395,28 +8410,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrld, 0x72 | 0, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11425,13 +8430,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11440,28 +8440,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrlq, 0xd2 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11470,13 +8460,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11485,28 +8470,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrlq, 0x72 | 1, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11515,13 +8490,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11530,28 +8500,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubb, 0xf8 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11560,13 +8520,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11575,28 +8530,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubw, 0xf8 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11605,13 +8550,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11620,28 +8560,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubd, 0xfa, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11650,13 +8580,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11665,28 +8590,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubq, 0xfb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11695,13 +8610,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11710,28 +8620,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubsb, 0xe8 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11740,13 +8640,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11755,28 +8650,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubsw, 0xe8 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11785,13 +8670,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11800,28 +8680,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubusb, 0xd8 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11830,13 +8700,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11845,28 +8710,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubusw, 0xd8 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11875,13 +8730,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11890,28 +8740,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhbw, 0x68, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11920,13 +8760,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11935,28 +8770,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhwd, 0x69, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11965,13 +8790,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11980,28 +8800,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhdq, 0x6a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12010,13 +8820,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12025,28 +8830,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_punpcklbw, 0x60, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12055,13 +8850,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12070,28 +8860,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_punpcklwd, 0x61, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12100,13 +8880,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12115,28 +8890,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_punpckldq, 0x62, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12145,13 +8910,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12160,28 +8920,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pxor, 0xef, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12190,13 +8940,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12205,28 +8950,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_addps, 0x58, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12235,28 +8970,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addss, 0x58, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12265,28 +8990,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_andnps, 0x55, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12295,28 +9010,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_andps, 0x54, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12325,28 +9030,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpeqps, 0xc2, 2, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12355,28 +9050,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpltps, 0xc2, 2, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12385,28 +9070,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpleps, 0xc2, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12415,28 +9090,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpunordps, 0xc2, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12445,28 +9110,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpneqps, 0xc2, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12475,28 +9130,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnltps, 0xc2, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12505,28 +9150,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnleps, 0xc2, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12535,28 +9170,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpordps, 0xc2, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12565,28 +9190,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpeqss, 0xc2, 2, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12595,28 +9210,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpltss, 0xc2, 2, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12625,28 +9230,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpless, 0xc2, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12655,28 +9250,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpunordss, 0xc2, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12685,28 +9270,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpneqss, 0xc2, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12715,28 +9290,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnltss, 0xc2, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12745,28 +9310,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnless, 0xc2, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12775,28 +9330,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpordss, 0xc2, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12805,28 +9350,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpps, 0xc2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -12837,13 +9372,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -12852,15 +9382,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpss, 0xc2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -12871,13 +9396,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -12886,15 +9406,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_comiss, 0x2f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12903,13 +9418,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12918,13 +9428,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12933,28 +9438,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12963,88 +9458,58 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 3, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0, 0, 0, 3, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtss2si, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -13053,13 +9518,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -13068,28 +9528,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvttss2si, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -13098,28 +9548,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_divps, 0x5e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13128,28 +9568,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_divss, 0x5e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13158,69 +9588,44 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_ldmxcsr, 0xae, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ldmxcsr, 0xae, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_maskmovq, 0xf7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_maxps, 0x5f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13229,28 +9634,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maxss, 0x5f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13259,28 +9654,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_minps, 0x5d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13289,28 +9674,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_minss, 0x5d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13319,28 +9694,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movaps, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13349,28 +9714,18 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movhlps, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13379,43 +9734,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movhps, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movhps, 0x17, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -13424,28 +9764,18 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movlhps, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13454,43 +9784,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movlps, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movlps, 0x13, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -13499,28 +9814,18 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movmskps, 0x50, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -13529,28 +9834,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movntps, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -13559,13 +9854,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -13574,28 +9864,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_movntdq, 0xe7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -13604,43 +9884,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } } } }, + { MN_movss, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movss, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13649,28 +9914,18 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movups, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13679,28 +9934,18 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mulps, 0x59, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13709,28 +9954,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mulss, 0x59, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13739,28 +9974,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_orps, 0x56, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13769,13 +9994,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13784,28 +10004,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pavgb, 0xe0 | (3 * 0), 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13814,13 +10024,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13829,28 +10034,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pavgw, 0xe0 | (3 * 1), 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13859,28 +10054,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pextrw, 0xc5, 3, SPACE_0F, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13891,13 +10076,8 @@ static const insn_template i386_optab[] + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13908,13 +10088,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13923,15 +10098,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13940,15 +10110,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13957,15 +10122,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13974,15 +10134,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13991,15 +10146,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pinsrw, 0xc4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -14010,13 +10160,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -14025,15 +10170,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrw, 0xc4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -14044,13 +10184,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -14061,13 +10196,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -14078,13 +10208,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -14093,15 +10218,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxsw, 0xee, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14110,13 +10230,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14125,28 +10240,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxub, 0xde, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14155,13 +10260,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14170,28 +10270,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pminsw, 0xea, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14200,13 +10290,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14215,28 +10300,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pminub, 0xda, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14245,13 +10320,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14260,28 +10330,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmovmskb, 0xd7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -14290,13 +10350,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -14305,28 +10360,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhuw, 0xe4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14335,13 +10380,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14350,13 +10390,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14365,80 +10400,50 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_prefetcht0, 0x18, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_prefetcht1, 0x18, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_prefetcht2, 0x18, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psadbw, 0xf6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psadbw, 0xf6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14447,13 +10452,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14462,13 +10462,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -14477,15 +10472,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rcpps, 0x53, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14494,28 +10484,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_rcpss, 0x53, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14524,28 +10504,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_rsqrtps, 0x52, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14554,28 +10524,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_rsqrtss, 0x52, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14584,13 +10544,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14599,26 +10554,16 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_shufps, 0xc6, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -14629,13 +10574,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -14644,15 +10584,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sqrtps, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14661,28 +10596,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sqrtss, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14691,54 +10616,34 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_stmxcsr, 0xae, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_stmxcsr, 0xae, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_subps, 0x5c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14747,28 +10652,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_subss, 0x5c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14777,28 +10672,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_ucomiss, 0x2e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14807,28 +10692,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_unpckhps, 0x15, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14837,28 +10712,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_unpcklps, 0x14, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14867,28 +10732,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_xorps, 0x57, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14897,28 +10752,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addpd, 0x58, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14927,28 +10772,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addsd, 0x58, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14957,28 +10792,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_andnpd, 0x55, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14987,28 +10812,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_andpd, 0x54, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15017,28 +10832,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpeqpd, 0xc2, 2, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15047,28 +10852,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpltpd, 0xc2, 2, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15077,28 +10872,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmplepd, 0xc2, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15107,28 +10892,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpunordpd, 0xc2, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15137,28 +10912,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpneqpd, 0xc2, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15167,28 +10932,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnltpd, 0xc2, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15197,28 +10952,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnlepd, 0xc2, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15227,28 +10972,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpordpd, 0xc2, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15257,28 +10992,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpeqsd, 0xc2, 2, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15287,28 +11012,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpltsd, 0xc2, 2, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15317,28 +11032,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmplesd, 0xc2, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15347,28 +11052,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpunordsd, 0xc2, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15377,28 +11072,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpneqsd, 0xc2, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15407,28 +11092,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnltsd, 0xc2, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15437,28 +11112,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnlesd, 0xc2, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15467,28 +11132,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpordsd, 0xc2, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15497,28 +11152,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmppd, 0xc2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -15529,13 +11174,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -15544,15 +11184,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpsd, 0xc2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -15563,13 +11198,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -15578,15 +11208,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_comisd, 0x2f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15595,13 +11220,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15610,28 +11230,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtpi2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15640,28 +11250,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15670,88 +11270,58 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 3, 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0, 0, 0, 3, 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_divpd, 0x5e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15760,28 +11330,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_divsd, 0x5e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15790,28 +11350,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maxpd, 0x5f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15820,28 +11370,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maxsd, 0x5f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15850,28 +11390,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_minpd, 0x5d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15880,28 +11410,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_minsd, 0x5d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15910,28 +11430,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movapd, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15940,43 +11450,28 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movhpd, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movhpd, 0x17, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -15985,43 +11480,28 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movlpd, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movlpd, 0x13, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -16030,28 +11510,18 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movmskpd, 0x50, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -16060,28 +11530,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movntpd, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -16090,43 +11550,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } } } }, + { MN_movsd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movsd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16135,28 +11580,18 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movupd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16165,28 +11600,18 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mulpd, 0x59, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16195,28 +11620,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mulsd, 0x59, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16225,28 +11640,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_orpd, 0x56, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16255,28 +11660,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_shufpd, 0xc6, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -16287,13 +11682,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -16302,15 +11692,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sqrtpd, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16319,28 +11704,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sqrtsd, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16349,28 +11724,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_subpd, 0x5c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16379,28 +11744,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_subsd, 0x5c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16409,28 +11764,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_ucomisd, 0x2e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16439,28 +11784,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_unpckhpd, 0x15, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16469,28 +11804,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_unpcklpd, 0x14, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16499,28 +11824,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_xorpd, 0x57, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16529,28 +11844,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtdq2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16559,28 +11864,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16589,28 +11884,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtdq2ps, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16619,13 +11904,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16634,28 +11914,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvtpd2ps, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16664,28 +11934,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtps2pd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16694,28 +11954,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16724,28 +11974,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsd2si, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -16754,28 +11994,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsd2ss, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16784,28 +12014,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtss2sd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16814,13 +12034,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16829,28 +12044,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvttsd2si, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -16859,28 +12064,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvttpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16889,28 +12084,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvttps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16919,28 +12104,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maskmovdqu, 0xf7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16949,28 +12124,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movdqa, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16979,28 +12144,18 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movdqu, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17009,13 +12164,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17024,13 +12174,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17039,28 +12184,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmuludq, 0xf4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17069,13 +12204,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17084,28 +12214,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pshufd, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -17116,13 +12236,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -17131,15 +12246,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pshufhw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -17150,13 +12260,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -17165,15 +12270,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pshuflw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -17184,13 +12284,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -17199,15 +12294,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pslldq, 0x73, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17216,28 +12306,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrldq, 0x73, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17246,28 +12326,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhqdq, 0x6d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17276,28 +12346,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpcklqdq, 0x6c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17306,28 +12366,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addsubpd, 0xd0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17336,28 +12386,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addsubps, 0xd0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17366,28 +12406,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_haddpd, 0x7c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17396,28 +12426,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_haddps, 0x7c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17426,28 +12446,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_hsubpd, 0x7d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17456,28 +12466,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_hsubps, 0x7d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17486,28 +12486,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_lddqu, 0xf0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17516,28 +12506,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movddup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17546,28 +12526,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movshdup, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17576,28 +12546,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movsldup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17606,13 +12566,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17621,78 +12576,48 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fisttp, 0xdd, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fisttpll, 0xdd, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpxchg16b, 0xc7, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 48, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } } } }, + { MN_monitor, 0x01c8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_monitor, 0x01c8, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -17703,13 +12628,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 27, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -17720,26 +12640,16 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mwait, 0x01c9, 2, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -17748,91 +12658,56 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmclear, 0xc7, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmlaunch, 0x01c2, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmresume, 0x01c3, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmptrld, 0xc7, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmptrst, 0xc7, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmread, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -17841,13 +12716,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 21, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -17856,13 +12726,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -17871,13 +12736,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 21, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -17886,695 +12746,490 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmxon, 0xc7, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmfunc, 0x01d4, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_getsec, 0x37, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invept, 0x80, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invept, 0x80, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 50, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_invept, 0xf0, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 50, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invvpid, 0x81, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invvpid, 0x81, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 50, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_invvpid, 0xf1, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 50, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invpcid, 0x82, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invpcid, 0x82, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 57, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_invpcid, 0xf2, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 57, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_phaddw, 0x01, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phaddw, 0x01, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phaddw, 0x01, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_phaddd, 0x02, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phaddd, 0x02, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phaddd, 0x02, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_phaddsw, 0x03, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phaddsw, 0x03, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phaddsw, 0x03, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_phsubw, 0x05, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phsubw, 0x05, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phsubw, 0x05, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_phsubd, 0x06, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phsubd, 0x06, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phsubd, 0x06, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_phsubsw, 0x07, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phsubsw, 0x07, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phsubsw, 0x07, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmaddubsw, 0x04, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaddubsw, 0x04, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaddubsw, 0x04, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhrsw, 0x0b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhrsw, 0x0b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhrsw, 0x0b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pshufb, 0x00, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pshufb, 0x00, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pshufb, 0x00, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psignb, 0x08 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psignb, 0x08 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psignb, 0x08 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psignw, 0x08 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psignw, 0x08 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psignw, 0x08 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psignd, 0x0a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psignd, 0x0a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psignd, 0x0a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_palignr, 0x0f, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18583,15 +13238,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_palignr, 0x0f, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18600,15 +13250,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_palignr, 0x0f, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -18617,150 +13262,100 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pabsb, 0x1c | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pabsb, 0x1c | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pabsb, 0x1c | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pabsw, 0x1c | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pabsw, 0x1c | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pabsw, 0x1c | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pabsd, 0x1e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pabsd, 0x1e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pabsd, 0x1e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blendps, 0x0c | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18769,15 +13364,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendps, 0x0c | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18786,15 +13376,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendpd, 0x0c | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18803,15 +13388,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendpd, 0x0c | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18820,15 +13400,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvps, 0x4a | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18837,30 +13412,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvps, 0x4a | 0, 2, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvps, 0x14 | 0, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18869,30 +13434,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvps, 0x14 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvpd, 0x4a | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18901,30 +13456,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvpd, 0x4a | 1, 2, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvpd, 0x14 | 1, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18933,30 +13478,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvpd, 0x14 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_dpps, 0x40 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18965,15 +13500,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_dpps, 0x40 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18982,15 +13512,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_dppd, 0x40 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -18999,15 +13524,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_dppd, 0x40 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -19016,15 +13536,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_extractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19033,15 +13548,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_extractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19050,15 +13560,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_extractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19067,15 +13572,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_extractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19084,15 +13584,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_insertps, 0x21, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -19101,15 +13596,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_insertps, 0x21, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -19118,45 +13608,30 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movntdqa, 0x2a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movntdqa, 0x2a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mpsadbw, 0x42, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -19165,15 +13640,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mpsadbw, 0x42, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -19182,45 +13652,30 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_packusdw, 0x2b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_packusdw, 0x2b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pblendvb, 0x4c, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -19229,30 +13684,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pblendvb, 0x4c, 2, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pblendvb, 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -19261,30 +13706,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pblendvb, 0x10, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pblendw, 0x0e, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -19293,15 +13728,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pblendw, 0x0e, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -19310,45 +13740,30 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqq, 0x29, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqq, 0x29, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19357,15 +13772,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19374,15 +13784,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19391,15 +13796,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19408,15 +13808,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pextrd, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19425,15 +13820,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pextrd, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19442,15 +13832,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pextrq, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19459,15 +13844,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pextrq, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19476,45 +13856,30 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_phminposuw, 0x41, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phminposuw, 0x41, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrb, 0x20, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -19523,15 +13888,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrb, 0x20, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -19540,15 +13900,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrb, 0x20, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +@@ -19557,15 +13912,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrb, 0x20, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +@@ -19574,15 +13924,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrd, 0x22, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -19591,15 +13936,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrd, 0x22, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -19608,15 +13948,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrq, 0x22, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -19625,15 +13960,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrq, 0x22, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -19642,705 +13972,470 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxsb, 0x3c, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxsb, 0x3c, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxsd, 0x3d, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxsd, 0x3d, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxud, 0x3f, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxud, 0x3f, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxuw, 0x3e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxuw, 0x3e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminsb, 0x38, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminsb, 0x38, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminsd, 0x39, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminsd, 0x39, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminud, 0x3b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminud, 0x3b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminuw, 0x3a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminuw, 0x3a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxbw, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxbw, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxbd, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxbd, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxbq, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxbq, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxwd, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxwd, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxwq, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxwq, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxdq, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxdq, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxbw, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxbw, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxbd, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxbd, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxbq, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxbq, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxwd, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxwd, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxwq, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxwq, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxdq, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxdq, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmuldq, 0x28, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmuldq, 0x28, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmulld, 0x40, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmulld, 0x40, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_ptest, 0x17, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_ptest, 0x17, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundps, 0x08 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20349,15 +14444,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundps, 0x08 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20366,15 +14456,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundpd, 0x08 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20383,15 +14468,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundpd, 0x08 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20400,15 +14480,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundss, 0x0a | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -20417,15 +14492,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundss, 0x0a | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -20434,15 +14504,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundsd, 0x0a | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -20451,15 +14516,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundsd, 0x0a | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -20468,45 +14528,30 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtq, 0x37, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtq, 0x37, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestri, 0x61, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20515,15 +14560,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestri, 0x61, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20532,15 +14572,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestri, 0x61, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20549,15 +14584,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestri, 0x61, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 29, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20566,15 +14596,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestrm, 0x60, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20583,15 +14608,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestrm, 0x60, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20600,15 +14620,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestrm, 0x60, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20617,15 +14632,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestrm, 0x60, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 29, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20634,15 +14644,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpistri, 0x63, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20651,15 +14656,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpistri, 0x63, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20668,15 +14668,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpistrm, 0x62, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20685,15 +14680,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpistrm, 0x62, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -20702,299 +14692,214 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_crc32, 0xf0, 2, SPACE_0F38, None, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_crc32, 0xf0, 2, SPACE_0F38, None, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 29, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_crc32, 0xf0, 2, SPACE_EVEXMAP4, None, ++ { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_crc32, 0xf0, 2, SPACE_EVEXMAP4, None, ++ { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xsave, 0xae, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xsave64, 0xae, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 37, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xrstor, 0xae, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xrstor64, 0xae, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 37, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xgetbv, 0x01d0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xsetbv, 0x01d1, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xsaveopt, 0xae, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xsaveopt64, 0xae, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 38, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_aesdec, 0xde, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesdec, 0xde, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesdeclast, 0xdf, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesdeclast, 0xdf, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesenc, 0xdc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesenc, 0xdc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesenclast, 0xdd, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesenclast, 0xdd, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesimc, 0xdb, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesimc, 0xdb, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aeskeygenassist, 0xdf, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -21003,15 +14908,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aeskeygenassist, 0xdf, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -21020,15 +14920,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmulqdq, 0x44, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -21037,15 +14932,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmulqdq, 0x44, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -21054,135 +14944,90 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmullqlqdq, 0x44, 2, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmullqlqdq, 0x44, 2, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmulhqlqdq, 0x44, 2, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmulhqlqdq, 0x44, 2, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmullqhqdq, 0x44, 2, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmullqhqdq, 0x44, 2, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmulhqhqdq, 0x44, 2, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmulhqhqdq, 0x44, 2, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_gf2p8affineqb, 0xce, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 111, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -21191,15 +15036,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_gf2p8affineqb, 0xce, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -21208,15 +15048,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_gf2p8affineinvqb, 0xcf, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 111, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -21225,15 +15060,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_gf2p8affineinvqb, 0xcf, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -21242,45 +15072,30 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_gf2p8mulb, 0xcf, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 111, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_gf2p8mulb, 0xcf, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaddps, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21289,15 +15104,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vaddps, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21306,15 +15116,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaddpd, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21323,15 +15128,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vaddpd, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21340,15 +15140,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaddss, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21359,13 +15154,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21374,15 +15164,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaddsd, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21393,13 +15178,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21408,15 +15188,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaddsubpd, 0xd0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21425,15 +15200,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vaddsubps, 0xd0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21442,15 +15212,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vandnps, 0x55, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21459,15 +15224,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vandnps, 0x55, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21476,15 +15236,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vandnpd, 0x55, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21493,15 +15248,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vandnpd, 0x55, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21510,15 +15260,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vandps, 0x54, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21527,15 +15272,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vandps, 0x54, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21544,15 +15284,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vandpd, 0x54, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21561,15 +15296,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vandpd, 0x54, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21578,15 +15308,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vblendps, 0x0c | 0, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -21597,15 +15322,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vblendpd, 0x0c | 1, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -21616,15 +15336,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vblendvps, 0x4a | 0, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -21635,15 +15350,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vblendvpd, 0x4a | 1, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -21654,120 +15364,70 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vbroadcastf128, 0x1a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vbroadcastsd, 0x19, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vbroadcastsd, 0x19, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vbroadcastsd, 0x19, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vbroadcastss, 0x18, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vbroadcastss, 0x18, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vbroadcastss, 0x18, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcmpeqps, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21776,15 +15436,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeqps, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21793,15 +15448,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeqpd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21810,15 +15460,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeqpd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21827,15 +15472,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqps, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21844,15 +15484,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqps, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21861,15 +15496,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqpd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21878,15 +15508,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqpd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21895,15 +15520,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltps, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21912,15 +15532,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpltps, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21929,15 +15544,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltpd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21946,15 +15556,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpltpd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21963,15 +15568,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_osps, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21980,15 +15580,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmplt_osps, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21997,15 +15592,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_ospd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22014,15 +15604,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmplt_ospd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22031,15 +15616,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpleps, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22048,15 +15628,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpleps, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22065,15 +15640,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplepd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22082,15 +15652,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmplepd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22099,15 +15664,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_osps, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22116,15 +15676,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmple_osps, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22133,15 +15688,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_ospd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22150,15 +15700,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmple_ospd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22167,15 +15712,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordps, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22184,15 +15724,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpunordps, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22201,15 +15736,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordpd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22218,15 +15748,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpunordpd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22235,15 +15760,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qps, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22252,15 +15772,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qps, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22269,15 +15784,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qpd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22286,15 +15796,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qpd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22303,15 +15808,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqps, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22320,15 +15820,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneqps, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22337,15 +15832,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqpd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22354,15 +15844,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneqpd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22371,15 +15856,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqps, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22388,15 +15868,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqps, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22405,15 +15880,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqpd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22422,15 +15892,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqpd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22439,15 +15904,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltps, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22456,15 +15916,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnltps, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22473,15 +15928,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltpd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22490,15 +15940,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnltpd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22507,15 +15952,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_usps, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22524,15 +15964,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_usps, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22541,15 +15976,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uspd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22558,15 +15988,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uspd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22575,15 +16000,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnleps, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22592,15 +16012,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnleps, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22609,15 +16024,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlepd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22626,15 +16036,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnlepd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22643,15 +16048,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_usps, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22660,15 +16060,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_usps, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22677,15 +16072,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uspd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22694,15 +16084,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uspd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22711,15 +16096,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordps, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22728,15 +16108,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpordps, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22745,15 +16120,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordpd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22762,15 +16132,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpordpd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22779,15 +16144,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qps, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22796,15 +16156,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qps, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22813,15 +16168,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qpd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22830,15 +16180,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qpd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22847,15 +16192,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqps, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22864,15 +16204,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqps, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22881,15 +16216,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqpd, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22898,15 +16228,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqpd, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22915,15 +16240,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngeps, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22932,15 +16252,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngeps, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22949,15 +16264,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngepd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22966,15 +16276,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngepd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22983,15 +16288,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_usps, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23000,15 +16300,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_usps, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23017,15 +16312,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uspd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23034,15 +16324,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uspd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23051,15 +16336,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtps, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23068,15 +16348,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngtps, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23085,15 +16360,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtpd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23102,15 +16372,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngtpd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23119,15 +16384,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_usps, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23136,15 +16396,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_usps, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23153,15 +16408,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uspd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23170,15 +16420,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uspd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23187,15 +16432,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalseps, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23204,15 +16444,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpfalseps, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23221,15 +16456,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalsepd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23238,15 +16468,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpfalsepd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23255,15 +16480,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqps, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23272,15 +16492,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqps, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23289,15 +16504,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqpd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23306,15 +16516,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqpd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23323,15 +16528,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqps, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23340,15 +16540,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqps, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23357,15 +16552,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqpd, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23374,15 +16564,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqpd, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23391,15 +16576,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgeps, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23408,15 +16588,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgeps, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23425,15 +16600,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgepd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23442,15 +16612,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgepd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23459,15 +16624,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_osps, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23476,15 +16636,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpge_osps, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23493,15 +16648,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_ospd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23510,15 +16660,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpge_ospd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23527,15 +16672,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtps, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23544,15 +16684,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgtps, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23561,15 +16696,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtpd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23578,15 +16708,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgtpd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23595,15 +16720,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_osps, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23612,15 +16732,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_osps, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23629,15 +16744,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_ospd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23646,15 +16756,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_ospd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23663,15 +16768,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrueps, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23680,15 +16780,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmptrueps, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23697,15 +16792,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptruepd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23714,15 +16804,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmptruepd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23731,15 +16816,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqps, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23748,15 +16828,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqps, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23765,15 +16840,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqpd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23782,15 +16852,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqpd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23799,15 +16864,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_osps, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23816,15 +16876,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_osps, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23833,15 +16888,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_ospd, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23850,15 +16900,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_ospd, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23867,15 +16912,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqps, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23884,15 +16924,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqps, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23901,15 +16936,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqpd, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23918,15 +16948,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqpd, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23935,15 +16960,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqps, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23952,15 +16972,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqps, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23969,15 +16984,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqpd, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23986,15 +16996,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqpd, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24003,15 +17008,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_sps, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24020,15 +17020,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_sps, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24037,15 +17032,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_spd, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24054,15 +17044,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_spd, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24071,15 +17056,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_usps, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24088,15 +17068,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_usps, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24105,15 +17080,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uspd, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24122,15 +17092,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uspd, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24139,15 +17104,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqps, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24156,15 +17116,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqps, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24173,15 +17128,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqpd, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24190,15 +17140,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqpd, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24207,15 +17152,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqps, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24224,15 +17164,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqps, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24241,15 +17176,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqpd, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24258,15 +17188,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqpd, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24275,15 +17200,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_sps, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24292,15 +17212,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpord_sps, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24309,15 +17224,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_spd, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24326,15 +17236,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpord_spd, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24343,15 +17248,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_usps, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24360,15 +17260,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_usps, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24377,15 +17272,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uspd, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24394,15 +17284,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uspd, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24411,15 +17296,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqps, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24428,15 +17308,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqps, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24445,15 +17320,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqpd, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24462,15 +17332,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqpd, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24479,15 +17344,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqps, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24496,15 +17356,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqps, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24513,15 +17368,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqpd, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24530,15 +17380,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqpd, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24547,15 +17392,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_osps, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24564,15 +17404,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_osps, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24581,15 +17416,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_ospd, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24598,15 +17428,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_ospd, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24615,15 +17440,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_osps, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24632,15 +17452,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_osps, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24649,15 +17464,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_ospd, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24666,15 +17476,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_ospd, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24683,15 +17488,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqps, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24700,15 +17500,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqps, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24717,15 +17512,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqpd, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24734,15 +17524,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqpd, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24751,15 +17536,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqps, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24768,15 +17548,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqps, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24785,15 +17560,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqpd, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24802,15 +17572,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqpd, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24819,15 +17584,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_usps, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24836,15 +17596,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_usps, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24853,15 +17608,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uspd, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24870,15 +17620,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uspd, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24887,15 +17632,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeqss, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24906,13 +17646,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24921,15 +17656,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeqsd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24940,13 +17670,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24955,15 +17680,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqss, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24974,13 +17694,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24989,15 +17704,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqsd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25008,13 +17718,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25023,15 +17728,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltss, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25042,13 +17742,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25057,15 +17752,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltsd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25076,13 +17766,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25091,15 +17776,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_osss, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25110,13 +17790,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25125,15 +17800,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_ossd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25144,13 +17814,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25159,15 +17824,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpless, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25178,13 +17838,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25193,15 +17848,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplesd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25212,13 +17862,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25227,15 +17872,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_osss, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25246,13 +17886,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25261,15 +17896,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_ossd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25280,13 +17910,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25295,15 +17920,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordss, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25314,13 +17934,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25329,15 +17944,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordsd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25348,13 +17958,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25363,15 +17968,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qss, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25382,13 +17982,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25397,15 +17992,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qsd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25416,13 +18006,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25431,15 +18016,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqss, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25450,13 +18030,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25465,15 +18040,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqsd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25484,13 +18054,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25499,15 +18064,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqss, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25518,13 +18078,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25533,15 +18088,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqsd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25552,13 +18102,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25567,15 +18112,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltss, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25586,13 +18126,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25601,15 +18136,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltsd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25620,13 +18150,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25635,15 +18160,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_usss, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25654,13 +18174,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25669,15 +18184,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_ussd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25688,13 +18198,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25703,15 +18208,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnless, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25722,13 +18222,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25737,15 +18232,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlesd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25756,13 +18246,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25771,15 +18256,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_usss, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25790,13 +18270,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25805,15 +18280,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_ussd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25824,13 +18294,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25839,15 +18304,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordss, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25858,13 +18318,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25873,15 +18328,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordsd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25892,13 +18342,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25907,15 +18352,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qss, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25926,13 +18366,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25941,15 +18376,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qsd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25960,13 +18390,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25975,15 +18400,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqss, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25994,13 +18414,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26009,15 +18424,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqsd, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26028,13 +18438,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26043,15 +18448,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngess, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26062,13 +18462,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26077,15 +18472,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngesd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26096,13 +18486,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26111,15 +18496,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_usss, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26130,13 +18510,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26145,15 +18520,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_ussd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26164,13 +18534,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26179,15 +18544,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtss, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26198,13 +18558,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26213,15 +18568,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtsd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26232,13 +18582,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26247,15 +18592,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_usss, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26266,13 +18606,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26281,15 +18616,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_ussd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26300,13 +18630,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26315,15 +18640,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalsess, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26334,13 +18654,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26349,15 +18664,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalsesd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26368,13 +18678,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26383,15 +18688,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqss, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26402,13 +18702,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26417,15 +18712,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqsd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26436,13 +18726,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26451,15 +18736,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqss, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26470,13 +18750,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26485,15 +18760,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqsd, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26504,13 +18774,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26519,15 +18784,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgess, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26538,13 +18798,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26553,15 +18808,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgesd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26572,13 +18822,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26587,15 +18832,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_osss, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26606,13 +18846,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26621,15 +18856,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_ossd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26640,13 +18870,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26655,15 +18880,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtss, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26674,13 +18894,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26689,15 +18904,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtsd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26708,13 +18918,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26723,15 +18928,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_osss, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26742,13 +18942,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26757,15 +18952,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_ossd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26776,13 +18966,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26791,15 +18976,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptruess, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26810,13 +18990,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26825,15 +19000,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptruesd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26844,13 +19014,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26859,15 +19024,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqss, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26878,13 +19038,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26893,15 +19048,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqsd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26912,13 +19062,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26927,15 +19072,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_osss, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26946,13 +19086,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26961,15 +19096,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_ossd, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26980,13 +19110,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26995,15 +19120,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqss, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27014,13 +19134,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27029,15 +19144,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqsd, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27048,13 +19158,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27063,15 +19168,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqss, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27082,13 +19182,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27097,15 +19192,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqsd, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27116,13 +19206,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27131,15 +19216,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_sss, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27150,13 +19230,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27165,15 +19240,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_ssd, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27184,13 +19254,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27199,15 +19264,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_usss, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27218,13 +19278,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27233,15 +19288,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_ussd, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27252,13 +19302,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27267,15 +19312,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqss, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27286,13 +19326,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27301,15 +19336,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqsd, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27320,13 +19350,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27335,15 +19360,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqss, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27354,13 +19374,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27369,15 +19384,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqsd, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27388,13 +19398,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27403,15 +19408,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_sss, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27422,13 +19422,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27437,15 +19432,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_ssd, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27456,13 +19446,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27471,15 +19456,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_usss, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27490,13 +19470,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27505,15 +19480,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_ussd, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27524,13 +19494,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27539,15 +19504,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqss, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27558,13 +19518,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27573,15 +19528,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqsd, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27592,13 +19542,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27607,15 +19552,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqss, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27626,13 +19566,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27641,15 +19576,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqsd, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27660,13 +19590,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27675,15 +19600,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_osss, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27694,13 +19614,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27709,15 +19624,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_ossd, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27728,13 +19638,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27743,15 +19648,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_osss, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27762,13 +19662,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27777,15 +19672,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_ossd, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27796,13 +19686,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27811,15 +19696,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqss, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27830,13 +19710,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27845,15 +19720,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqsd, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27864,13 +19734,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27879,15 +19744,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqss, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27898,13 +19758,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27913,15 +19768,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqsd, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27932,13 +19782,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27947,15 +19792,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_usss, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27966,13 +19806,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27981,15 +19816,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_ussd, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28000,13 +19830,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28015,15 +19840,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpps, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -28034,15 +19854,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpps, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -28053,15 +19868,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmppd, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -28072,15 +19882,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmppd, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -28091,15 +19896,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpss, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -28112,13 +19912,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -28129,15 +19924,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpsd, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -28150,13 +19940,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -28167,15 +19952,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcomiss, 0x2f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28184,28 +19964,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcomisd, 0x2f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28214,43 +19984,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28259,13 +20014,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 3, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28274,13 +20024,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28289,73 +20034,48 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2ps, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2ps, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28364,133 +20084,88 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 3, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dqx, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dqx, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 4, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dqy, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dqy, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28499,163 +20174,108 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2psx, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2psx, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2psy, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2psy, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28664,13 +20284,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 0, 1, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28679,13 +20294,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28694,28 +20304,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtss2si, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -28724,28 +20324,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsd2si, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -28754,28 +20344,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsd2ss, 0x5a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28786,13 +20366,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28801,15 +20376,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2ss, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 3, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28818,15 +20388,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2ss, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0, 0, 0, 3, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28835,15 +20400,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2ss, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28852,15 +20412,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2ss, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28869,15 +20424,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 3, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28886,15 +20436,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0, 0, 0, 3, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28903,15 +20448,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28920,15 +20460,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28937,15 +20472,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28954,15 +20484,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28971,15 +20496,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtss2sd, 0x5a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28990,13 +20510,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29005,30 +20520,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29037,148 +20542,98 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dqx, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dqx, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dqy, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dqy, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvttps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvttss2si, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -29187,28 +20642,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttsd2si, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -29217,28 +20662,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vdivps, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29247,15 +20682,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vdivps, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29264,15 +20694,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vdivpd, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29281,15 +20706,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vdivpd, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29298,15 +20718,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vdivss, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29317,13 +20732,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29332,15 +20742,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vdivsd, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29351,13 +20756,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29366,15 +20766,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vdppd, 0x41, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -29385,15 +20780,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vdpps, 0x40, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -29404,15 +20794,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vextractf128, 0x19, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29421,49 +20806,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vextractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 1, 0 } } } }, +- { MN_vextractps, 0x17, 3, SPACE_0F3A, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, +- { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0 } } } }, +- { MN_vextractps, 0x17, 3, SPACE_0F3A, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29472,15 +20818,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vextractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29489,15 +20830,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vhaddpd, 0x7c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29506,15 +20842,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vhaddps, 0x7c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29523,15 +20854,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vhsubpd, 0x7d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29540,15 +20866,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vhsubps, 0x7d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29557,15 +20878,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vinsertf128, 0x18, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -29576,15 +20892,10 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vinsertps, 0x21, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -29597,13 +20908,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -29614,58 +20920,38 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vlddqu, 0xf0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vldmxcsr, 0xae, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmaskmovdqu, 0xf7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmaskmovps, 0x2e | 0, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29674,15 +20960,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vmaskmovps, 0x2c | 0, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29691,15 +20972,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmaskmovpd, 0x2e | 1, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29708,15 +20984,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vmaskmovpd, 0x2c | 1, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29725,15 +20996,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmaxps, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29742,15 +21008,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmaxps, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29759,15 +21020,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmaxpd, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29776,15 +21032,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmaxpd, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29793,15 +21044,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmaxss, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29812,13 +21058,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29827,15 +21068,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmaxsd, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29846,13 +21082,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29861,15 +21092,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vminps, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29878,15 +21104,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vminps, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29895,15 +21116,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vminpd, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29912,15 +21128,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vminpd, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29929,15 +21140,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vminss, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29948,13 +21154,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29963,15 +21164,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vminsd, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29982,13 +21178,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29997,150 +21188,90 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovaps, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovaps, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovapd, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovapd, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovd, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovd, 0x7e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, +- { MN_vmovd, 0x6e, 2, SPACE_0F, None, +- { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovddup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovddup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vmovddup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30149,58 +21280,38 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovdqa, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovdqu, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovhlps, 0x12, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30211,13 +21322,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30226,15 +21332,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovhps, 0x16, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30243,15 +21344,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovhps, 0x17, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -30260,13 +21356,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30277,28 +21368,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmovhpd, 0x16, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30307,15 +21388,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovhpd, 0x17, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -30324,13 +21400,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30341,28 +21412,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmovlhps, 0x16, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30373,13 +21434,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30388,15 +21444,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovlps, 0x12, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30405,15 +21456,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovlps, 0x13, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -30422,13 +21468,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30439,28 +21480,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmovlpd, 0x12, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30469,15 +21500,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovlpd, 0x13, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -30486,13 +21512,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30503,223 +21524,138 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmovmskps, 0x50, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmovmskpd, 0x50, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmovntdq, 0xe7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vmovntdq, 0xe7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vmovntdqa, 0x2a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovntdqa, 0x2a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovntps, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vmovntps, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vmovntpd, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vmovntpd, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vmovq, 0x7e, 2, SPACE_0F, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovq, 0xd6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vmovq, 0x6e, 2, SPACE_0F, None, +- { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, +- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vmovq, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30728,13 +21664,8 @@ static const insn_template i386_optab[] + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 2, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30743,43 +21674,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vmovss, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovss, 0x10, 3, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30790,13 +21706,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30805,13 +21716,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30820,30 +21726,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovsd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovsd, 0x10, 3, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30854,13 +21750,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 3, 0, 0, 4, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30869,13 +21760,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30884,135 +21770,90 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovshdup, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovshdup, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovsldup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovsldup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovups, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovups, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovupd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovupd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmpsadbw, 0x42, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -31023,15 +21864,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmulps, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31040,15 +21876,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmulps, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31057,15 +21888,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmulpd, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31074,15 +21900,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmulpd, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31091,15 +21912,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmulss, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31110,13 +21926,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31125,15 +21936,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmulsd, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31144,13 +21950,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31159,15 +21960,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vorps, 0x56, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31176,15 +21972,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vorps, 0x56, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31193,15 +21984,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vorpd, 0x56, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31210,15 +21996,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vorpd, 0x56, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31227,105 +22008,70 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpabsb, 0x1c | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpabsb, 0x1c | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpabsw, 0x1c | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpabsw, 0x1c | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpabsd, 0x1e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpabsd, 0x1e | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpackssdw, 0x6b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31334,15 +22080,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpackssdw, 0x6b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31351,15 +22092,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpacksswb, 0x63, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31368,15 +22104,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpacksswb, 0x63, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31385,15 +22116,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpackusdw, 0x2b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31402,15 +22128,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpackusdw, 0x2b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31419,15 +22140,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpackuswb, 0x67, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31436,15 +22152,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpackuswb, 0x67, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31453,15 +22164,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddsb, 0xec | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31470,15 +22176,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddsb, 0xec | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31487,15 +22188,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddsw, 0xec | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31504,15 +22200,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddsw, 0xec | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31521,15 +22212,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddb, 0xfc | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31538,15 +22224,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddb, 0xfc | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31555,15 +22236,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddw, 0xfc | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31572,15 +22248,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddw, 0xfc | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31589,15 +22260,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddd, 0xfe, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31606,15 +22272,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddd, 0xfe, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31623,15 +22284,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddq, 0xd4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31640,15 +22296,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddq, 0xd4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31657,15 +22308,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddusb, 0xdc | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31674,15 +22320,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddusb, 0xdc | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31691,15 +22332,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddusw, 0xdc | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31708,15 +22344,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddusw, 0xdc | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31725,15 +22356,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpalignr, 0x0f, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -31744,15 +22370,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpalignr, 0x0f, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -31763,15 +22384,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpand, 0xdb, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31780,15 +22396,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpandn, 0xdf, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31797,15 +22408,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpavgb, 0xe0 | (3 * 0), 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31814,15 +22420,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpavgb, 0xe0 | (3 * 0), 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31831,15 +22432,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpavgw, 0xe0 | (3 * 1), 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31848,15 +22444,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpavgw, 0xe0 | (3 * 1), 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31865,15 +22456,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpblendvb, 0x4c, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -31884,15 +22470,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpblendw, 0x0e, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -31903,15 +22484,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqb, 0x74 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31920,15 +22496,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqb, 0x74 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31937,15 +22508,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqb, 0x3f, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31954,15 +22520,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqw, 0x74 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31971,15 +22532,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqw, 0x74 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31988,15 +22544,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqw, 0x3f, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32005,15 +22556,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqd, 0x76, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32022,15 +22568,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqd, 0x76, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32039,15 +22580,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqd, 0x1f, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32056,15 +22592,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqq, 0x29, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32073,15 +22604,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqq, 0x29, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32090,15 +22616,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqq, 0x1f, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32107,15 +22628,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpestri, 0x61, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -32124,15 +22640,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpestri, 0x61, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -32141,15 +22652,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpestrm, 0x60, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -32158,15 +22664,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpestrm, 0x60, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -32175,15 +22676,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtb, 0x64 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32192,15 +22688,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtb, 0x64 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32209,15 +22700,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtw, 0x64 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32226,15 +22712,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtw, 0x64 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32243,15 +22724,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtd, 0x66, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32260,15 +22736,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtd, 0x66, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32277,15 +22748,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtq, 0x37, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32294,15 +22760,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtq, 0x37, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32311,15 +22772,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpistri, 0x63, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -32328,15 +22784,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpistrm, 0x62, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -32345,15 +22796,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vperm2f128, 0x06, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -32362,136 +22808,72 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, +- { MN_vpermilps, 0x0c | 0, 3, SPACE_0F38, None, ++ { MN_vpermilps, 0x0c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpermilps, 0x04 | 0, 3, SPACE_0F3A, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpermilps, 0x04 | 0, 3, SPACE_0F3A, None, ++ 1, 1, 1, 0, 0, 0 } } } }, ++ { MN_vpermilps, 0x04, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vpermilps, 0x0c | 0, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vpermilpd, 0x0c | 1, 3, SPACE_0F38, None, ++ { MN_vpermilpd, 0x0d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpermilpd, 0x04 | 1, 3, SPACE_0F3A, None, ++ { MN_vpermilpd, 0x05, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpermilpd, 0x04 | 1, 3, SPACE_0F3A, None, ++ { MN_vpermilpd, 0x05, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vpermilpd, 0x0c | 1, 3, SPACE_0F38, None, ++ { MN_vpermilpd, 0x0d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32500,15 +22882,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpextrd, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32519,13 +22896,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32534,15 +22906,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpextrq, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32553,13 +22920,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32568,15 +22930,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpextrw, 0xc5, 3, SPACE_0F, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32585,15 +22942,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32602,15 +22954,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32621,13 +22968,8 @@ static const insn_template i386_optab[] + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32638,13 +22980,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32655,13 +22992,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32670,15 +23002,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32687,15 +23014,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32706,13 +23028,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32723,13 +23040,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32738,15 +23050,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vphaddd, 0x02, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32755,15 +23062,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vphaddsw, 0x03, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32772,15 +23074,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vphaddw, 0x01, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32789,30 +23086,20 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vphminposuw, 0x41, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphsubd, 0x06, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32821,15 +23108,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vphsubsw, 0x07, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32838,15 +23120,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vphsubw, 0x05, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32855,15 +23132,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpinsrb, 0x20, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -32874,15 +23146,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrb, 0x20, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +@@ -32895,13 +23162,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -32914,13 +23176,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +@@ -32931,15 +23188,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrd, 0x22, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -32952,13 +23204,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -32969,15 +23216,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrq, 0x22, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -32990,13 +23232,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -33007,15 +23244,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrw, 0xc4, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -33026,15 +23258,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrw, 0xc4, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -33047,13 +23274,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -33066,13 +23288,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 3, 1, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -33083,15 +23300,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmaddubsw, 0x04, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33100,15 +23312,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaddubsw, 0x04, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33117,15 +23324,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaddwd, 0xf5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33134,15 +23336,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaddwd, 0xf5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33151,15 +23348,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxsb, 0x3c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33168,15 +23360,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaxsb, 0x3c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33185,15 +23372,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxsd, 0x3d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33202,15 +23384,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaxsd, 0x3d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33219,15 +23396,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxsw, 0xee, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33236,15 +23408,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaxsw, 0xee, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33253,15 +23420,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxub, 0xde, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33270,15 +23432,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaxub, 0xde, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33287,15 +23444,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxud, 0x3f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33304,15 +23456,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaxud, 0x3f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33321,15 +23468,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxuw, 0x3e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33338,15 +23480,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaxuw, 0x3e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33355,15 +23492,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminsb, 0x38, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33372,15 +23504,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpminsb, 0x38, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33389,15 +23516,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminsd, 0x39, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33406,15 +23528,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpminsd, 0x39, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33423,15 +23540,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminsw, 0xea, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33440,15 +23552,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpminsw, 0xea, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33457,15 +23564,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminub, 0xda, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33474,15 +23576,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpminub, 0xda, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33491,15 +23588,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminud, 0x3b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33508,15 +23600,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpminud, 0x3b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33525,15 +23612,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminuw, 0x3a, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33542,15 +23624,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpminuw, 0x3a, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33559,45 +23636,30 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmovmskb, 0xd7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbd, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbd, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33606,73 +23668,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, +- { MN_vpmovsxbd, 0x21, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vpmovsxbd, 0x21, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbq, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbq, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33681,73 +23698,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, +- { MN_vpmovsxbq, 0x22, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vpmovsxbq, 0x22, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbw, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbw, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33756,13 +23728,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33771,13 +23738,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33786,43 +23748,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxdq, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxdq, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33831,13 +23778,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33846,13 +23788,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33861,43 +23798,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxwd, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxwd, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33906,73 +23828,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, +- { MN_vpmovsxwd, 0x23, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vpmovsxwd, 0x23, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxwq, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxwq, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33981,73 +23858,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, +- { MN_vpmovsxwq, 0x24, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vpmovsxwq, 0x24, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbd, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbd, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34056,73 +23888,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, +- { MN_vpmovzxbd, 0x31, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vpmovzxbd, 0x31, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbq, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbq, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34131,73 +23918,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, +- { MN_vpmovzxbq, 0x32, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vpmovzxbq, 0x32, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbw, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbw, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34206,13 +23948,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34221,13 +23958,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34236,43 +23968,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxdq, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxdq, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34281,13 +23998,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34296,13 +24008,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34311,43 +24018,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxwd, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxwd, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34356,73 +24048,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, +- { MN_vpmovzxwd, 0x33, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vpmovzxwd, 0x33, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxwq, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxwq, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34431,58 +24078,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, +- { MN_vpmovzxwq, 0x34, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vpmovzxwq, 0x34, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmuldq, 0x28, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34491,15 +24098,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmuldq, 0x28, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34508,15 +24110,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmulhrsw, 0x0b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34525,15 +24122,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmulhrsw, 0x0b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34542,15 +24134,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmulhuw, 0xe4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34559,15 +24146,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmulhuw, 0xe4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34576,15 +24158,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmulhw, 0xe5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34593,15 +24170,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmulhw, 0xe5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34610,15 +24182,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmulld, 0x40, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34627,15 +24194,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmulld, 0x40, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34644,15 +24206,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmullw, 0xd5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34661,15 +24218,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmullw, 0xd5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34678,15 +24230,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmuludq, 0xf4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34695,15 +24242,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmuludq, 0xf4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34712,15 +24254,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpor, 0xeb, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34729,15 +24266,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsadbw, 0xf6, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34746,15 +24278,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsadbw, 0xf6, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34763,15 +24290,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshufb, 0x00, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34780,15 +24302,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpshufb, 0x00, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34797,15 +24314,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshufd, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -34814,15 +24326,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpshufd, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -34831,15 +24338,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshufhw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -34848,15 +24350,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpshufhw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 3, 2, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -34865,15 +24362,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshuflw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -34882,15 +24374,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpshuflw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 3, 3, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -34899,15 +24386,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsignb, 0x08 | 0, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34916,15 +24398,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsignw, 0x08 | 1, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34933,15 +24410,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsignd, 0x0a, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34950,15 +24422,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpslld, 0x72 | 0, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34967,15 +24434,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpslld, 0xf2 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34984,15 +24446,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpslld, 0xf2 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35001,15 +24458,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpslld, 0x72 | 0, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -35018,15 +24470,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsllq, 0x72 | 1, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35035,15 +24482,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsllq, 0xf2 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35052,15 +24494,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsllq, 0xf2 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35069,15 +24506,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsllq, 0x72 | 1, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -35086,15 +24518,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpslldq, 0x73, 3, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35103,15 +24530,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpslldq, 0x73, 3, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -35120,15 +24542,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsllw, 0x71, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35137,15 +24554,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsllw, 0xf1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35154,15 +24566,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsllw, 0x71, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -35171,15 +24578,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsllw, 0xf1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35188,15 +24590,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrad, 0x72, 3, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35205,15 +24602,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrad, 0xe2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35222,15 +24614,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrad, 0xe2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35239,15 +24626,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrad, 0x72, 3, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -35256,15 +24638,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsraw, 0x71, 3, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35273,15 +24650,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsraw, 0xe1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35290,15 +24662,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsraw, 0x71, 3, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -35307,15 +24674,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsraw, 0xe1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35324,15 +24686,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrld, 0x72 | 0, 3, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35341,15 +24698,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrld, 0xd2 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35358,15 +24710,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrld, 0xd2 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35375,15 +24722,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrld, 0x72 | 0, 3, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -35392,15 +24734,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlq, 0x72 | 1, 3, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35409,15 +24746,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrlq, 0xd2 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35426,15 +24758,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrlq, 0xd2 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35443,15 +24770,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlq, 0x72 | 1, 3, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -35460,15 +24782,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrldq, 0x73, 3, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35477,15 +24794,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrldq, 0x73, 3, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -35494,15 +24806,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlw, 0x71, 3, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35511,15 +24818,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrlw, 0xd1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35528,15 +24830,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrlw, 0x71, 3, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -35545,15 +24842,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlw, 0xd1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35562,15 +24854,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubb, 0xf8 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35579,15 +24866,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubb, 0xf8 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35596,15 +24878,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubw, 0xf8 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35613,15 +24890,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubw, 0xf8 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35630,15 +24902,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubd, 0xfa | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35647,15 +24914,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubd, 0xfa | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35664,15 +24926,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubq, 0xfa | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35681,15 +24938,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubq, 0xfa | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35698,15 +24950,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubsb, 0xe8 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35715,15 +24962,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubsb, 0xe8 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35732,15 +24974,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubsw, 0xe8 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35749,15 +24986,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubsw, 0xe8 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35766,15 +24998,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubusb, 0xd8 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35783,15 +25010,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubusb, 0xd8 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35800,15 +25022,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubusw, 0xd8 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35817,15 +25034,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubusw, 0xd8 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35834,30 +25046,20 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vptest, 0x17, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpckhbw, 0x68, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35866,15 +25068,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpckhbw, 0x68, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35883,15 +25080,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpckhdq, 0x6a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35900,15 +25092,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpckhdq, 0x6a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35917,15 +25104,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpckhqdq, 0x6d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35934,15 +25116,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpckhqdq, 0x6d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35951,15 +25128,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpckhwd, 0x69, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35968,15 +25140,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpckhwd, 0x69, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35985,15 +25152,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpcklbw, 0x60, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36002,15 +25164,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpcklbw, 0x60, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36019,15 +25176,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpckldq, 0x62, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36036,15 +25188,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpckldq, 0x62, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36053,15 +25200,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpcklqdq, 0x6c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36070,15 +25212,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpcklqdq, 0x6c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36087,15 +25224,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpcklwd, 0x61, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36104,15 +25236,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpcklwd, 0x61, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36121,15 +25248,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpxor, 0xef, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36138,30 +25260,20 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vrcpps, 0x53, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vrcpss, 0x53, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36170,15 +25282,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vroundps, 0x08 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -36187,15 +25294,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vroundpd, 0x08 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -36204,15 +25306,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vroundss, 0x0a | 0, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -36223,15 +25320,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vroundsd, 0x0a | 1, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -36242,30 +25334,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrsqrtps, 0x52, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vrsqrtss, 0x52, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36274,15 +25356,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vshufps, 0xc6, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -36293,15 +25370,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vshufps, 0xc6, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -36312,15 +25384,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vshufpd, 0xc6, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -36331,15 +25398,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vshufpd, 0xc6, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -36350,75 +25412,50 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsqrtps, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vsqrtps, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsqrtpd, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vsqrtpd, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsqrtss, 0x51, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36429,13 +25466,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36444,15 +25476,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vsqrtsd, 0x51, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36463,13 +25490,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36478,28 +25500,18 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vstmxcsr, 0xae, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vsubps, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36508,15 +25520,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vsubps, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36525,15 +25532,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsubpd, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36542,15 +25544,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vsubpd, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36559,15 +25556,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsubss, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36578,13 +25570,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36593,15 +25580,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vsubsd, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36612,13 +25594,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36627,45 +25604,30 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vtestps, 0x0e | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vtestpd, 0x0e | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vucomiss, 0x2e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36674,28 +25636,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vucomisd, 0x2e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36704,28 +25656,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vunpckhps, 0x15, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36734,15 +25676,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vunpckhps, 0x15, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36751,15 +25688,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vunpckhpd, 0x15, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36768,15 +25700,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vunpckhpd, 0x15, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36785,15 +25712,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vunpcklps, 0x14, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36802,15 +25724,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vunpcklps, 0x14, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36819,15 +25736,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vunpcklpd, 0x14, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36836,15 +25748,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vunpcklpd, 0x14, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36853,15 +25760,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vxorps, 0x57, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36870,15 +25772,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vxorps, 0x57, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36887,15 +25784,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vxorpd, 0x57, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36904,15 +25796,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vxorpd, 0x57, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36921,56 +25808,36 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vzeroall, 0x77, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vzeroupper, 0x77, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vbroadcasti128, 0x5a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpblendd, 0x02, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -36981,195 +25848,120 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpbroadcastb, 0x78 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpbroadcastb, 0x78 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastb, 0x7a | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastw, 0x78 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpbroadcastw, 0x78 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastw, 0x7a | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vpbroadcastd, 0x58 | 0, 2, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpbroadcastd, 0x58 | 0, 2, SPACE_0F38, None, ++ { MN_vpbroadcastd, 0x58, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastd, 0x7c, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vpbroadcastq, 0x58 | 1, 2, SPACE_0F38, None, ++ { MN_vpbroadcastq, 0x59, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpbroadcastq, 0x58 | 1, 2, SPACE_0F38, None, ++ { MN_vpbroadcastq, 0x59, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastq, 0x7c, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vperm2i128, 0x46, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -37179,33 +25971,11 @@ static const insn_template i386_optab[] + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpermd, 0x36, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, +- { MN_vpermd, 0x36, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37213,33 +25983,11 @@ static const insn_template i386_optab[] + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vpermpd, 0x01, 3, SPACE_0F3A, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, +- { MN_vpermpd, 0x01, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -37248,15 +25996,10 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vpermpd, 0x16, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37264,33 +26007,11 @@ static const insn_template i386_optab[] + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vpermps, 0x16, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, +- { MN_vpermps, 0x16, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37298,33 +26019,11 @@ static const insn_template i386_optab[] + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vpermq, 0x00, 3, SPACE_0F3A, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, +- { MN_vpermq, 0x00, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -37333,15 +26032,10 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vpermq, 0x36, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37350,15 +26044,10 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vextracti128, 0x39, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37367,15 +26056,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vinserti128, 0x38, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -37386,15 +26070,10 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaskmovd, 0x8e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37403,15 +26082,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vpmaskmovd, 0x8c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37420,15 +26094,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaskmovq, 0x8e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37437,15 +26106,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vpmaskmovq, 0x8c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37454,32 +26118,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsllvd, 0x47, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpsllvd, 0x47, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37488,32 +26130,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsllvq, 0x47, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpsllvq, 0x47, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37522,32 +26142,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsravd, 0x46, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpsravd, 0x46, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37556,32 +26154,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlvd, 0x45, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpsrlvd, 0x45, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37590,32 +26166,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlvq, 0x45, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpsrlvq, 0x45, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37624,15 +26178,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgatherdpd, 0x92, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -37643,43 +26192,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vgatherdpd, 0x92, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 1, 0, 5, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vgatherdps, 0x92, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -37688,15 +26222,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherdps, 0x92, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -37707,13 +26236,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37722,13 +26246,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37737,28 +26256,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vgatherqps, 0x93, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -37767,15 +26276,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherqps, 0x93, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -37786,13 +26290,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37801,13 +26300,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37816,28 +26310,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherqpd, 0x93, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -37846,15 +26330,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherqpd, 0x93, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -37865,13 +26344,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37880,13 +26354,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37895,28 +26364,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpgatherdd, 0x90, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -37925,15 +26384,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpgatherdd, 0x90, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -37944,13 +26398,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37959,13 +26408,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37974,28 +26418,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpgatherdq, 0x90, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -38006,43 +26440,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpgatherdq, 0x90, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 1, 0, 5, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpgatherqd, 0x91, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -38051,15 +26470,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpgatherqd, 0x91, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -38070,13 +26484,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38085,13 +26494,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38100,28 +26504,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpgatherqq, 0x91, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -38130,15 +26524,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpgatherqq, 0x91, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -38149,13 +26538,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38164,13 +26548,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38179,28 +26558,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vaesdec, 0xde, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38209,32 +26578,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaesdec, 0xde, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vaesdec, 0xde, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38243,15 +26590,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38260,32 +26602,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38294,15 +26614,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaesenc, 0xdc, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38311,32 +26626,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaesenc, 0xdc, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vaesenc, 0xdc, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38345,15 +26638,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaesenclast, 0xdd, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38362,32 +26650,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaesenclast, 0xdd, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vaesenclast, 0xdd, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38396,30 +26662,20 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaesimc, 0xdb, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaeskeygenassist, 0xdf, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -38428,15 +26684,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmulqdq, 0x44, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -38447,34 +26698,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmulqdq, 0x44, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpclmulqdq, 0x44, 4, SPACE_0F3A, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -38485,15 +26712,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpclmullqlqdq, 0x44, 3, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38502,32 +26724,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmullqlqdq, 0x44, 3, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpclmullqlqdq, 0x44, 3, SPACE_0F3A, 0x00, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38536,15 +26736,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpclmulhqlqdq, 0x44, 3, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38553,32 +26748,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmulhqlqdq, 0x44, 3, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpclmulhqlqdq, 0x44, 3, SPACE_0F3A, 0x01, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38587,15 +26760,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpclmullqhqdq, 0x44, 3, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38604,32 +26772,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmullqhqdq, 0x44, 3, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpclmullqhqdq, 0x44, 3, SPACE_0F3A, 0x10, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38638,15 +26784,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpclmulhqhqdq, 0x44, 3, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38655,32 +26796,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmulhqhqdq, 0x44, 3, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vpclmulhqhqdq, 0x44, 3, SPACE_0F3A, 0x11, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38689,15 +26808,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgf2p8affineinvqb, 0xcf, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 111, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -38708,15 +26822,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vgf2p8affineinvqb, 0xcf, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 111, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -38727,15 +26836,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgf2p8affineqb, 0xce, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 111, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -38746,15 +26850,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vgf2p8affineqb, 0xce, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 111, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -38765,32 +26864,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgf2p8mulb, 0xcf, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vgf2p8mulb, 0xcf, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38801,93 +26878,58 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdgsbase, 0xae, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdrand, 0xc7, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wrfsbase, 0xae, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wrgsbase, 0xae, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtph2ps, 0x13, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtph2ps, 0x13, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38896,13 +26938,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38911,13 +26948,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38926,28 +26958,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtps2ph, 0x1d, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38956,15 +26978,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vcvtps2ph, 0x1d, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38975,13 +26992,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38992,13 +27004,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39009,13 +27016,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39024,32 +27026,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vfmadd132ps, 0x88 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmadd132ps, 0x88 | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39058,66 +27038,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd132pd, 0x88 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmadd132pd, 0x88 | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmadd213ps, 0x88 | 0x20, 3, SPACE_0F38, None, ++ { MN_vfmadd132ph, 0x88 | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd213ps, 0x88 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39126,66 +27074,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd213pd, 0x88 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmadd213pd, 0x88 | 0x20, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmadd231ps, 0x88 | 0x30, 3, SPACE_0F38, None, ++ { MN_vfmadd213ph, 0x88 | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd231ps, 0x88 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39194,66 +27110,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd231pd, 0x88 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmadd231pd, 0x88 | 0x30, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmadd132ss, 0x89 | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ { MN_vfmadd231ph, 0x88 | 0x30, 3, SPACE_EVEXMAP6, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd132ss, 0x89 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39262,50 +27146,23 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd132sd, 0x89 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmadd132sd, 0x89 | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmadd213ss, 0x89 | 0x20, 3, SPACE_0F38, None, ++ { MN_vfmadd132sh, 0x89 | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, +@@ -39313,15 +27170,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd213ss, 0x89 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39330,50 +27182,23 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd213sd, 0x89 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmadd213sd, 0x89 | 0x20, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmadd231ss, 0x89 | 0x30, 3, SPACE_0F38, None, ++ { MN_vfmadd213sh, 0x89 | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, +@@ -39381,15 +27206,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd231ss, 0x89 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39398,33 +27218,23 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd231sd, 0x89 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmadd231sd, 0x89 | 0x30, 3, SPACE_0F38, None, ++ { MN_vfmadd231sh, 0x89 | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, +@@ -39432,32 +27242,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmaddsub132ps, 0x86 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmaddsub132ps, 0x86 | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39466,66 +27254,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddsub132pd, 0x86 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmaddsub132pd, 0x86 | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmaddsub213ps, 0x86 | 0x20, 3, SPACE_0F38, None, ++ { MN_vfmaddsub132ph, 0x86 | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddsub213ps, 0x86 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39534,66 +27290,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddsub213pd, 0x86 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmaddsub213pd, 0x86 | 0x20, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmaddsub231ps, 0x86 | 0x30, 3, SPACE_0F38, None, ++ { MN_vfmaddsub213ph, 0x86 | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddsub231ps, 0x86 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39602,66 +27326,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddsub231pd, 0x86 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmaddsub231pd, 0x86 | 0x30, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmsub132ps, 0x8a | 0x10, 3, SPACE_0F38, None, ++ { MN_vfmaddsub231ph, 0x86 | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub132ps, 0x8a | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39670,66 +27362,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub132pd, 0x8a | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmsub132pd, 0x8a | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmsub213ps, 0x8a | 0x20, 3, SPACE_0F38, None, ++ { MN_vfmsub132ph, 0x8a | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub213ps, 0x8a | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39738,66 +27398,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub213pd, 0x8a | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmsub213pd, 0x8a | 0x20, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmsub231ps, 0x8a | 0x30, 3, SPACE_0F38, None, ++ { MN_vfmsub213ph, 0x8a | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub231ps, 0x8a | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39806,66 +27434,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub231pd, 0x8a | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmsub231pd, 0x8a | 0x30, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmsub132ss, 0x8b | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ { MN_vfmsub231ph, 0x8a | 0x30, 3, SPACE_EVEXMAP6, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub132ss, 0x8b | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39874,50 +27470,23 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub132sd, 0x8b | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmsub132sd, 0x8b | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmsub213ss, 0x8b | 0x20, 3, SPACE_0F38, None, ++ { MN_vfmsub132sh, 0x8b | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, +@@ -39925,15 +27494,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub213ss, 0x8b | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39942,50 +27506,23 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub213sd, 0x8b | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmsub213sd, 0x8b | 0x20, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmsub231ss, 0x8b | 0x30, 3, SPACE_0F38, None, ++ { MN_vfmsub213sh, 0x8b | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, +@@ -39993,15 +27530,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub231ss, 0x8b | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40010,33 +27542,23 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub231sd, 0x8b | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmsub231sd, 0x8b | 0x30, 3, SPACE_0F38, None, ++ { MN_vfmsub231sh, 0x8b | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, +@@ -40044,32 +27566,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsubadd132ps, 0x87 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmsubadd132ps, 0x87 | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40078,66 +27578,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsubadd132pd, 0x87 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmsubadd132pd, 0x87 | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmsubadd213ps, 0x87 | 0x20, 3, SPACE_0F38, None, ++ { MN_vfmsubadd132ph, 0x87 | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsubadd213ps, 0x87 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40146,66 +27614,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsubadd213pd, 0x87 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmsubadd213pd, 0x87 | 0x20, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmsubadd231ps, 0x87 | 0x30, 3, SPACE_0F38, None, ++ { MN_vfmsubadd213ph, 0x87 | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsubadd231ps, 0x87 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40214,66 +27650,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsubadd231pd, 0x87 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfmsubadd231pd, 0x87 | 0x30, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmadd132ps, 0x8c | 0x10, 3, SPACE_0F38, None, ++ { MN_vfmsubadd231ph, 0x87 | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd132ps, 0x8c | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40282,66 +27686,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd132pd, 0x8c | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfnmadd132pd, 0x8c | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmadd213ps, 0x8c | 0x20, 3, SPACE_0F38, None, ++ { MN_vfnmadd132ph, 0x8c | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd213ps, 0x8c | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40350,66 +27722,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd213pd, 0x8c | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfnmadd213pd, 0x8c | 0x20, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmadd231ps, 0x8c | 0x30, 3, SPACE_0F38, None, ++ { MN_vfnmadd213ph, 0x8c | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd231ps, 0x8c | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40418,66 +27758,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd231pd, 0x8c | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfnmadd231pd, 0x8c | 0x30, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmadd132ss, 0x8d | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ { MN_vfnmadd231ph, 0x8c | 0x30, 3, SPACE_EVEXMAP6, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd132ss, 0x8d | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40486,50 +27794,23 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd132sd, 0x8d | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmadd132sd, 0x8d | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmadd213ss, 0x8d | 0x20, 3, SPACE_0F38, None, ++ { MN_vfnmadd132sh, 0x8d | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, +@@ -40537,15 +27818,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd213ss, 0x8d | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40554,50 +27830,23 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd213sd, 0x8d | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmadd213sd, 0x8d | 0x20, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmadd231ss, 0x8d | 0x30, 3, SPACE_0F38, None, ++ { MN_vfnmadd213sh, 0x8d | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, +@@ -40605,15 +27854,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd231ss, 0x8d | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40622,33 +27866,23 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd231sd, 0x8d | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmadd231sd, 0x8d | 0x30, 3, SPACE_0F38, None, ++ { MN_vfnmadd231sh, 0x8d | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, +@@ -40656,32 +27890,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub132ps, 0x8e | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfnmsub132ps, 0x8e | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40690,66 +27902,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub132pd, 0x8e | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfnmsub132pd, 0x8e | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmsub213ps, 0x8e | 0x20, 3, SPACE_0F38, None, ++ { MN_vfnmsub132ph, 0x8e | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub213ps, 0x8e | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40758,66 +27938,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub213pd, 0x8e | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfnmsub213pd, 0x8e | 0x20, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmsub231ps, 0x8e | 0x30, 3, SPACE_0F38, None, ++ { MN_vfnmsub213ph, 0x8e | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub231ps, 0x8e | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40826,66 +27974,34 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub231pd, 0x8e | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 0, 0, 0, 0 } } } }, +- { MN_vfnmsub231pd, 0x8e | 0x30, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmsub132ss, 0x8f | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ { MN_vfnmsub231ph, 0x8e | 0x30, 3, SPACE_EVEXMAP6, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, ++ 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub132ss, 0x8f | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40894,50 +28010,23 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub132sd, 0x8f | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmsub132sd, 0x8f | 0x10, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmsub213ss, 0x8f | 0x20, 3, SPACE_0F38, None, ++ { MN_vfnmsub132sh, 0x8f | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, +@@ -40945,15 +28034,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub213ss, 0x8f | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40962,50 +28046,23 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub213sd, 0x8f | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmsub213sd, 0x8f | 0x20, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmsub231ss, 0x8f | 0x30, 3, SPACE_0F38, None, ++ { MN_vfnmsub213sh, 0x8f | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, +@@ -41013,15 +28070,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub231ss, 0x8f | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41030,33 +28082,23 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub231sd, 0x8f | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmsub231sd, 0x8f | 0x30, 3, SPACE_0F38, None, ++ { MN_vfnmsub231sh, 0x8f | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, +@@ -41066,91 +28108,56 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xrelease, 0xf3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xabort, 0xc6f8, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xbegin, 0xc7f8, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xend, 0x01d5, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xtest, 0x01d6, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 56, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bzhi, 0xf5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, +@@ -41159,15 +28166,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mulx, 0xf6, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -41176,15 +28178,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pdep, 0xf5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -41193,15 +28190,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pext, 0xf5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -41210,15 +28202,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rorx, 0xf0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, +@@ -41227,15 +28214,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sarx, 0xf7, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, +@@ -41244,15 +28226,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_shlx, 0xf7, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, +@@ -41261,15 +28238,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_shrx, 0xf7, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, +@@ -41278,15 +28250,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfmaddps, 0x68 | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41297,15 +28264,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmaddpd, 0x68 | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41316,15 +28278,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmaddss, 0x6a | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41335,15 +28292,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmaddsd, 0x6a | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41354,15 +28306,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmaddsubps, 0x5c | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41373,15 +28320,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmaddsubpd, 0x5c | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41392,15 +28334,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubaddps, 0x5e | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41411,15 +28348,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubaddpd, 0x5e | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41430,15 +28362,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubps, 0x6c | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41449,15 +28376,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubpd, 0x6c | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41468,15 +28390,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubss, 0x6e | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41487,15 +28404,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsubsd, 0x6e | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41506,15 +28418,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmaddps, 0x78 | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41525,15 +28432,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmaddpd, 0x78 | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41544,15 +28446,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmaddss, 0x7a | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41563,15 +28460,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmaddsd, 0x7a | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41582,15 +28474,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsubps, 0x7c | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41601,15 +28488,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmsubpd, 0x7c | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41620,15 +28502,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmsubss, 0x7e | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41639,15 +28516,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsubsd, 0x7e | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41658,75 +28530,50 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfrczps, 0x80 | 0, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfrczpd, 0x80 | 1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfrczss, 0x82 | 0, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfrczsd, 0x82 | 1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmov, 0xa2, 4, SPACE_XOP08, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -41737,15 +28584,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcomb, 0xcc | 0x00 | 0, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -41756,15 +28598,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomw, 0xcc | 0x00 | 1, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -41775,15 +28612,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomd, 0xcc | 0x00 | 2, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -41794,15 +28626,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomq, 0xcc | 0x00 | 3, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -41813,15 +28640,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomub, 0xcc | 0x20 | 0, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -41832,15 +28654,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomuw, 0xcc | 0x20 | 1, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -41851,15 +28668,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomud, 0xcc | 0x20 | 2, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -41870,15 +28682,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomuq, 0xcc | 0x20 | 3, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -41889,15 +28696,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41906,15 +28708,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltw, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41923,15 +28720,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltd, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41940,15 +28732,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41957,15 +28744,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41974,15 +28756,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41991,15 +28768,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42008,15 +28780,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42025,15 +28792,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomleb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42042,15 +28804,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomlew, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42059,15 +28816,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomled, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42076,15 +28828,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomleq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42093,15 +28840,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomleub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42110,15 +28852,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomleuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42127,15 +28864,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomleud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42144,15 +28876,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomleuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42161,15 +28888,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42178,15 +28900,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtw, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42195,15 +28912,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtd, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42212,15 +28924,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42229,15 +28936,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42246,15 +28948,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42263,15 +28960,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42280,15 +28972,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42297,15 +28984,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgeb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42314,15 +28996,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgew, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42331,15 +29008,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomged, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42348,15 +29020,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgeq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42365,15 +29032,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgeub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42382,15 +29044,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgeuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42399,15 +29056,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgeud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42416,15 +29068,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgeuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42433,15 +29080,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomeqb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42450,15 +29092,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomeqw, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42467,15 +29104,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomeqd, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42484,15 +29116,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomeqq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42501,15 +29128,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomequb, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42518,15 +29140,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomequw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42535,15 +29152,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomequd, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42552,15 +29164,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomequq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42569,15 +29176,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomneqb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42586,15 +29188,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomneqw, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42603,15 +29200,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomneqd, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42620,15 +29212,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomneqq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42637,15 +29224,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomnequb, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42654,15 +29236,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomnequw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42671,15 +29248,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomnequd, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42688,15 +29260,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomnequq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42705,15 +29272,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalseb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42722,15 +29284,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalsew, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42739,15 +29296,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalsed, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42756,15 +29308,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalseq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42773,15 +29320,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalseub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42790,15 +29332,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalseuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42807,15 +29344,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalseud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42824,15 +29356,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalseuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42841,15 +29368,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrueb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42858,15 +29380,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtruew, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42875,15 +29392,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrued, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42892,15 +29404,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrueq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42909,15 +29416,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrueub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42926,15 +29428,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrueuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42943,15 +29440,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrueud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42960,15 +29452,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrueuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42977,15 +29464,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpermil2ps, 0x48 | 0, 5, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42998,15 +29480,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpermil2ps, 0x48 | 0, 5, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43019,15 +29496,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpermil2pd, 0x48 | 1, 5, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43040,15 +29512,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpermil2pd, 0x48 | 1, 5, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43061,240 +29528,160 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vphaddbd, 0xc2 | 0, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddbq, 0xc2 | 1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddbw, 0xc1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphadddq, 0xcb, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddubd, 0xd2 | 0, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddubq, 0xd2 | 1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddubw, 0xd1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddudq, 0xdb, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphadduwd, 0xd6 | 0, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphadduwq, 0xd6 | 1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddwd, 0xc6 | 0, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddwq, 0xc6 | 1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphsubbw, 0xe1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphsubdq, 0xe3, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphsubwd, 0xe2, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacsdd, 0x9e, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43305,15 +29692,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacsdqh, 0x9f, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43324,15 +29706,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacsdql, 0x97, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43343,15 +29720,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacssdd, 0x8e, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43362,15 +29734,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacssdqh, 0x8f, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43381,15 +29748,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacssdql, 0x87, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43400,15 +29762,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacsswd, 0x86, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43419,15 +29776,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacssww, 0x85, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43438,15 +29790,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacswd, 0x96, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43457,15 +29804,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacsww, 0x95, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43476,15 +29818,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmadcsswd, 0xa6, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43495,15 +29832,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmadcswd, 0xb6, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43514,15 +29846,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpperm, 0xa3, 4, SPACE_XOP08, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43533,15 +29860,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotb, 0x90 | 0, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43550,15 +29872,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotb, 0xc0 | 0, 3, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43567,15 +29884,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotw, 0x90 | 1, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43584,15 +29896,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotw, 0xc0 | 1, 3, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43601,15 +29908,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotd, 0x90 | 2, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43618,15 +29920,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotd, 0xc0 | 2, 3, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43635,15 +29932,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotq, 0x90 | 3, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43652,15 +29944,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotq, 0xc0 | 3, 3, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43669,15 +29956,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshab, 0x98 | 0, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43686,15 +29968,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshaw, 0x98 | 1, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43703,15 +29980,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshad, 0x98 | 2, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43720,15 +29992,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshaq, 0x98 | 3, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43737,15 +30004,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshlb, 0x94 | 0, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43754,15 +30016,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshlw, 0x94 | 1, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43771,15 +30028,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshld, 0x94 | 2, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43788,15 +30040,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshlq, 0x94 | 3, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -43805,41 +30052,26 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_llwpcb, 0x12, 1, SPACE_XOP09, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_slwpcb, 0x12, 1, SPACE_XOP09, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lwpval, 0x12, 3, SPACE_XOP0A, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -43848,15 +30080,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lwpins, 0x12, 3, SPACE_XOP0A, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -43865,15 +30092,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_andn, 0xf2, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -43882,15 +30104,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bextr, 0xf7, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, +@@ -43899,15 +30116,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bextr, 0x10, 3, SPACE_XOP0A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, +@@ -43916,45 +30128,30 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blsi, 0xf3, 2, SPACE_0F38, 3, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blsmsk, 0xf3, 2, SPACE_0F38, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blsr, 0xf3, 2, SPACE_0F38, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -43963,148 +30160,98 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blcfill, 0x01, 2, SPACE_XOP09, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blci, 0x02, 2, SPACE_XOP09, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blcic, 0x01, 2, SPACE_XOP09, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blcmsk, 0x02, 2, SPACE_XOP09, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blcs, 0x01, 2, SPACE_XOP09, 3, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blsfill, 0x01, 2, SPACE_XOP09, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blsic, 0x01, 2, SPACE_XOP09, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_t1mskc, 0x01, 2, SPACE_XOP09, 7, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_tzmsk, 0x01, 2, SPACE_XOP09, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -44113,52 +30260,32 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 62, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_prefetchw, 0x0d, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 62, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_femms, 0x0e, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pavgusb, 0x0f, 2, SPACE_0F, 0xbf, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44167,13 +30294,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44182,13 +30304,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44197,13 +30314,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44212,13 +30324,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44227,13 +30334,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44242,13 +30344,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44257,13 +30354,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44272,13 +30364,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44287,13 +30374,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44302,13 +30384,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44317,13 +30394,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44332,13 +30404,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44347,13 +30414,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44362,13 +30424,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44377,13 +30434,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44392,13 +30444,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44407,13 +30454,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44422,13 +30464,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44437,13 +30474,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44452,13 +30484,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44467,13 +30494,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44482,13 +30504,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44497,13 +30514,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44512,91 +30524,56 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sysret, 0x07, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_swapgs, 0x01f8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdtscp, 0x01f9, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clgi, 0x01dd, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invlpga, 0x01df, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invlpga, 0x01df, 2, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -44605,156 +30582,96 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_skinit, 0x01de, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_stgi, 0x01dc, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmgexit, 0x01d9, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmload, 0x01da, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmload, 0x01da, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmmcall, 0x01d9, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmrun, 0x01d8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmrun, 0x01d8, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmsave, 0x01db, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmsave, 0x01db, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movntsd, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -44763,13 +30680,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -44778,13 +30690,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44795,13 +30702,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44810,13 +30712,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44825,13 +30722,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44844,13 +30736,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -44859,13 +30746,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, +@@ -44874,303 +30756,232 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcrypt_ecb, 0xa7c8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcrypt_cbc, 0xa7d0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcrypt_ctr, 0xa7d8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcrypt_cfb, 0xa7e0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcrypt_ofb, 0xa7e8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_montmul, 0xa6c0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xsha1, 0xa6c8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xsha256, 0xa6d0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xstorerng, 0xa7c0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcryptecb, 0xa7c8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcryptcbc, 0xa7d0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcryptctr, 0xa7d8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcryptcfb, 0xa7e0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcryptofb, 0xa7e8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xstore, 0xa7c0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_adcx, 0x66, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_adcx, 0xf6, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_adcx, 0x66, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_adox, 0x66, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 2, 0, 2, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_adox, 0xf6, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_adox, 0x66, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdseed, 0xc7, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clac, 0x01ca, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_stac, 0x01cb, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bnd, 0xf2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bndmk, 0x1b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45179,13 +30990,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45194,13 +31000,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45209,13 +31010,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 59, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45224,13 +31020,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45239,13 +31030,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 59, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45254,13 +31040,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45269,13 +31050,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 59, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45284,13 +31060,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -45299,152 +31070,280 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sha1rnds4, 0xcc, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_sha1rnds4, 0xd4, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 64, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha1nexte, 0xc8, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_sha1nexte, 0xd8, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 64, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha1msg1, 0xc9, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_sha1msg1, 0xd9, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 64, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha1msg2, 0xca, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_sha1msg2, 0xda, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 64, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha256rnds2, 0xcb, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_sha256rnds2, 0xdb, 3, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 64, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha256rnds2, 0xcb, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_sha256rnds2, 0xdb, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 64, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha256msg1, 0xcc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_sha256msg1, 0xdc, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 64, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha256msg2, 0xcd, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_sha256msg2, 0xdd, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 64, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_vsha512rnds2, 0xcb, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } } } }, ++ { MN_vsha512msg1, 0xcc, 2, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } } } }, ++ { MN_vsha512msg2, 0xcd, 2, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 0, 0 } } } }, ++ { MN_vsm3rnds2, 0xde, 4, SPACE_0F3A, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_vsm3msg1, 0xda, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_vsm3msg2, 0xda, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_vsm4key4, 0xda, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vsm4rnds4, 0xda, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, + { MN_kandb, 0x41, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45453,15 +31352,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandw, 0x41, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45470,15 +31364,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandnb, 0x42, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45487,15 +31376,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandnw, 0x42, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45504,15 +31388,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_korb, 0x45, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45521,15 +31400,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_korw, 0x45, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45538,15 +31412,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxnorb, 0x46, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45555,15 +31424,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxnorw, 0x46, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45572,15 +31436,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxorb, 0x47, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45589,15 +31448,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxorw, 0x47, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45606,165 +31460,110 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovb, 0x90, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovb, 0x91, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_kmovb, 0x92, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovw, 0x90, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovw, 0x91, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_kmovw, 0x92, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_knotb, 0x44, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_knotw, 0x44, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kortestb, 0x98, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kortestw, 0x98, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftlb, 0x32, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45773,15 +31572,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftlw, 0x32, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45790,15 +31584,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftrb, 0x30, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45807,15 +31596,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftrw, 0x30, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45824,15 +31608,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kunpckbw, 0x4b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45841,15 +31620,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vaddph, 0x58, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45858,15 +31632,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vdivph, 0x5e, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45875,15 +31644,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmulph, 0x59, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45892,30 +31656,20 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsqrtph, 0x51, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsubph, 0x5c, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45926,13 +31680,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45943,13 +31692,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45960,13 +31704,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45977,13 +31716,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45994,13 +31728,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46009,15 +31738,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_valignd, 0x03, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46028,15 +31752,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_valignq, 0x03, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -46047,15 +31766,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vblendmps, 0x65, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46064,15 +31778,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vblendmpd, 0x65, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46081,15 +31790,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpblendmd, 0x64, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46098,15 +31802,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpblendmq, 0x64, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46115,15 +31814,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermi2d, 0x76, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46132,15 +31826,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermi2q, 0x76, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46149,15 +31838,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermi2ps, 0x77, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46166,15 +31850,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermi2pd, 0x77, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46183,15 +31862,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermt2d, 0x7e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46200,15 +31874,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermt2q, 0x7e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46217,15 +31886,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermt2ps, 0x7f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46234,15 +31898,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermt2pd, 0x7f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46251,15 +31910,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxsq, 0x3d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46268,15 +31922,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxuq, 0x3f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46285,15 +31934,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminsq, 0x39, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46302,15 +31946,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminuq, 0x3b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46319,15 +31958,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprolvd, 0x15, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46336,15 +31970,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprolvq, 0x15, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46353,15 +31982,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprorvd, 0x14, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46370,15 +31994,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprorvq, 0x14, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46387,15 +32006,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsravq, 0x46, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46404,15 +32018,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpternlogd, 0x25, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46423,15 +32032,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpternlogq, 0x25, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -46442,30 +32046,20 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vbroadcastf32x4, 0x1a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vbroadcasti32x4, 0x5a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46474,13 +32068,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46489,13 +32078,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46504,13 +32088,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46519,73 +32098,48 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcompresspd, 0x8a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vcompressps, 0x8a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vpcompressq, 0x8b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vpcompressd, 0x8b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -46594,13 +32148,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46609,13 +32158,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46624,13 +32168,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46639,28 +32178,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpscatterdq, 0xa0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 1, 0, 5, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -46669,13 +32198,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46684,13 +32208,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46699,13 +32218,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46714,13 +32228,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -46729,13 +32238,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -46744,13 +32248,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -46759,28 +32258,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterdpd, 0xa2, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 1, 0, 5, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -46789,13 +32278,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46804,13 +32288,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46819,13 +32298,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46834,13 +32308,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -46849,13 +32318,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -46864,13 +32328,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -46879,13 +32338,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46894,13 +32348,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46909,13 +32358,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -46924,13 +32368,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 3, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46939,13 +32378,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46954,28 +32388,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtps2udq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46984,73 +32408,48 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2udq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2udq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2udqx, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2udqy, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47059,13 +32458,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -47074,13 +32468,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -47089,28 +32478,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2sd, 0x7b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47119,15 +32498,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2sd, 0x7b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47136,15 +32510,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2sd, 0x7b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47153,15 +32522,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2sd, 0x7b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47170,15 +32534,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2ss, 0x7b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47187,15 +32546,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2ss, 0x7b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47206,88 +32560,58 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2udq, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2udq, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2udqx, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2udqy, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttps2udq, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47296,13 +32620,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -47311,13 +32630,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -47326,103 +32640,68 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtudq2ps, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vexpandpd, 0x88, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpexpandq, 0x89, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vexpandps, 0x88, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpexpandd, 0x89, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vextractf32x4, 0x19, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47431,15 +32710,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vextracti32x4, 0x39, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47450,13 +32724,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47467,13 +32736,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47482,15 +32746,10 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vfixupimmps, 0x54, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -47501,15 +32760,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfixupimmpd, 0x54, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -47522,13 +32776,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -47541,13 +32790,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -47558,15 +32802,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgetmantps, 0x26, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -47575,15 +32814,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgetmantpd, 0x26, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -47592,15 +32826,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgetmantph, 0x26, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -47611,13 +32840,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -47630,13 +32854,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -47649,13 +32868,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -47666,15 +32880,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrndscaleps, 0x08 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -47683,15 +32892,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrndscalepd, 0x08 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -47700,15 +32904,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrndscaleph, 0x08 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -47719,13 +32918,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -47738,13 +32932,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -47757,13 +32946,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -47772,527 +32956,12 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmadd132ph, 0x88 | 0x10, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmadd213ph, 0x88 | 0x20, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmadd231ph, 0x88 | 0x30, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmadd132sh, 0x89 | 0x10, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmadd213sh, 0x89 | 0x20, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmadd231sh, 0x89 | 0x30, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmaddsub132ph, 0x86 | 0x10, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmaddsub213ph, 0x86 | 0x20, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmaddsub231ph, 0x86 | 0x30, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmsub132ph, 0x8a | 0x10, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmsub213ph, 0x8a | 0x20, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmsub231ph, 0x8a | 0x30, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmsub132sh, 0x8b | 0x10, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmsub213sh, 0x8b | 0x20, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmsub231sh, 0x8b | 0x30, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfmsubadd132ph, 0x87 | 0x10, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmsubadd213ph, 0x87 | 0x20, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfmsubadd231ph, 0x87 | 0x30, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmadd132ph, 0x8c | 0x10, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmadd213ph, 0x8c | 0x20, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmadd231ph, 0x8c | 0x30, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmadd132sh, 0x8d | 0x10, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmadd213sh, 0x8d | 0x20, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmadd231sh, 0x8d | 0x30, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmsub132ph, 0x8e | 0x10, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmsub213ph, 0x8e | 0x20, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmsub231ph, 0x8e | 0x30, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vfnmsub132sh, 0x8f | 0x10, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmsub213sh, 0x8f | 0x20, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vfnmsub231sh, 0x8f | 0x30, 3, SPACE_EVEXMAP6, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, + { MN_vscalefps, 0x2c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48301,15 +32970,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vscalefpd, 0x2c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48318,15 +32982,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vscalefph, 0x2c, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48337,13 +32996,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48354,13 +33008,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48371,13 +33020,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48386,45 +33030,30 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgetexpps, 0x42, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgetexppd, 0x42, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgetexpph, 0x42, 2, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48433,13 +33062,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48450,13 +33074,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48467,13 +33086,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48482,15 +33096,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vinsertf32x4, 0x18, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -48501,15 +33110,10 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vinserti32x4, 0x38, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -48522,13 +33126,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -48541,13 +33140,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -48558,15 +33152,10 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vmaxph, 0x5f, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48577,13 +33166,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48592,15 +33176,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vminph, 0x5d, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48611,13 +33190,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48626,60 +33200,40 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovdqa64, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovdqa32, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovdqu32, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovdqu64, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48688,13 +33242,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48703,13 +33252,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48718,30 +33262,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpabsq, 0x1e | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpandd, 0xdb, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48750,15 +33284,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpandq, 0xdb, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48767,15 +33296,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpandnd, 0xdf, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48784,15 +33308,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpandnq, 0xdf, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48801,15 +33320,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpord, 0xeb, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48818,15 +33332,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vporq, 0xeb, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48835,15 +33344,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpxord, 0xef, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48852,15 +33356,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpxorq, 0xef, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48869,15 +33368,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpcmpd, 0x1f, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -48888,15 +33382,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpq, 0x1f, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -48907,15 +33396,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpud, 0x1e, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -48926,15 +33410,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpuq, 0x1e, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -48945,15 +33424,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltd, 0x1f, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48962,15 +33436,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltq, 0x1f, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48979,15 +33448,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpled, 0x1f, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48996,15 +33460,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpleq, 0x1f, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49013,15 +33472,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpneqd, 0x1f, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49030,15 +33484,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpneqq, 0x1f, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49047,15 +33496,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltd, 0x1f, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49064,15 +33508,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltq, 0x1f, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49081,15 +33520,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnled, 0x1f, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49098,15 +33532,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnleq, 0x1f, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49115,15 +33544,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpequd, 0x1e, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49132,15 +33556,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpequq, 0x1e, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49149,15 +33568,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltud, 0x1e, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49166,15 +33580,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltuq, 0x1e, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49183,15 +33592,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpleud, 0x1e, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49200,15 +33604,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpleuq, 0x1e, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49217,15 +33616,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnequd, 0x1e, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49234,15 +33628,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnequq, 0x1e, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49251,15 +33640,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltud, 0x1e, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49268,15 +33652,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltuq, 0x1e, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49285,15 +33664,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnleud, 0x1e, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49302,15 +33676,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnleuq, 0x1e, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49319,15 +33688,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestmd, 0x27, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49336,15 +33700,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestmq, 0x27, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49353,15 +33712,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestnmd, 0x27, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49370,15 +33724,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestnmq, 0x27, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 2, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49389,13 +33738,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49404,13 +33748,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -49419,13 +33758,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49434,13 +33768,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49449,13 +33778,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -49464,13 +33788,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49479,13 +33798,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49494,13 +33808,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -49509,13 +33818,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49524,13 +33828,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49539,13 +33838,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49554,13 +33848,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49569,13 +33858,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49584,13 +33868,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49599,13 +33878,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49614,13 +33888,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49629,13 +33898,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49644,13 +33908,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49659,13 +33918,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49674,13 +33928,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -49689,13 +33938,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -49704,13 +33948,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49719,13 +33958,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -49734,13 +33968,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -49749,13 +33978,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49764,13 +33988,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -49779,13 +33998,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -49794,13 +34008,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49809,13 +34018,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49824,13 +34028,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49839,13 +34038,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49854,13 +34048,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49869,13 +34058,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49884,13 +34068,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49899,13 +34078,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49914,13 +34088,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49929,13 +34098,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49944,13 +34108,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -49959,13 +34118,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -49974,13 +34128,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -49989,13 +34138,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -50004,13 +34148,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -50019,13 +34158,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -50034,13 +34168,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -50049,28 +34178,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vprold, 0x72, 3, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -50079,15 +34198,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprolq, 0x72, 3, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -50096,15 +34210,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprord, 0x72, 3, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -50113,15 +34222,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprorq, 0x72, 3, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -50130,15 +34234,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsraq, 0xe2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50147,15 +34246,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsraq, 0x72, 3, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -50164,30 +34258,20 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrcp14ps, 0x4c, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrcp14pd, 0x4c, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50196,13 +34280,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50213,13 +34292,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50228,30 +34302,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrsqrt14ps, 0x4e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrsqrt14pd, 0x4e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50260,13 +34324,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50277,13 +34336,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50292,15 +34346,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vshuff32x4, 0x23, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -50311,15 +34360,10 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vshufi32x4, 0x43, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -50330,15 +34374,10 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vshuff64x2, 0x23, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -50349,15 +34388,10 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vshufi64x2, 0x43, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -50370,13 +34404,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50385,73 +34414,48 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpconflictd, 0xc4, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpconflictq, 0xc4, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vplzcntd, 0x44, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vplzcntq, 0x44, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50460,13 +34464,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50475,13 +34474,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50490,13 +34484,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50505,13 +34494,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50520,13 +34504,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50537,13 +34516,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50554,13 +34528,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50569,13 +34538,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50584,13 +34548,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50601,13 +34560,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50618,364 +34572,224 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf0dps, 0xc6, 1, SPACE_0F38, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf0qps, 0xc7, 1, SPACE_0F38, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf0qpd, 0xc7, 1, SPACE_0F38, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf1dpd, 0xc6, 1, SPACE_0F38, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf1dps, 0xc6, 1, SPACE_0F38, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf1qps, 0xc7, 1, SPACE_0F38, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf1qpd, 0xc7, 1, SPACE_0F38, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf0dpd, 0xc6, 1, SPACE_0F38, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf0dps, 0xc6, 1, SPACE_0F38, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf0qps, 0xc7, 1, SPACE_0F38, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf0qpd, 0xc7, 1, SPACE_0F38, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf1dpd, 0xc6, 1, SPACE_0F38, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf1dps, 0xc6, 1, SPACE_0F38, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf1qps, 0xc7, 1, SPACE_0F38, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf1qpd, 0xc7, 1, SPACE_0F38, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_prefetchwt1, 0x0d, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clflushopt, 0xae, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xrstors, 0xc7, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xrstors64, 0xc7, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 69, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xsaves, 0xc7, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xsaves64, 0xc7, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 69, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xsavec, 0xc7, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xsavec64, 0xc7, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 70, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_encls, 0x01cf, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_enclu, 0x01d7, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_enclv, 0x01c0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kaddd, 0x4a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50984,15 +34798,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kaddq, 0x4a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51001,15 +34810,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandd, 0x41, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51018,15 +34822,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandq, 0x41, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51035,15 +34834,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandnd, 0x42, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51052,15 +34846,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandnq, 0x42, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51069,135 +34858,90 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovd, 0x90, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovd, 0x91, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_kmovd, 0x92, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovq, 0x90, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovq, 0x91, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_kmovq, 0x92, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_knotd, 0x44, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_knotq, 0x44, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kord, 0x45, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51206,15 +34950,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_korq, 0x45, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51223,75 +34962,50 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kortestd, 0x98, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kortestq, 0x98, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ktestd, 0x99, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ktestq, 0x99, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxnord, 0x46, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51300,15 +35014,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxnorq, 0x46, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51317,15 +35026,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxord, 0x47, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51334,15 +35038,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxorq, 0x47, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51351,15 +35050,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kunpckdq, 0x4b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51368,15 +35062,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kunpckwd, 0x4b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51385,15 +35074,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftld, 0x33, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51402,15 +35086,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftlq, 0x33, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51419,15 +35098,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftrd, 0x31, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51436,15 +35110,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftrq, 0x31, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51453,15 +35122,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vdbpsadbw, 0x42, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -51472,45 +35136,30 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovdqu8, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 5, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovdqu16, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpblendmb, 0x66, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51519,15 +35168,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpblendmw, 0x66, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51536,15 +35180,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermi2b, 0x75, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51553,15 +35192,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermi2w, 0x75, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51570,15 +35204,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermt2b, 0x7d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51587,15 +35216,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermt2w, 0x7d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51604,15 +35228,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermb, 0x8d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51621,15 +35240,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermw, 0x8d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51638,15 +35252,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsllvw, 0x12, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51655,15 +35264,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsravw, 0x11, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51672,15 +35276,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlvw, 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51689,15 +35288,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpcmpb, 0x3f, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -51708,15 +35302,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpw, 0x3f, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -51727,15 +35316,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpub, 0x3e, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -51746,15 +35330,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpuw, 0x3e, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -51765,15 +35344,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltb, 0x3f, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51782,15 +35356,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltw, 0x3f, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51799,15 +35368,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpleb, 0x3f, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51816,15 +35380,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmplew, 0x3f, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51833,15 +35392,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpneqb, 0x3f, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51850,15 +35404,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpneqw, 0x3f, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51867,15 +35416,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltb, 0x3f, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51884,15 +35428,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltw, 0x3f, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51901,15 +35440,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnleb, 0x3f, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51918,15 +35452,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnlew, 0x3f, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51935,15 +35464,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpequb, 0x3e, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51952,15 +35476,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpequw, 0x3e, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51969,15 +35488,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltub, 0x3e, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51986,15 +35500,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltuw, 0x3e, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52003,15 +35512,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpleub, 0x3e, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52020,15 +35524,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpleuw, 0x3e, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52037,15 +35536,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnequb, 0x3e, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52054,15 +35548,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnequw, 0x3e, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52071,15 +35560,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltub, 0x3e, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52088,15 +35572,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltuw, 0x3e, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52105,15 +35584,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnleub, 0x3e, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52122,15 +35596,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnleuw, 0x3e, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52141,13 +35610,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52156,13 +35620,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52171,13 +35630,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52186,13 +35640,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52201,13 +35650,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -52216,13 +35660,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -52231,13 +35670,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -52246,13 +35680,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -52261,13 +35690,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -52276,13 +35700,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -52291,13 +35710,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -52306,13 +35720,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -52321,28 +35730,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vptestmb, 0x26, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52351,15 +35750,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestmw, 0x26, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52368,15 +35762,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestnmb, 0x26, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52385,15 +35774,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestnmw, 0x26, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 2, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52402,15 +35786,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kaddb, 0x4a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52419,15 +35798,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kaddw, 0x4a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52436,45 +35810,30 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ktestb, 0x99, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ktestw, 0x99, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vbroadcastf32x2, 0x19, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52483,28 +35842,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vbroadcasti32x2, 0x59, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52513,73 +35862,48 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vbroadcastf64x2, 0x1a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vbroadcasti64x2, 0x5a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtpd2qq, 0x7b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtpd2uqq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52588,13 +35912,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 1, 1, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52603,13 +35922,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52618,13 +35932,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52633,13 +35942,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 1, 1, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52648,13 +35952,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52663,43 +35962,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtuqq2pd, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52708,103 +35992,68 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2ps, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2ps, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2psx, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2psy, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2qq, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvttpd2uqq, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52813,13 +36062,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52828,13 +36072,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52843,13 +36082,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52858,13 +36092,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52873,13 +36102,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52888,13 +36112,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52903,73 +36122,48 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 3, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2ps, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2ps, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2psx, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 4, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2psy, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52978,13 +36172,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52995,13 +36184,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53012,13 +36196,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -53031,13 +36210,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -53048,15 +36222,10 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vextractf64x2, 0x19, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53065,15 +36234,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vextracti64x2, 0x39, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53082,15 +36246,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vinsertf64x2, 0x18, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -53101,15 +36260,10 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vinserti64x2, 0x38, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -53120,15 +36274,10 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vfpclassps, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -53137,15 +36286,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassps, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -53154,15 +36298,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclasspd, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -53171,15 +36310,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclasspd, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -53190,13 +36324,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 0, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -53207,13 +36336,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 0, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -53224,13 +36348,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -53241,13 +36360,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -53258,13 +36372,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -53275,13 +36384,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -53292,13 +36396,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -53309,13 +36408,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -53326,13 +36420,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -53343,13 +36432,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53358,13 +36442,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53373,13 +36452,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53388,28 +36462,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmullq, 0x40, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53418,15 +36482,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrangeps, 0x50, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -53437,15 +36496,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrangepd, 0x50, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -53458,13 +36512,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -53477,13 +36526,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -53494,15 +36538,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vreduceps, 0x56, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -53511,15 +36550,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vreducepd, 0x56, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -53528,15 +36562,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vreduceph, 0x56, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -53547,13 +36576,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -53566,13 +36590,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -53585,13 +36604,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -53604,26 +36618,16 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpmadd52huq, 0xb5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53632,15 +36636,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmadd52huq, 0xb5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53649,15 +36648,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmadd52luq, 0xb4, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53666,15 +36660,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmadd52luq, 0xb4, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53683,15 +36672,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmultishiftqb, 0x83, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53702,13 +36686,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 3, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53719,13 +36698,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 3, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53736,13 +36710,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 3, 0, 0, 4, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53753,13 +36722,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 3, 0, 0, 4, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53770,13 +36734,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 3, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53787,13 +36746,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 3, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53802,105 +36756,70 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpopcntd, 0x55, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpopcntq, 0x55, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpcompressb, 0x63, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vpcompressw, 0x63, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vpexpandb, 0x62, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpexpandw, 0x62, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshldvd, 0x71, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53909,15 +36828,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshldvq, 0x71, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53926,15 +36840,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshldvw, 0x70, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53943,15 +36852,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshrdvd, 0x73, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53960,15 +36864,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshrdvq, 0x73, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53977,15 +36876,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshrdvw, 0x72, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53994,15 +36888,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshldd, 0x71, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -54013,15 +36902,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshldq, 0x71, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -54032,15 +36916,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshldw, 0x70, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -54051,15 +36930,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshrdd, 0x73, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, +@@ -54070,15 +36944,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshrdq, 0x73, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -54089,15 +36958,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshrdw, 0x72, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -54108,15 +36972,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpdpbusd, 0x50, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54125,15 +36984,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpdpbusd, 0x50, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54142,15 +36996,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpwssd, 0x52, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54159,15 +37008,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpdpwssd, 0x52, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54176,15 +37020,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbusds, 0x51, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54193,15 +37032,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpdpbusds, 0x51, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54210,15 +37044,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpwssds, 0x53, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54227,15 +37056,10 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpdpwssds, 0x53, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54244,15 +37068,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbuud, 0x50, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54261,15 +37080,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbuuds, 0x51, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54278,15 +37092,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbssd, 0x50, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54295,15 +37104,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbssds, 0x51, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54312,15 +37116,10 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbsud, 0x50, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54329,15 +37128,82 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbsuds, 0x51, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vpdpwuud, 0xd2, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vpdpwuuds, 0xd3, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vpdpwusd, 0xd2, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vpdpwusds, 0xd3, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vpdpwsud, 0xd2, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vpdpwsuds, 0xd3, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54346,45 +37212,30 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpopcntb, 0x54, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpopcntw, 0x54, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshufbitqmb, 0x8f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 5, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54395,26 +37246,16 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invlpgb, 0x01fe, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }, ++ { { 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -54425,65 +37266,40 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, ++ { { 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clzero, 0x01fc, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clzero, 0x01fc, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_monitorx, 0x01fa, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_monitorx, 0x01fa, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -54494,13 +37310,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 99, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -54511,26 +37322,16 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mwaitx, 0x01fb, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -54541,214 +37342,174 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wrpkru, 0x01ef, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdpid, 0xc7, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdpid, 0xc7, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 102, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ptwrite, 0xae, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ptwrite, 0xae, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 103, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_incsspd, 0xae, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_incsspq, 0xae, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 105, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdsspd, 0x1e, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdsspq, 0x1e, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 105, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_saveprevssp, 0x01ea, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rstorssp, 0x01, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_wrssd, 0xf6, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_wrssd, 0x66, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 105, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_wrssq, 0xf6, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 105, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_wrssq, 0x66, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 105, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_wrussd, 0xf5, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_wrussd, 0x65, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 105, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_wrussq, 0xf5, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 105, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_wrussq, 0x65, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 105, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, +@@ -54757,130 +37518,88 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clrssbsy, 0xae, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_endbr64, 0x1efa, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_endbr32, 0x1efb, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_notrack, 0x3e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wbnoinvd, 0x09, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pconfig, 0x01c5, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_pbndkb, 0x01c7, 0, SPACE_0F, None, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 116, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_umonitor, 0xae, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_tpause, 0xae, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_tpause, 0xae, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -54891,26 +37610,16 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_umwait, 0xae, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -54921,56 +37630,56 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movdiri, 0xf9, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_movdiri, 0xf9, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 120, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_movdir64b, 0xf8, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_movdir64b, 0xf8, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 121, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtne2ps2bf16, 0x72, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54981,148 +37690,98 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 3, 0, 0, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 82, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 1, 3, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 82, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16x, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 3, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 82, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16x, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16y, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 3, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 82, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16y, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vdpbf16ps, 0x52, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 5, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55131,135 +37790,110 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vbcstnebf162ps, 0xb1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vbcstnesh2ps, 0xb1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtneebf162ps, 0xb0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtneeph2ps, 0xb0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtneobf162ps, 0xb0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtneoph2ps, 0xb0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, + { MN_enqcmd, 0xf8, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_enqcmd, 0xf8, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_enqcmds, 0xf8, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_enqcmds, 0xf8, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_vp2intersectd, 0x68, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 5, 0, 3, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55268,15 +37902,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vp2intersectq, 0x68, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 5, 0, 4, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55287,65 +37916,40 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psmash, 0x01ff, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } }, ++ { { 133, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psmash, 0x01ff, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } }, ++ { { 133, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pvalidate, 0x01ff, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pvalidate, 0x01ff, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -55356,39 +37960,24 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }, ++ { { 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpupdate, 0x01fe, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } }, ++ { { 133, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpupdate, 0x01fe, 2, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } }, ++ { { 133, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -55397,39 +37986,24 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } }, ++ { { 133, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpadjust, 0x01fe, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } }, ++ { { 133, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpadjust, 0x01fe, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } }, ++ { { 133, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -55440,39 +38014,24 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } }, ++ { { 133, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpquery, 0x01fd, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 } }, ++ { { 134, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpquery, 0x01fd, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 } }, ++ { { 134, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -55483,91 +38042,56 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_serialize, 0x01e8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xsusldtrk, 0x01e8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xresldtrk, 0x01e9, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ldtilecfg, 0x49, 1, SPACE_0F38, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 110, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sttilecfg, 0x49, 1, SPACE_0F38, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 110, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_tcmmimfp16ps, 0x6c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 109, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55576,15 +38100,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tcmmrlfp16ps, 0x6c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 109, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55593,15 +38112,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tdpbf16ps, 0x5c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 107, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55610,15 +38124,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tdpfp16ps, 0x5c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 108, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55627,15 +38136,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tdpbssd, 0x5e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 106, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55644,15 +38148,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tdpbuud, 0x5e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 106, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55661,15 +38160,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tdpbusd, 0x5e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 106, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55678,15 +38172,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tdpbsud, 0x5e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 106, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55695,373 +38184,330 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tileloadd, 0x4b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 3, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 110, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tileloaddt1, 0x4b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 1, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 110, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tilestored, 0x4b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 2, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 110, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_tilerelease, 0x49c0, 0, SPACE_0F38, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 110, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_tilezero, 0x49, 1, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 110, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0 } } } }, + { MN_loadiwkey, 0xdc, 2, SPACE_0F38, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_encodekey128, 0xfa, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_encodekey128, 0xda, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 128, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_encodekey256, 0xfb, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_encodekey256, 0xdb, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 128, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aesenc128kl, 0xdc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_aesenc128kl, 0xdc, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 128, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesdec128kl, 0xdd, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_aesdec128kl, 0xdd, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 128, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesenc256kl, 0xde, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_aesenc256kl, 0xde, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 128, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesdec256kl, 0xdf, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_aesdec256kl, 0xdf, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 128, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesencwide128kl, 0xd8, 1, SPACE_0F38, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_aesencwide128kl, 0xd8, 1, SPACE_EVEXMAP4, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 129, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_aesdecwide128kl, 0xd8, 1, SPACE_0F38, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_aesdecwide128kl, 0xd8, 1, SPACE_EVEXMAP4, 1, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 129, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_aesencwide256kl, 0xd8, 1, SPACE_0F38, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_aesencwide256kl, 0xd8, 1, SPACE_EVEXMAP4, 2, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 129, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_aesdecwide256kl, 0xd8, 1, SPACE_0F38, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_aesdecwide256kl, 0xd8, 1, SPACE_EVEXMAP4, 3, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 129, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_tdcall, 0x01cc, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_seamret, 0x01cd, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 84, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_seamops, 0x01ce, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 84, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_seamcall, 0x01cf, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 84, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_uiret, 0x01ec, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 118, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clui, 0x01ee, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 118, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_stui, 0x01ef, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 118, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_testui, 0x01ed, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 118, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_senduipi, 0xc7, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 118, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_hreset, 0xf0c0, 1, SPACE_0F3A, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfcmaddcph, 0x56, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56072,13 +38518,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 3, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56087,15 +38528,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmaddcph, 0x56, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56106,13 +38542,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56121,15 +38552,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfcmulcph, 0xd6, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56140,13 +38566,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 3, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56155,15 +38576,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmulcph, 0xd6, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 5, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56174,13 +38590,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56189,15 +38600,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeqph, 0xc2, 3, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56206,15 +38612,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqph, 0xc2, 3, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56223,15 +38624,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltph, 0xc2, 3, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56240,15 +38636,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_osph, 0xc2, 3, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56257,15 +38648,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpleph, 0xc2, 3, SPACE_0F3A, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56274,15 +38660,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_osph, 0xc2, 3, SPACE_0F3A, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56291,15 +38672,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordph, 0xc2, 3, SPACE_0F3A, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56308,15 +38684,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qph, 0xc2, 3, SPACE_0F3A, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56325,15 +38696,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqph, 0xc2, 3, SPACE_0F3A, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56342,15 +38708,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqph, 0xc2, 3, SPACE_0F3A, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56359,15 +38720,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltph, 0xc2, 3, SPACE_0F3A, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56376,15 +38732,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_usph, 0xc2, 3, SPACE_0F3A, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56393,15 +38744,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnleph, 0xc2, 3, SPACE_0F3A, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56410,15 +38756,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_usph, 0xc2, 3, SPACE_0F3A, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56427,15 +38768,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordph, 0xc2, 3, SPACE_0F3A, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56444,15 +38780,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qph, 0xc2, 3, SPACE_0F3A, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56461,15 +38792,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqph, 0xc2, 3, SPACE_0F3A, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56478,15 +38804,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngeph, 0xc2, 3, SPACE_0F3A, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56495,15 +38816,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_usph, 0xc2, 3, SPACE_0F3A, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56512,15 +38828,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtph, 0xc2, 3, SPACE_0F3A, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56529,15 +38840,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_usph, 0xc2, 3, SPACE_0F3A, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56546,15 +38852,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalseph, 0xc2, 3, SPACE_0F3A, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56563,15 +38864,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqph, 0xc2, 3, SPACE_0F3A, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56580,15 +38876,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqph, 0xc2, 3, SPACE_0F3A, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56597,15 +38888,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgeph, 0xc2, 3, SPACE_0F3A, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56614,15 +38900,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_osph, 0xc2, 3, SPACE_0F3A, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56631,15 +38912,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtph, 0xc2, 3, SPACE_0F3A, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56648,15 +38924,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_osph, 0xc2, 3, SPACE_0F3A, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56665,15 +38936,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrueph, 0xc2, 3, SPACE_0F3A, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56682,15 +38948,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqph, 0xc2, 3, SPACE_0F3A, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56699,15 +38960,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_osph, 0xc2, 3, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56716,15 +38972,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqph, 0xc2, 3, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56733,15 +38984,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqph, 0xc2, 3, SPACE_0F3A, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56750,15 +38996,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_sph, 0xc2, 3, SPACE_0F3A, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56767,15 +39008,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_usph, 0xc2, 3, SPACE_0F3A, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56784,15 +39020,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqph, 0xc2, 3, SPACE_0F3A, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56801,15 +39032,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqph, 0xc2, 3, SPACE_0F3A, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56818,15 +39044,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_sph, 0xc2, 3, SPACE_0F3A, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56835,15 +39056,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_usph, 0xc2, 3, SPACE_0F3A, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56852,15 +39068,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqph, 0xc2, 3, SPACE_0F3A, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56869,15 +39080,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqph, 0xc2, 3, SPACE_0F3A, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56886,15 +39092,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_osph, 0xc2, 3, SPACE_0F3A, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56903,15 +39104,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_osph, 0xc2, 3, SPACE_0F3A, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56920,15 +39116,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqph, 0xc2, 3, SPACE_0F3A, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56937,15 +39128,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqph, 0xc2, 3, SPACE_0F3A, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56954,15 +39140,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_usph, 0xc2, 3, SPACE_0F3A, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -56971,15 +39152,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpph, 0xc2, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -56992,13 +39168,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57009,13 +39180,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57026,13 +39192,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57043,13 +39204,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57060,13 +39216,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57077,13 +39228,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57094,13 +39240,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57111,13 +39252,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57128,13 +39264,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57145,13 +39276,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57162,13 +39288,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57179,13 +39300,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57196,13 +39312,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57213,13 +39324,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57230,13 +39336,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57247,13 +39348,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57264,13 +39360,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57281,13 +39372,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57298,13 +39384,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57315,13 +39396,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57332,13 +39408,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57349,13 +39420,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57366,13 +39432,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57383,13 +39444,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57400,13 +39456,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57417,13 +39468,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57434,13 +39480,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57451,13 +39492,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57468,13 +39504,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57485,13 +39516,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57502,13 +39528,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57519,13 +39540,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57536,13 +39552,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57553,13 +39564,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57570,13 +39576,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57587,13 +39588,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57604,13 +39600,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57621,13 +39612,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57638,13 +39624,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57655,13 +39636,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57672,13 +39648,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57689,13 +39660,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57706,13 +39672,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57723,13 +39684,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57740,13 +39696,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57757,13 +39708,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57774,13 +39720,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -57793,73 +39734,48 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 1, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2ph, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2ph, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 3, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2phx, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 3, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2phy, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 3, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -57868,298 +39784,198 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 3, 1, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtudq2ph, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 5, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtudq2ph, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 5, 1, 3, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtudq2phx, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 2, 1, 3, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtudq2phy, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 3, 1, 3, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2ph, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 1, 1, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2ph, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 1, 1, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2phz, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 1, 1, 6, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2phx, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2phy, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2ph, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 1, 1, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2ph, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 1, 1, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2phz, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 1, 1, 4, 1, 1, 6, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2phx, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 4, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2phy, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ph, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ph, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2phz, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 1, 1, 6, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2phx, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2phy, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58168,103 +39984,68 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 1, 1, 6, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtps2phx, 0x1d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2phx, 0x1d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2phxx, 0x1d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2phxy, 0x1d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtw2ph, 0x7d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtuw2ph, 0x7d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58273,13 +40054,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58288,13 +40064,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58303,13 +40074,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 1, 1, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58318,13 +40084,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58333,13 +40094,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58348,13 +40104,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 1, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58363,13 +40114,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58378,13 +40124,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58393,13 +40134,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 1, 1, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58408,13 +40144,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58423,13 +40154,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58438,13 +40164,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 1, 1, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58453,13 +40174,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58468,13 +40184,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58483,43 +40194,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 1, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtph2w, 0x7d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtph2uw, 0x7d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58528,13 +40224,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58545,13 +40236,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58560,15 +40246,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sh, 0x2a, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58577,15 +40258,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sh, 0x2a, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58594,15 +40270,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2sh, 0x7b, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58611,15 +40282,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2sh, 0x7b, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58630,13 +40296,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58647,13 +40308,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58664,13 +40320,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -58679,13 +40330,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58694,13 +40340,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58709,13 +40350,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 2, 0, 1, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58724,13 +40360,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58739,13 +40370,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58754,13 +40380,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 1, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58769,13 +40390,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58784,13 +40400,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58799,13 +40410,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 0, 1, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58814,13 +40420,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58829,13 +40430,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58844,13 +40440,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 0, 1, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58859,13 +40450,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58874,13 +40460,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58889,43 +40470,28 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 0, 1, 5, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvttph2w, 0x7c, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvttph2uw, 0x7c, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -58934,28 +40500,18 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassph, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 2, 0, 0, 7, 0, 1, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -58964,15 +40520,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassph, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 2, 0, 0, 7, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -58981,15 +40532,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassphz, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 6, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 6, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -58998,15 +40544,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassphx, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 4, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -59015,15 +40556,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassphy, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 5, 0, 2, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, +@@ -59034,13 +40570,8 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -59049,28 +40580,18 @@ static const insn_template i386_optab[] + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vrcpph, 0x4c, 2, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 2, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -59079,13 +40600,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -59094,15 +40610,10 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrsqrtph, 0x4e, 2, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 2, 0, 0, 7, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -59111,13 +40622,8 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -59128,39 +40634,24 @@ static const insn_template i386_optab[] + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 87, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_prefetchit1, 0x18, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 87, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmpoxadd, 0xe0, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59169,15 +40660,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnoxadd, 0xe1, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59186,15 +40672,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpbxadd, 0xe2, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59203,15 +40684,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpcxadd, 0xe2, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59220,15 +40696,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnaexadd, 0xe2, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59237,15 +40708,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnbxadd, 0xe3, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59254,15 +40720,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpncxadd, 0xe3, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59271,15 +40732,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpaexadd, 0xe3, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59288,15 +40744,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpexadd, 0xe4, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59305,15 +40756,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpzxadd, 0xe4, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59322,15 +40768,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnexadd, 0xe5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59339,15 +40780,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnzxadd, 0xe5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59356,15 +40792,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpbexadd, 0xe6, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59373,15 +40804,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnaxadd, 0xe6, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59390,15 +40816,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnbexadd, 0xe7, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59407,15 +40828,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpaxadd, 0xe7, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59424,15 +40840,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpsxadd, 0xe8, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59441,15 +40852,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnsxadd, 0xe9, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59458,15 +40864,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmppxadd, 0xea, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59475,15 +40876,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmppexadd, 0xea, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59492,15 +40888,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnpxadd, 0xeb, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59509,15 +40900,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmppoxadd, 0xeb, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59526,15 +40912,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmplxadd, 0xec, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59543,15 +40924,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpngexadd, 0xec, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59560,15 +40936,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnlxadd, 0xed, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59577,15 +40948,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpgexadd, 0xed, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59594,15 +40960,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmplexadd, 0xee, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59611,15 +40972,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpngxadd, 0xee, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59628,15 +40984,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnlexadd, 0xef, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59645,15 +40996,10 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpgxadd, 0xef, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, +@@ -59664,2484 +41010,519 @@ static const insn_template i386_optab[] + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdmsrlist, 0x01c6, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 93, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wrmsrlist, 0x01c6, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 93, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aadd, 0xfc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_aadd, 0xfc, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 95, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_aand, 0xfc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_aand, 0xfc, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 95, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_aor, 0xfc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_aor, 0xfc, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 95, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_axor, 0xfc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 1, 0 } } } }, ++ { MN_axor, 0xfc, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 95, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } } } }, + { MN_lkgs, 0x00, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 97, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lkgs, 0x00, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 97, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0 } } } }, + { MN_erets, 0x01ca, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 96, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, + { MN_eretu, 0x01ca, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 96, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_urdmsr, 0xf8, 2, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, ++ 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 98, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_urdmsr, 0xf8, 2, SPACE_VEXMAP7, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 98, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_uwrmsr, 0xf8, 2, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 98, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_uwrmsr, 0xf8, 2, SPACE_VEXMAP7, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, ++ { { 98, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_push2, 0xff, 2, SPACE_EVEXMAP4, 6, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_push2p, 0xff, 2, SPACE_EVEXMAP4, 6, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_pop2, 0x8f, 2, SPACE_EVEXMAP4, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_pop2p, 0x8f, 2, SPACE_EVEXMAP4, 0, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + }; + + /* i386 opcode sets table. */ + +-static const insn_template *const i386_op_sets[] = ++typedef unsigned short i386_op_off_t; ++static const i386_op_off_t i386_op_sets[] = + { +- i386_optab, +- i386_optab + 14, +- i386_optab + 16, +- i386_optab + 17, +- i386_optab + 18, +- i386_optab + 19, +- i386_optab + 20, +- i386_optab + 22, +- i386_optab + 25, +- i386_optab + 26, +- i386_optab + 27, +- i386_optab + 28, +- i386_optab + 38, +- i386_optab + 39, +- i386_optab + 45, +- i386_optab + 46, +- i386_optab + 48, +- i386_optab + 52, +- i386_optab + 56, +- i386_optab + 57, +- i386_optab + 58, +- i386_optab + 59, +- i386_optab + 61, +- i386_optab + 63, +- i386_optab + 65, +- i386_optab + 66, +- i386_optab + 67, +- i386_optab + 68, +- i386_optab + 69, +- i386_optab + 70, +- i386_optab + 72, +- i386_optab + 74, +- i386_optab + 76, +- i386_optab + 78, +- i386_optab + 79, +- i386_optab + 80, +- i386_optab + 81, +- i386_optab + 85, +- i386_optab + 87, +- i386_optab + 91, +- i386_optab + 93, +- i386_optab + 97, +- i386_optab + 101, +- i386_optab + 104, +- i386_optab + 108, +- i386_optab + 112, +- i386_optab + 116, +- i386_optab + 117, +- i386_optab + 121, +- i386_optab + 122, +- i386_optab + 123, +- i386_optab + 124, +- i386_optab + 125, +- i386_optab + 126, +- i386_optab + 127, +- i386_optab + 129, +- i386_optab + 131, +- i386_optab + 132, +- i386_optab + 133, +- i386_optab + 134, +- i386_optab + 135, +- i386_optab + 136, +- i386_optab + 137, +- i386_optab + 138, +- i386_optab + 139, +- i386_optab + 140, +- i386_optab + 141, +- i386_optab + 142, +- i386_optab + 143, +- i386_optab + 144, +- i386_optab + 150, +- i386_optab + 152, +- i386_optab + 154, +- i386_optab + 158, +- i386_optab + 162, +- i386_optab + 166, +- i386_optab + 170, +- i386_optab + 174, +- i386_optab + 178, +- i386_optab + 182, +- i386_optab + 186, +- i386_optab + 189, +- i386_optab + 192, +- i386_optab + 201, +- i386_optab + 204, +- i386_optab + 212, +- i386_optab + 215, +- i386_optab + 221, +- i386_optab + 223, +- i386_optab + 225, +- i386_optab + 227, +- i386_optab + 229, +- i386_optab + 230, +- i386_optab + 231, +- i386_optab + 232, +- i386_optab + 233, +- i386_optab + 234, +- i386_optab + 235, +- i386_optab + 236, +- i386_optab + 237, +- i386_optab + 238, +- i386_optab + 239, +- i386_optab + 240, +- i386_optab + 241, +- i386_optab + 242, +- i386_optab + 243, +- i386_optab + 244, +- i386_optab + 245, +- i386_optab + 246, +- i386_optab + 247, +- i386_optab + 248, +- i386_optab + 249, +- i386_optab + 250, +- i386_optab + 251, +- i386_optab + 252, +- i386_optab + 253, +- i386_optab + 254, +- i386_optab + 255, +- i386_optab + 256, +- i386_optab + 257, +- i386_optab + 258, +- i386_optab + 259, +- i386_optab + 260, +- i386_optab + 261, +- i386_optab + 262, +- i386_optab + 264, +- i386_optab + 266, +- i386_optab + 268, +- i386_optab + 270, +- i386_optab + 272, +- i386_optab + 273, +- i386_optab + 274, +- i386_optab + 275, +- i386_optab + 276, +- i386_optab + 277, +- i386_optab + 278, +- i386_optab + 279, +- i386_optab + 280, +- i386_optab + 281, +- i386_optab + 282, +- i386_optab + 283, +- i386_optab + 284, +- i386_optab + 285, +- i386_optab + 286, +- i386_optab + 287, +- i386_optab + 288, +- i386_optab + 289, +- i386_optab + 290, +- i386_optab + 291, +- i386_optab + 292, +- i386_optab + 293, +- i386_optab + 294, +- i386_optab + 295, +- i386_optab + 296, +- i386_optab + 297, +- i386_optab + 298, +- i386_optab + 299, +- i386_optab + 300, +- i386_optab + 301, +- i386_optab + 302, +- i386_optab + 304, +- i386_optab + 306, +- i386_optab + 308, +- i386_optab + 310, +- i386_optab + 313, +- i386_optab + 316, +- i386_optab + 318, +- i386_optab + 320, +- i386_optab + 323, +- i386_optab + 326, +- i386_optab + 329, +- i386_optab + 332, +- i386_optab + 334, +- i386_optab + 335, +- i386_optab + 336, +- i386_optab + 338, +- i386_optab + 340, +- i386_optab + 342, +- i386_optab + 344, +- i386_optab + 345, +- i386_optab + 346, +- i386_optab + 347, +- i386_optab + 348, +- i386_optab + 349, +- i386_optab + 350, +- i386_optab + 351, +- i386_optab + 352, +- i386_optab + 354, +- i386_optab + 356, +- i386_optab + 358, +- i386_optab + 360, +- i386_optab + 362, +- i386_optab + 364, +- i386_optab + 365, +- i386_optab + 367, +- i386_optab + 369, +- i386_optab + 371, +- i386_optab + 373, +- i386_optab + 375, +- i386_optab + 377, +- i386_optab + 379, +- i386_optab + 381, +- i386_optab + 383, +- i386_optab + 387, +- i386_optab + 389, +- i386_optab + 390, +- i386_optab + 391, +- i386_optab + 392, +- i386_optab + 395, +- i386_optab + 396, +- i386_optab + 400, +- i386_optab + 402, +- i386_optab + 403, +- i386_optab + 404, +- i386_optab + 405, +- i386_optab + 407, +- i386_optab + 411, +- i386_optab + 412, +- i386_optab + 416, +- i386_optab + 417, +- i386_optab + 418, +- i386_optab + 420, +- i386_optab + 422, +- i386_optab + 423, +- i386_optab + 424, +- i386_optab + 425, +- i386_optab + 426, +- i386_optab + 427, +- i386_optab + 428, +- i386_optab + 429, +- i386_optab + 430, +- i386_optab + 431, +- i386_optab + 432, +- i386_optab + 436, +- i386_optab + 437, +- i386_optab + 440, +- i386_optab + 445, +- i386_optab + 446, +- i386_optab + 452, +- i386_optab + 457, +- i386_optab + 458, +- i386_optab + 464, +- i386_optab + 468, +- i386_optab + 469, +- i386_optab + 472, +- i386_optab + 477, +- i386_optab + 478, +- i386_optab + 484, +- i386_optab + 489, +- i386_optab + 490, +- i386_optab + 496, +- i386_optab + 497, +- i386_optab + 498, +- i386_optab + 499, +- i386_optab + 500, +- i386_optab + 501, +- i386_optab + 502, +- i386_optab + 503, +- i386_optab + 504, +- i386_optab + 505, +- i386_optab + 506, +- i386_optab + 507, +- i386_optab + 508, +- i386_optab + 509, +- i386_optab + 510, +- i386_optab + 511, +- i386_optab + 512, +- i386_optab + 513, +- i386_optab + 514, +- i386_optab + 515, +- i386_optab + 516, +- i386_optab + 517, +- i386_optab + 518, +- i386_optab + 519, +- i386_optab + 522, +- i386_optab + 525, +- i386_optab + 526, +- i386_optab + 527, +- i386_optab + 528, +- i386_optab + 529, +- i386_optab + 530, +- i386_optab + 531, +- i386_optab + 532, +- i386_optab + 533, +- i386_optab + 534, +- i386_optab + 535, +- i386_optab + 536, +- i386_optab + 537, +- i386_optab + 538, +- i386_optab + 539, +- i386_optab + 540, +- i386_optab + 541, +- i386_optab + 542, +- i386_optab + 543, +- i386_optab + 544, +- i386_optab + 545, +- i386_optab + 546, +- i386_optab + 547, +- i386_optab + 548, +- i386_optab + 549, +- i386_optab + 550, +- i386_optab + 551, +- i386_optab + 552, +- i386_optab + 553, +- i386_optab + 554, +- i386_optab + 555, +- i386_optab + 556, +- i386_optab + 557, +- i386_optab + 558, +- i386_optab + 559, +- i386_optab + 560, +- i386_optab + 561, +- i386_optab + 562, +- i386_optab + 563, +- i386_optab + 564, +- i386_optab + 565, +- i386_optab + 566, +- i386_optab + 567, +- i386_optab + 568, +- i386_optab + 569, +- i386_optab + 570, +- i386_optab + 571, +- i386_optab + 572, +- i386_optab + 573, +- i386_optab + 574, +- i386_optab + 575, +- i386_optab + 576, +- i386_optab + 577, +- i386_optab + 578, +- i386_optab + 579, +- i386_optab + 580, +- i386_optab + 581, +- i386_optab + 582, +- i386_optab + 583, +- i386_optab + 584, +- i386_optab + 585, +- i386_optab + 586, +- i386_optab + 587, +- i386_optab + 588, +- i386_optab + 589, +- i386_optab + 590, +- i386_optab + 591, +- i386_optab + 592, +- i386_optab + 593, +- i386_optab + 594, +- i386_optab + 595, +- i386_optab + 596, +- i386_optab + 597, +- i386_optab + 598, +- i386_optab + 599, +- i386_optab + 600, +- i386_optab + 601, +- i386_optab + 602, +- i386_optab + 603, +- i386_optab + 604, +- i386_optab + 605, +- i386_optab + 606, +- i386_optab + 607, +- i386_optab + 608, +- i386_optab + 609, +- i386_optab + 610, +- i386_optab + 611, +- i386_optab + 612, +- i386_optab + 613, +- i386_optab + 614, +- i386_optab + 615, +- i386_optab + 616, +- i386_optab + 617, +- i386_optab + 618, +- i386_optab + 619, +- i386_optab + 620, +- i386_optab + 622, +- i386_optab + 624, +- i386_optab + 625, +- i386_optab + 626, +- i386_optab + 627, +- i386_optab + 628, +- i386_optab + 629, +- i386_optab + 630, +- i386_optab + 631, +- i386_optab + 632, +- i386_optab + 633, +- i386_optab + 634, +- i386_optab + 635, +- i386_optab + 636, +- i386_optab + 637, +- i386_optab + 638, +- i386_optab + 639, +- i386_optab + 640, +- i386_optab + 641, +- i386_optab + 642, +- i386_optab + 643, +- i386_optab + 644, +- i386_optab + 645, +- i386_optab + 646, +- i386_optab + 647, +- i386_optab + 648, +- i386_optab + 649, +- i386_optab + 650, +- i386_optab + 651, +- i386_optab + 652, +- i386_optab + 653, +- i386_optab + 654, +- i386_optab + 655, +- i386_optab + 656, +- i386_optab + 657, +- i386_optab + 658, +- i386_optab + 659, +- i386_optab + 660, +- i386_optab + 661, +- i386_optab + 662, +- i386_optab + 663, +- i386_optab + 664, +- i386_optab + 665, +- i386_optab + 666, +- i386_optab + 667, +- i386_optab + 668, +- i386_optab + 669, +- i386_optab + 670, +- i386_optab + 671, +- i386_optab + 672, +- i386_optab + 673, +- i386_optab + 674, +- i386_optab + 675, +- i386_optab + 676, +- i386_optab + 679, +- i386_optab + 682, +- i386_optab + 685, +- i386_optab + 688, +- i386_optab + 691, +- i386_optab + 694, +- i386_optab + 695, +- i386_optab + 696, +- i386_optab + 697, +- i386_optab + 698, +- i386_optab + 699, +- i386_optab + 700, +- i386_optab + 706, +- i386_optab + 714, +- i386_optab + 717, +- i386_optab + 720, +- i386_optab + 723, +- i386_optab + 726, +- i386_optab + 729, +- i386_optab + 732, +- i386_optab + 735, +- i386_optab + 738, +- i386_optab + 741, +- i386_optab + 744, +- i386_optab + 747, +- i386_optab + 750, +- i386_optab + 753, +- i386_optab + 756, +- i386_optab + 759, +- i386_optab + 762, +- i386_optab + 765, +- i386_optab + 768, +- i386_optab + 771, +- i386_optab + 774, +- i386_optab + 777, +- i386_optab + 780, +- i386_optab + 783, +- i386_optab + 789, +- i386_optab + 795, +- i386_optab + 801, +- i386_optab + 807, +- i386_optab + 813, +- i386_optab + 819, +- i386_optab + 825, +- i386_optab + 831, +- i386_optab + 834, +- i386_optab + 837, +- i386_optab + 840, +- i386_optab + 843, +- i386_optab + 846, +- i386_optab + 849, +- i386_optab + 852, +- i386_optab + 855, +- i386_optab + 858, +- i386_optab + 861, +- i386_optab + 864, +- i386_optab + 867, +- i386_optab + 870, +- i386_optab + 873, +- i386_optab + 876, +- i386_optab + 878, +- i386_optab + 880, +- i386_optab + 882, +- i386_optab + 884, +- i386_optab + 886, +- i386_optab + 888, +- i386_optab + 890, +- i386_optab + 892, +- i386_optab + 894, +- i386_optab + 896, +- i386_optab + 898, +- i386_optab + 900, +- i386_optab + 902, +- i386_optab + 904, +- i386_optab + 906, +- i386_optab + 908, +- i386_optab + 910, +- i386_optab + 912, +- i386_optab + 914, +- i386_optab + 916, +- i386_optab + 918, +- i386_optab + 920, +- i386_optab + 922, +- i386_optab + 923, +- i386_optab + 924, +- i386_optab + 930, +- i386_optab + 932, +- i386_optab + 933, +- i386_optab + 935, +- i386_optab + 937, +- i386_optab + 939, +- i386_optab + 941, +- i386_optab + 942, +- i386_optab + 944, +- i386_optab + 946, +- i386_optab + 948, +- i386_optab + 950, +- i386_optab + 952, +- i386_optab + 954, +- i386_optab + 957, +- i386_optab + 959, +- i386_optab + 962, +- i386_optab + 964, +- i386_optab + 966, +- i386_optab + 967, +- i386_optab + 969, +- i386_optab + 972, +- i386_optab + 974, +- i386_optab + 976, +- i386_optab + 978, +- i386_optab + 980, +- i386_optab + 983, +- i386_optab + 986, +- i386_optab + 993, +- i386_optab + 999, +- i386_optab + 1002, +- i386_optab + 1005, +- i386_optab + 1008, +- i386_optab + 1011, +- i386_optab + 1014, +- i386_optab + 1017, +- i386_optab + 1018, +- i386_optab + 1019, +- i386_optab + 1020, +- i386_optab + 1021, +- i386_optab + 1024, +- i386_optab + 1025, +- i386_optab + 1027, +- i386_optab + 1029, +- i386_optab + 1031, +- i386_optab + 1033, +- i386_optab + 1034, +- i386_optab + 1036, +- i386_optab + 1038, +- i386_optab + 1040, +- i386_optab + 1042, +- i386_optab + 1044, +- i386_optab + 1046, +- i386_optab + 1048, +- i386_optab + 1050, +- i386_optab + 1052, +- i386_optab + 1054, +- i386_optab + 1056, +- i386_optab + 1058, +- i386_optab + 1060, +- i386_optab + 1062, +- i386_optab + 1064, +- i386_optab + 1066, +- i386_optab + 1068, +- i386_optab + 1070, +- i386_optab + 1072, +- i386_optab + 1074, +- i386_optab + 1076, +- i386_optab + 1078, +- i386_optab + 1080, +- i386_optab + 1082, +- i386_optab + 1084, +- i386_optab + 1086, +- i386_optab + 1088, +- i386_optab + 1090, +- i386_optab + 1092, +- i386_optab + 1094, +- i386_optab + 1096, +- i386_optab + 1098, +- i386_optab + 1100, +- i386_optab + 1103, +- i386_optab + 1109, +- i386_optab + 1111, +- i386_optab + 1113, +- i386_optab + 1115, +- i386_optab + 1117, +- i386_optab + 1119, +- i386_optab + 1121, +- i386_optab + 1123, +- i386_optab + 1126, +- i386_optab + 1129, +- i386_optab + 1131, +- i386_optab + 1133, +- i386_optab + 1136, +- i386_optab + 1138, +- i386_optab + 1140, +- i386_optab + 1142, +- i386_optab + 1144, +- i386_optab + 1146, +- i386_optab + 1148, +- i386_optab + 1150, +- i386_optab + 1152, +- i386_optab + 1154, +- i386_optab + 1156, +- i386_optab + 1158, +- i386_optab + 1160, +- i386_optab + 1162, +- i386_optab + 1164, +- i386_optab + 1166, +- i386_optab + 1168, +- i386_optab + 1169, +- i386_optab + 1171, +- i386_optab + 1173, +- i386_optab + 1175, +- i386_optab + 1177, +- i386_optab + 1179, +- i386_optab + 1181, +- i386_optab + 1182, +- i386_optab + 1184, +- i386_optab + 1186, +- i386_optab + 1188, +- i386_optab + 1190, +- i386_optab + 1192, +- i386_optab + 1194, +- i386_optab + 1195, +- i386_optab + 1196, +- i386_optab + 1199, +- i386_optab + 1201, +- i386_optab + 1203, +- i386_optab + 1205, +- i386_optab + 1207, +- i386_optab + 1209, +- i386_optab + 1211, +- i386_optab + 1213, +- i386_optab + 1215, +- i386_optab + 1217, +- i386_optab + 1219, +- i386_optab + 1221, +- i386_optab + 1223, +- i386_optab + 1225, +- i386_optab + 1227, +- i386_optab + 1229, +- i386_optab + 1231, +- i386_optab + 1233, +- i386_optab + 1235, +- i386_optab + 1236, +- i386_optab + 1237, +- i386_optab + 1240, +- i386_optab + 1242, +- i386_optab + 1243, +- i386_optab + 1244, +- i386_optab + 1245, +- i386_optab + 1246, +- i386_optab + 1247, +- i386_optab + 1248, +- i386_optab + 1250, +- i386_optab + 1252, +- i386_optab + 1253, +- i386_optab + 1254, +- i386_optab + 1255, +- i386_optab + 1256, +- i386_optab + 1258, +- i386_optab + 1260, +- i386_optab + 1262, +- i386_optab + 1265, +- i386_optab + 1268, +- i386_optab + 1271, +- i386_optab + 1274, +- i386_optab + 1277, +- i386_optab + 1280, +- i386_optab + 1283, +- i386_optab + 1286, +- i386_optab + 1289, +- i386_optab + 1292, +- i386_optab + 1295, +- i386_optab + 1298, +- i386_optab + 1301, +- i386_optab + 1304, +- i386_optab + 1307, +- i386_optab + 1310, +- i386_optab + 1312, +- i386_optab + 1314, +- i386_optab + 1318, +- i386_optab + 1322, +- i386_optab + 1324, +- i386_optab + 1326, +- i386_optab + 1330, +- i386_optab + 1332, +- i386_optab + 1334, +- i386_optab + 1336, +- i386_optab + 1338, +- i386_optab + 1342, +- i386_optab + 1344, +- i386_optab + 1346, +- i386_optab + 1350, +- i386_optab + 1352, +- i386_optab + 1354, +- i386_optab + 1356, +- i386_optab + 1360, +- i386_optab + 1362, +- i386_optab + 1364, +- i386_optab + 1366, +- i386_optab + 1368, +- i386_optab + 1370, +- i386_optab + 1372, +- i386_optab + 1374, +- i386_optab + 1376, +- i386_optab + 1378, +- i386_optab + 1380, +- i386_optab + 1382, +- i386_optab + 1384, +- i386_optab + 1386, +- i386_optab + 1388, +- i386_optab + 1390, +- i386_optab + 1392, +- i386_optab + 1394, +- i386_optab + 1396, +- i386_optab + 1398, +- i386_optab + 1400, +- i386_optab + 1402, +- i386_optab + 1404, +- i386_optab + 1406, +- i386_optab + 1408, +- i386_optab + 1410, +- i386_optab + 1412, +- i386_optab + 1414, +- i386_optab + 1416, +- i386_optab + 1418, +- i386_optab + 1420, +- i386_optab + 1424, +- i386_optab + 1428, +- i386_optab + 1430, +- i386_optab + 1432, +- i386_optab + 1434, +- i386_optab + 1435, +- i386_optab + 1436, +- i386_optab + 1437, +- i386_optab + 1438, +- i386_optab + 1439, +- i386_optab + 1440, +- i386_optab + 1441, +- i386_optab + 1442, +- i386_optab + 1444, +- i386_optab + 1446, +- i386_optab + 1448, +- i386_optab + 1450, +- i386_optab + 1452, +- i386_optab + 1454, +- i386_optab + 1456, +- i386_optab + 1458, +- i386_optab + 1460, +- i386_optab + 1462, +- i386_optab + 1464, +- i386_optab + 1466, +- i386_optab + 1468, +- i386_optab + 1470, +- i386_optab + 1472, +- i386_optab + 1474, +- i386_optab + 1476, +- i386_optab + 1478, +- i386_optab + 1479, +- i386_optab + 1480, +- i386_optab + 1482, +- i386_optab + 1484, +- i386_optab + 1486, +- i386_optab + 1488, +- i386_optab + 1489, +- i386_optab + 1490, +- i386_optab + 1491, +- i386_optab + 1492, +- i386_optab + 1493, +- i386_optab + 1496, +- i386_optab + 1499, +- i386_optab + 1501, +- i386_optab + 1503, +- i386_optab + 1505, +- i386_optab + 1507, +- i386_optab + 1509, +- i386_optab + 1511, +- i386_optab + 1513, +- i386_optab + 1515, +- i386_optab + 1517, +- i386_optab + 1519, +- i386_optab + 1521, +- i386_optab + 1523, +- i386_optab + 1525, +- i386_optab + 1527, +- i386_optab + 1529, +- i386_optab + 1531, +- i386_optab + 1533, +- i386_optab + 1535, +- i386_optab + 1537, +- i386_optab + 1539, +- i386_optab + 1541, +- i386_optab + 1543, +- i386_optab + 1545, +- i386_optab + 1547, +- i386_optab + 1549, +- i386_optab + 1551, +- i386_optab + 1553, +- i386_optab + 1555, +- i386_optab + 1557, +- i386_optab + 1559, +- i386_optab + 1561, +- i386_optab + 1563, +- i386_optab + 1565, +- i386_optab + 1567, +- i386_optab + 1569, +- i386_optab + 1571, +- i386_optab + 1573, +- i386_optab + 1575, +- i386_optab + 1577, +- i386_optab + 1579, +- i386_optab + 1581, +- i386_optab + 1583, +- i386_optab + 1585, +- i386_optab + 1587, +- i386_optab + 1589, +- i386_optab + 1591, +- i386_optab + 1593, +- i386_optab + 1595, +- i386_optab + 1597, +- i386_optab + 1599, +- i386_optab + 1601, +- i386_optab + 1603, +- i386_optab + 1605, +- i386_optab + 1607, +- i386_optab + 1609, +- i386_optab + 1611, +- i386_optab + 1613, +- i386_optab + 1615, +- i386_optab + 1617, +- i386_optab + 1619, +- i386_optab + 1621, +- i386_optab + 1623, +- i386_optab + 1625, +- i386_optab + 1627, +- i386_optab + 1629, +- i386_optab + 1631, +- i386_optab + 1633, +- i386_optab + 1635, +- i386_optab + 1637, +- i386_optab + 1639, +- i386_optab + 1641, +- i386_optab + 1643, +- i386_optab + 1645, +- i386_optab + 1647, +- i386_optab + 1649, +- i386_optab + 1651, +- i386_optab + 1653, +- i386_optab + 1655, +- i386_optab + 1657, +- i386_optab + 1659, +- i386_optab + 1661, +- i386_optab + 1663, +- i386_optab + 1665, +- i386_optab + 1667, +- i386_optab + 1669, +- i386_optab + 1671, +- i386_optab + 1673, +- i386_optab + 1675, +- i386_optab + 1677, +- i386_optab + 1679, +- i386_optab + 1681, +- i386_optab + 1683, +- i386_optab + 1685, +- i386_optab + 1687, +- i386_optab + 1689, +- i386_optab + 1691, +- i386_optab + 1693, +- i386_optab + 1695, +- i386_optab + 1697, +- i386_optab + 1699, +- i386_optab + 1701, +- i386_optab + 1703, +- i386_optab + 1705, +- i386_optab + 1707, +- i386_optab + 1709, +- i386_optab + 1711, +- i386_optab + 1713, +- i386_optab + 1715, +- i386_optab + 1717, +- i386_optab + 1719, +- i386_optab + 1721, +- i386_optab + 1723, +- i386_optab + 1725, +- i386_optab + 1727, +- i386_optab + 1729, +- i386_optab + 1731, +- i386_optab + 1733, +- i386_optab + 1735, +- i386_optab + 1737, +- i386_optab + 1739, +- i386_optab + 1741, +- i386_optab + 1743, +- i386_optab + 1745, +- i386_optab + 1747, +- i386_optab + 1749, +- i386_optab + 1751, +- i386_optab + 1753, +- i386_optab + 1755, +- i386_optab + 1757, +- i386_optab + 1759, +- i386_optab + 1761, +- i386_optab + 1763, +- i386_optab + 1765, +- i386_optab + 1767, +- i386_optab + 1769, +- i386_optab + 1771, +- i386_optab + 1773, +- i386_optab + 1775, +- i386_optab + 1777, +- i386_optab + 1779, +- i386_optab + 1781, +- i386_optab + 1783, +- i386_optab + 1785, +- i386_optab + 1787, +- i386_optab + 1789, +- i386_optab + 1791, +- i386_optab + 1793, +- i386_optab + 1795, +- i386_optab + 1797, +- i386_optab + 1799, +- i386_optab + 1801, +- i386_optab + 1803, +- i386_optab + 1805, +- i386_optab + 1807, +- i386_optab + 1809, +- i386_optab + 1811, +- i386_optab + 1813, +- i386_optab + 1815, +- i386_optab + 1817, +- i386_optab + 1819, +- i386_optab + 1821, +- i386_optab + 1823, +- i386_optab + 1825, +- i386_optab + 1827, +- i386_optab + 1829, +- i386_optab + 1831, +- i386_optab + 1833, +- i386_optab + 1835, +- i386_optab + 1837, +- i386_optab + 1839, +- i386_optab + 1841, +- i386_optab + 1843, +- i386_optab + 1845, +- i386_optab + 1847, +- i386_optab + 1849, +- i386_optab + 1851, +- i386_optab + 1853, +- i386_optab + 1855, +- i386_optab + 1857, +- i386_optab + 1859, +- i386_optab + 1861, +- i386_optab + 1863, +- i386_optab + 1865, +- i386_optab + 1867, +- i386_optab + 1869, +- i386_optab + 1871, +- i386_optab + 1873, +- i386_optab + 1875, +- i386_optab + 1877, +- i386_optab + 1879, +- i386_optab + 1884, +- i386_optab + 1886, +- i386_optab + 1891, +- i386_optab + 1893, +- i386_optab + 1895, +- i386_optab + 1900, +- i386_optab + 1902, +- i386_optab + 1904, +- i386_optab + 1906, +- i386_optab + 1911, +- i386_optab + 1913, +- i386_optab + 1915, +- i386_optab + 1917, +- i386_optab + 1921, +- i386_optab + 1927, +- i386_optab + 1929, +- i386_optab + 1934, +- i386_optab + 1936, +- i386_optab + 1938, +- i386_optab + 1940, +- i386_optab + 1942, +- i386_optab + 1944, +- i386_optab + 1946, +- i386_optab + 1948, +- i386_optab + 1950, +- i386_optab + 1952, +- i386_optab + 1953, +- i386_optab + 1954, +- i386_optab + 1955, +- i386_optab + 1959, +- i386_optab + 1960, +- i386_optab + 1961, +- i386_optab + 1962, +- i386_optab + 1963, +- i386_optab + 1964, +- i386_optab + 1966, +- i386_optab + 1967, +- i386_optab + 1968, +- i386_optab + 1969, +- i386_optab + 1971, +- i386_optab + 1973, +- i386_optab + 1975, +- i386_optab + 1977, +- i386_optab + 1979, +- i386_optab + 1981, +- i386_optab + 1983, +- i386_optab + 1985, +- i386_optab + 1987, +- i386_optab + 1989, +- i386_optab + 1991, +- i386_optab + 1993, +- i386_optab + 1996, +- i386_optab + 2000, +- i386_optab + 2001, +- i386_optab + 2002, +- i386_optab + 2004, +- i386_optab + 2008, +- i386_optab + 2012, +- i386_optab + 2014, +- i386_optab + 2018, +- i386_optab + 2022, +- i386_optab + 2023, +- i386_optab + 2024, +- i386_optab + 2026, +- i386_optab + 2028, +- i386_optab + 2030, +- i386_optab + 2032, +- i386_optab + 2038, +- i386_optab + 2042, +- i386_optab + 2046, +- i386_optab + 2048, +- i386_optab + 2050, +- i386_optab + 2052, +- i386_optab + 2054, +- i386_optab + 2055, +- i386_optab + 2057, +- i386_optab + 2059, +- i386_optab + 2061, +- i386_optab + 2063, +- i386_optab + 2065, +- i386_optab + 2067, +- i386_optab + 2069, +- i386_optab + 2071, +- i386_optab + 2073, +- i386_optab + 2075, +- i386_optab + 2077, +- i386_optab + 2079, +- i386_optab + 2081, +- i386_optab + 2083, +- i386_optab + 2085, +- i386_optab + 2087, +- i386_optab + 2089, +- i386_optab + 2091, +- i386_optab + 2093, +- i386_optab + 2095, +- i386_optab + 2097, +- i386_optab + 2099, +- i386_optab + 2100, +- i386_optab + 2101, +- i386_optab + 2103, +- i386_optab + 2105, +- i386_optab + 2106, +- i386_optab + 2107, +- i386_optab + 2110, +- i386_optab + 2113, +- i386_optab + 2116, +- i386_optab + 2119, +- i386_optab + 2121, +- i386_optab + 2123, +- i386_optab + 2125, +- i386_optab + 2127, +- i386_optab + 2129, +- i386_optab + 2131, +- i386_optab + 2132, +- i386_optab + 2133, +- i386_optab + 2134, +- i386_optab + 2138, +- i386_optab + 2142, +- i386_optab + 2144, +- i386_optab + 2146, +- i386_optab + 2152, +- i386_optab + 2156, +- i386_optab + 2157, +- i386_optab + 2158, +- i386_optab + 2159, +- i386_optab + 2160, +- i386_optab + 2161, +- i386_optab + 2162, +- i386_optab + 2163, +- i386_optab + 2167, +- i386_optab + 2169, +- i386_optab + 2171, +- i386_optab + 2175, +- i386_optab + 2177, +- i386_optab + 2179, +- i386_optab + 2181, +- i386_optab + 2183, +- i386_optab + 2185, +- i386_optab + 2187, +- i386_optab + 2189, +- i386_optab + 2191, +- i386_optab + 2193, +- i386_optab + 2195, +- i386_optab + 2197, +- i386_optab + 2199, +- i386_optab + 2201, +- i386_optab + 2203, +- i386_optab + 2204, +- i386_optab + 2209, +- i386_optab + 2214, +- i386_optab + 2219, +- i386_optab + 2224, +- i386_optab + 2229, +- i386_optab + 2234, +- i386_optab + 2239, +- i386_optab + 2244, +- i386_optab + 2249, +- i386_optab + 2254, +- i386_optab + 2259, +- i386_optab + 2264, +- i386_optab + 2266, +- i386_optab + 2268, +- i386_optab + 2270, +- i386_optab + 2272, +- i386_optab + 2274, +- i386_optab + 2276, +- i386_optab + 2278, +- i386_optab + 2279, +- i386_optab + 2281, +- i386_optab + 2283, +- i386_optab + 2285, +- i386_optab + 2287, +- i386_optab + 2289, +- i386_optab + 2290, +- i386_optab + 2291, +- i386_optab + 2292, +- i386_optab + 2296, +- i386_optab + 2300, +- i386_optab + 2302, +- i386_optab + 2306, +- i386_optab + 2310, +- i386_optab + 2314, +- i386_optab + 2318, +- i386_optab + 2322, +- i386_optab + 2324, +- i386_optab + 2328, +- i386_optab + 2330, +- i386_optab + 2332, +- i386_optab + 2334, +- i386_optab + 2336, +- i386_optab + 2338, +- i386_optab + 2340, +- i386_optab + 2342, +- i386_optab + 2344, +- i386_optab + 2345, +- i386_optab + 2347, +- i386_optab + 2349, +- i386_optab + 2351, +- i386_optab + 2353, +- i386_optab + 2355, +- i386_optab + 2357, +- i386_optab + 2359, +- i386_optab + 2361, +- i386_optab + 2362, +- i386_optab + 2363, +- i386_optab + 2364, +- i386_optab + 2365, +- i386_optab + 2366, +- i386_optab + 2367, +- i386_optab + 2368, +- i386_optab + 2369, +- i386_optab + 2370, +- i386_optab + 2372, +- i386_optab + 2374, +- i386_optab + 2376, +- i386_optab + 2378, +- i386_optab + 2380, +- i386_optab + 2382, +- i386_optab + 2383, +- i386_optab + 2385, +- i386_optab + 2387, +- i386_optab + 2389, +- i386_optab + 2391, +- i386_optab + 2392, +- i386_optab + 2393, +- i386_optab + 2395, +- i386_optab + 2397, +- i386_optab + 2399, +- i386_optab + 2401, +- i386_optab + 2403, +- i386_optab + 2405, +- i386_optab + 2407, +- i386_optab + 2409, +- i386_optab + 2410, +- i386_optab + 2411, +- i386_optab + 2412, +- i386_optab + 2413, +- i386_optab + 2416, +- i386_optab + 2419, +- i386_optab + 2422, +- i386_optab + 2425, +- i386_optab + 2426, +- i386_optab + 2428, +- i386_optab + 2431, +- i386_optab + 2433, +- i386_optab + 2436, +- i386_optab + 2437, +- i386_optab + 2438, +- i386_optab + 2440, +- i386_optab + 2442, +- i386_optab + 2444, +- i386_optab + 2446, +- i386_optab + 2448, +- i386_optab + 2450, +- i386_optab + 2452, +- i386_optab + 2455, +- i386_optab + 2460, +- i386_optab + 2465, +- i386_optab + 2470, +- i386_optab + 2475, +- i386_optab + 2478, +- i386_optab + 2483, +- i386_optab + 2488, +- i386_optab + 2491, +- i386_optab + 2494, +- i386_optab + 2497, +- i386_optab + 2500, +- i386_optab + 2501, +- i386_optab + 2502, +- i386_optab + 2505, +- i386_optab + 2508, +- i386_optab + 2511, +- i386_optab + 2514, +- i386_optab + 2517, +- i386_optab + 2519, +- i386_optab + 2521, +- i386_optab + 2523, +- i386_optab + 2524, +- i386_optab + 2525, +- i386_optab + 2526, +- i386_optab + 2527, +- i386_optab + 2528, +- i386_optab + 2533, +- i386_optab + 2538, +- i386_optab + 2540, +- i386_optab + 2542, +- i386_optab + 2544, +- i386_optab + 2546, +- i386_optab + 2548, +- i386_optab + 2550, +- i386_optab + 2552, +- i386_optab + 2554, +- i386_optab + 2556, +- i386_optab + 2558, +- i386_optab + 2560, +- i386_optab + 2562, +- i386_optab + 2564, +- i386_optab + 2566, +- i386_optab + 2568, +- i386_optab + 2570, +- i386_optab + 2572, +- i386_optab + 2574, +- i386_optab + 2576, +- i386_optab + 2578, +- i386_optab + 2580, +- i386_optab + 2582, +- i386_optab + 2584, +- i386_optab + 2586, +- i386_optab + 2588, +- i386_optab + 2590, +- i386_optab + 2592, +- i386_optab + 2594, +- i386_optab + 2596, +- i386_optab + 2598, +- i386_optab + 2600, +- i386_optab + 2602, +- i386_optab + 2604, +- i386_optab + 2606, +- i386_optab + 2608, +- i386_optab + 2610, +- i386_optab + 2612, +- i386_optab + 2614, +- i386_optab + 2616, +- i386_optab + 2618, +- i386_optab + 2620, +- i386_optab + 2622, +- i386_optab + 2624, +- i386_optab + 2626, +- i386_optab + 2628, +- i386_optab + 2630, +- i386_optab + 2632, +- i386_optab + 2634, +- i386_optab + 2636, +- i386_optab + 2638, +- i386_optab + 2640, +- i386_optab + 2642, +- i386_optab + 2644, +- i386_optab + 2646, +- i386_optab + 2648, +- i386_optab + 2650, +- i386_optab + 2652, +- i386_optab + 2654, +- i386_optab + 2656, +- i386_optab + 2658, +- i386_optab + 2659, +- i386_optab + 2660, +- i386_optab + 2661, +- i386_optab + 2662, +- i386_optab + 2663, +- i386_optab + 2664, +- i386_optab + 2665, +- i386_optab + 2666, +- i386_optab + 2667, +- i386_optab + 2668, +- i386_optab + 2669, +- i386_optab + 2670, +- i386_optab + 2671, +- i386_optab + 2672, +- i386_optab + 2673, +- i386_optab + 2674, +- i386_optab + 2675, +- i386_optab + 2676, +- i386_optab + 2677, +- i386_optab + 2678, +- i386_optab + 2679, +- i386_optab + 2680, +- i386_optab + 2681, +- i386_optab + 2682, +- i386_optab + 2683, +- i386_optab + 2684, +- i386_optab + 2685, +- i386_optab + 2686, +- i386_optab + 2687, +- i386_optab + 2688, +- i386_optab + 2689, +- i386_optab + 2690, +- i386_optab + 2691, +- i386_optab + 2692, +- i386_optab + 2693, +- i386_optab + 2694, +- i386_optab + 2695, +- i386_optab + 2696, +- i386_optab + 2697, +- i386_optab + 2698, +- i386_optab + 2699, +- i386_optab + 2700, +- i386_optab + 2701, +- i386_optab + 2702, +- i386_optab + 2703, +- i386_optab + 2704, +- i386_optab + 2705, +- i386_optab + 2706, +- i386_optab + 2707, +- i386_optab + 2708, +- i386_optab + 2709, +- i386_optab + 2710, +- i386_optab + 2711, +- i386_optab + 2712, +- i386_optab + 2713, +- i386_optab + 2714, +- i386_optab + 2715, +- i386_optab + 2716, +- i386_optab + 2717, +- i386_optab + 2718, +- i386_optab + 2719, +- i386_optab + 2720, +- i386_optab + 2721, +- i386_optab + 2722, +- i386_optab + 2723, +- i386_optab + 2724, +- i386_optab + 2725, +- i386_optab + 2726, +- i386_optab + 2727, +- i386_optab + 2728, +- i386_optab + 2729, +- i386_optab + 2730, +- i386_optab + 2731, +- i386_optab + 2732, +- i386_optab + 2733, +- i386_optab + 2734, +- i386_optab + 2735, +- i386_optab + 2736, +- i386_optab + 2737, +- i386_optab + 2738, +- i386_optab + 2739, +- i386_optab + 2740, +- i386_optab + 2741, +- i386_optab + 2742, +- i386_optab + 2743, +- i386_optab + 2744, +- i386_optab + 2745, +- i386_optab + 2746, +- i386_optab + 2747, +- i386_optab + 2748, +- i386_optab + 2749, +- i386_optab + 2750, +- i386_optab + 2751, +- i386_optab + 2752, +- i386_optab + 2753, +- i386_optab + 2754, +- i386_optab + 2755, +- i386_optab + 2756, +- i386_optab + 2757, +- i386_optab + 2758, +- i386_optab + 2759, +- i386_optab + 2760, +- i386_optab + 2761, +- i386_optab + 2762, +- i386_optab + 2763, +- i386_optab + 2764, +- i386_optab + 2765, +- i386_optab + 2766, +- i386_optab + 2767, +- i386_optab + 2768, +- i386_optab + 2769, +- i386_optab + 2771, +- i386_optab + 2773, +- i386_optab + 2774, +- i386_optab + 2775, +- i386_optab + 2776, +- i386_optab + 2777, +- i386_optab + 2778, +- i386_optab + 2779, +- i386_optab + 2780, +- i386_optab + 2781, +- i386_optab + 2782, +- i386_optab + 2783, +- i386_optab + 2784, +- i386_optab + 2785, +- i386_optab + 2786, +- i386_optab + 2787, +- i386_optab + 2788, +- i386_optab + 2789, +- i386_optab + 2790, +- i386_optab + 2791, +- i386_optab + 2792, +- i386_optab + 2793, +- i386_optab + 2794, +- i386_optab + 2795, +- i386_optab + 2796, +- i386_optab + 2797, +- i386_optab + 2798, +- i386_optab + 2799, +- i386_optab + 2800, +- i386_optab + 2801, +- i386_optab + 2803, +- i386_optab + 2805, +- i386_optab + 2807, +- i386_optab + 2809, +- i386_optab + 2810, +- i386_optab + 2811, +- i386_optab + 2812, +- i386_optab + 2813, +- i386_optab + 2814, +- i386_optab + 2815, +- i386_optab + 2816, +- i386_optab + 2817, +- i386_optab + 2818, +- i386_optab + 2819, +- i386_optab + 2820, +- i386_optab + 2821, +- i386_optab + 2822, +- i386_optab + 2824, +- i386_optab + 2825, +- i386_optab + 2826, +- i386_optab + 2827, +- i386_optab + 2828, +- i386_optab + 2829, +- i386_optab + 2830, +- i386_optab + 2831, +- i386_optab + 2832, +- i386_optab + 2833, +- i386_optab + 2834, +- i386_optab + 2835, +- i386_optab + 2836, +- i386_optab + 2837, +- i386_optab + 2838, +- i386_optab + 2839, +- i386_optab + 2840, +- i386_optab + 2841, +- i386_optab + 2842, +- i386_optab + 2843, +- i386_optab + 2844, +- i386_optab + 2845, +- i386_optab + 2846, +- i386_optab + 2847, +- i386_optab + 2848, +- i386_optab + 2849, +- i386_optab + 2850, +- i386_optab + 2851, +- i386_optab + 2852, +- i386_optab + 2853, +- i386_optab + 2854, +- i386_optab + 2855, +- i386_optab + 2856, +- i386_optab + 2857, +- i386_optab + 2858, +- i386_optab + 2859, +- i386_optab + 2860, +- i386_optab + 2861, +- i386_optab + 2862, +- i386_optab + 2863, +- i386_optab + 2864, +- i386_optab + 2865, +- i386_optab + 2866, +- i386_optab + 2867, +- i386_optab + 2868, +- i386_optab + 2869, +- i386_optab + 2871, +- i386_optab + 2873, +- i386_optab + 2874, +- i386_optab + 2875, +- i386_optab + 2877, +- i386_optab + 2878, +- i386_optab + 2880, +- i386_optab + 2882, +- i386_optab + 2883, +- i386_optab + 2884, +- i386_optab + 2886, +- i386_optab + 2888, +- i386_optab + 2889, +- i386_optab + 2890, +- i386_optab + 2891, +- i386_optab + 2892, +- i386_optab + 2893, +- i386_optab + 2894, +- i386_optab + 2895, +- i386_optab + 2896, +- i386_optab + 2897, +- i386_optab + 2898, +- i386_optab + 2899, +- i386_optab + 2900, +- i386_optab + 2901, +- i386_optab + 2902, +- i386_optab + 2903, +- i386_optab + 2904, +- i386_optab + 2905, +- i386_optab + 2906, +- i386_optab + 2907, +- i386_optab + 2908, +- i386_optab + 2909, +- i386_optab + 2910, +- i386_optab + 2911, +- i386_optab + 2912, +- i386_optab + 2913, +- i386_optab + 2914, +- i386_optab + 2916, +- i386_optab + 2918, +- i386_optab + 2920, +- i386_optab + 2921, +- i386_optab + 2922, +- i386_optab + 2923, +- i386_optab + 2924, +- i386_optab + 2925, +- i386_optab + 2926, +- i386_optab + 2928, +- i386_optab + 2929, +- i386_optab + 2930, +- i386_optab + 2931, +- i386_optab + 2932, +- i386_optab + 2933, +- i386_optab + 2934, +- i386_optab + 2935, +- i386_optab + 2936, +- i386_optab + 2937, +- i386_optab + 2938, +- i386_optab + 2939, +- i386_optab + 2940, +- i386_optab + 2943, +- i386_optab + 2946, +- i386_optab + 2947, +- i386_optab + 2948, +- i386_optab + 2949, +- i386_optab + 2950, +- i386_optab + 2951, +- i386_optab + 2952, +- i386_optab + 2953, +- i386_optab + 2954, +- i386_optab + 2955, +- i386_optab + 2956, +- i386_optab + 2957, +- i386_optab + 2958, +- i386_optab + 2959, +- i386_optab + 2960, +- i386_optab + 2961, +- i386_optab + 2962, +- i386_optab + 2963, +- i386_optab + 2964, +- i386_optab + 2965, +- i386_optab + 2966, +- i386_optab + 2967, +- i386_optab + 2968, +- i386_optab + 2969, +- i386_optab + 2970, +- i386_optab + 2971, +- i386_optab + 2972, +- i386_optab + 2973, +- i386_optab + 2974, +- i386_optab + 2975, +- i386_optab + 2976, +- i386_optab + 2977, +- i386_optab + 2978, +- i386_optab + 2979, +- i386_optab + 2980, +- i386_optab + 2981, +- i386_optab + 2982, +- i386_optab + 2983, +- i386_optab + 2984, +- i386_optab + 2985, +- i386_optab + 2986, +- i386_optab + 2987, +- i386_optab + 2988, +- i386_optab + 2989, +- i386_optab + 2990, +- i386_optab + 2991, +- i386_optab + 2992, +- i386_optab + 2993, +- i386_optab + 2994, +- i386_optab + 2995, +- i386_optab + 2996, +- i386_optab + 2997, +- i386_optab + 2998, +- i386_optab + 2999, +- i386_optab + 3000, +- i386_optab + 3003, +- i386_optab + 3005, +- i386_optab + 3008, +- i386_optab + 3011, +- i386_optab + 3013, +- i386_optab + 3016, +- i386_optab + 3019, +- i386_optab + 3022, +- i386_optab + 3025, +- i386_optab + 3026, +- i386_optab + 3029, +- i386_optab + 3030, +- i386_optab + 3031, +- i386_optab + 3032, +- i386_optab + 3033, +- i386_optab + 3034, +- i386_optab + 3038, +- i386_optab + 3040, +- i386_optab + 3043, +- i386_optab + 3044, +- i386_optab + 3045, +- i386_optab + 3046, +- i386_optab + 3047, +- i386_optab + 3048, +- i386_optab + 3049, +- i386_optab + 3050, +- i386_optab + 3051, +- i386_optab + 3052, +- i386_optab + 3053, +- i386_optab + 3054, +- i386_optab + 3055, +- i386_optab + 3056, +- i386_optab + 3057, +- i386_optab + 3058, +- i386_optab + 3059, +- i386_optab + 3060, +- i386_optab + 3061, +- i386_optab + 3062, +- i386_optab + 3063, +- i386_optab + 3064, +- i386_optab + 3065, +- i386_optab + 3066, +- i386_optab + 3067, +- i386_optab + 3068, +- i386_optab + 3069, +- i386_optab + 3070, +- i386_optab + 3071, +- i386_optab + 3072, +- i386_optab + 3073, +- i386_optab + 3074, +- i386_optab + 3075, +- i386_optab + 3076, +- i386_optab + 3077, +- i386_optab + 3078, +- i386_optab + 3079, +- i386_optab + 3080, +- i386_optab + 3081, +- i386_optab + 3082, +- i386_optab + 3083, +- i386_optab + 3084, +- i386_optab + 3085, +- i386_optab + 3086, +- i386_optab + 3087, +- i386_optab + 3088, +- i386_optab + 3089, +- i386_optab + 3090, +- i386_optab + 3091, +- i386_optab + 3092, +- i386_optab + 3093, +- i386_optab + 3094, +- i386_optab + 3095, +- i386_optab + 3096, +- i386_optab + 3097, +- i386_optab + 3098, +- i386_optab + 3099, +- i386_optab + 3100, +- i386_optab + 3101, +- i386_optab + 3102, +- i386_optab + 3103, +- i386_optab + 3104, +- i386_optab + 3105, +- i386_optab + 3106, +- i386_optab + 3107, +- i386_optab + 3108, +- i386_optab + 3109, +- i386_optab + 3110, +- i386_optab + 3111, +- i386_optab + 3112, +- i386_optab + 3113, +- i386_optab + 3114, +- i386_optab + 3115, +- i386_optab + 3116, +- i386_optab + 3117, +- i386_optab + 3118, +- i386_optab + 3119, +- i386_optab + 3120, +- i386_optab + 3121, +- i386_optab + 3122, +- i386_optab + 3123, +- i386_optab + 3124, +- i386_optab + 3125, +- i386_optab + 3126, +- i386_optab + 3127, +- i386_optab + 3128, +- i386_optab + 3130, +- i386_optab + 3131, +- i386_optab + 3132, +- i386_optab + 3133, +- i386_optab + 3134, +- i386_optab + 3135, +- i386_optab + 3136, +- i386_optab + 3137, +- i386_optab + 3138, +- i386_optab + 3139, +- i386_optab + 3140, +- i386_optab + 3141, +- i386_optab + 3142, +- i386_optab + 3143, +- i386_optab + 3144, +- i386_optab + 3145, +- i386_optab + 3146, +- i386_optab + 3147, +- i386_optab + 3148, +- i386_optab + 3149, +- i386_optab + 3150, +- i386_optab + 3151, +- i386_optab + 3152, +- i386_optab + 3153, +- i386_optab + 3154, +- i386_optab + 3155, +- i386_optab + 3156, +- i386_optab + 3157, +- i386_optab + 3158, +- i386_optab + 3159, +- i386_optab + 3160, +- i386_optab + 3161, +- i386_optab + 3162, +- i386_optab + 3163, +- i386_optab + 3164, +- i386_optab + 3165, +- i386_optab + 3166, +- i386_optab + 3167, +- i386_optab + 3168, +- i386_optab + 3169, +- i386_optab + 3172, +- i386_optab + 3175, +- i386_optab + 3178, +- i386_optab + 3181, +- i386_optab + 3184, +- i386_optab + 3187, +- i386_optab + 3190, +- i386_optab + 3193, +- i386_optab + 3196, +- i386_optab + 3199, +- i386_optab + 3202, +- i386_optab + 3205, +- i386_optab + 3208, +- i386_optab + 3211, +- i386_optab + 3214, +- i386_optab + 3215, +- i386_optab + 3216, +- i386_optab + 3217, +- i386_optab + 3218, +- i386_optab + 3220, +- i386_optab + 3221, +- i386_optab + 3222, +- i386_optab + 3223, +- i386_optab + 3224, +- i386_optab + 3225, +- i386_optab + 3226, +- i386_optab + 3227, +- i386_optab + 3228, +- i386_optab + 3229, +- i386_optab + 3230, +- i386_optab + 3231, +- i386_optab + 3232, +- i386_optab + 3233, +- i386_optab + 3234, +- i386_optab + 3235, +- i386_optab + 3236, +- i386_optab + 3237, +- i386_optab + 3238, +- i386_optab + 3239, +- i386_optab + 3240, +- i386_optab + 3241, +- i386_optab + 3242, +- i386_optab + 3243, +- i386_optab + 3244, +- i386_optab + 3245, +- i386_optab + 3246, +- i386_optab + 3247, +- i386_optab + 3248, +- i386_optab + 3249, +- i386_optab + 3250, +- i386_optab + 3251, +- i386_optab + 3252, +- i386_optab + 3253, +- i386_optab + 3254, +- i386_optab + 3255, +- i386_optab + 3256, +- i386_optab + 3257, +- i386_optab + 3258, +- i386_optab + 3259, +- i386_optab + 3260, +- i386_optab + 3261, +- i386_optab + 3262, +- i386_optab + 3263, +- i386_optab + 3264, +- i386_optab + 3265, +- i386_optab + 3266, +- i386_optab + 3267, +- i386_optab + 3268, +- i386_optab + 3269, +- i386_optab + 3270, +- i386_optab + 3271, +- i386_optab + 3272, +- i386_optab + 3273, +- i386_optab + 3274, +- i386_optab + 3275, +- i386_optab + 3276, +- i386_optab + 3277, +- i386_optab + 3278, +- i386_optab + 3279, +- i386_optab + 3280, +- i386_optab + 3281, +- i386_optab + 3284, +- i386_optab + 3287, +- i386_optab + 3288, +- i386_optab + 3289, +- i386_optab + 3290, +- i386_optab + 3291, +- i386_optab + 3292, +- i386_optab + 3293, +- i386_optab + 3294, +- i386_optab + 3295, +- i386_optab + 3296, +- i386_optab + 3297, +- i386_optab + 3298, +- i386_optab + 3299, +- i386_optab + 3300, +- i386_optab + 3301, +- i386_optab + 3302, +- i386_optab + 3303, +- i386_optab + 3304, +- i386_optab + 3305, +- i386_optab + 3306, +- i386_optab + 3307, +- i386_optab + 3308, +- i386_optab + 3309, +- i386_optab + 3310, +- i386_optab + 3311, +- i386_optab + 3312, +- i386_optab + 3313, +- i386_optab + 3314, +- i386_optab + 3315, +- i386_optab + 3316, +- i386_optab + 3317, +- i386_optab + 3318, +- i386_optab + 3319, +- i386_optab + 3320, +- i386_optab + 3321, +- i386_optab + 3322, +- i386_optab + 3323, +- i386_optab + 3324, +- i386_optab + 3325, +- i386_optab + 3326, +- i386_optab + 3327, +- i386_optab + 3328, +- i386_optab + 3329, +- i386_optab + 3330, +- i386_optab + 3331, +- i386_optab + 3332, +- i386_optab + 3333, +- i386_optab + 3334, +- i386_optab + 3335, +- i386_optab + 3336, +- i386_optab + 3337, +- i386_optab + 3338, +- i386_optab + 3339, +- i386_optab + 3340, +- i386_optab + 3341, +- i386_optab + 3342, +- i386_optab + 3343, +- i386_optab + 3344, +- i386_optab + 3345, +- i386_optab + 3346, +- i386_optab + 3347, +- i386_optab + 3348, +- i386_optab + 3349, +- i386_optab + 3352, +- i386_optab + 3355, +- i386_optab + 3358, +- i386_optab + 3359, +- i386_optab + 3360, +- i386_optab + 3361, +- i386_optab + 3362, +- i386_optab + 3363, +- i386_optab + 3364, +- i386_optab + 3365, +- i386_optab + 3366, +- i386_optab + 3367, +- i386_optab + 3368, +- i386_optab + 3369, +- i386_optab + 3370, +- i386_optab + 3371, +- i386_optab + 3372, +- i386_optab + 3373, +- i386_optab + 3374, +- i386_optab + 3377, +- i386_optab + 3380, +- i386_optab + 3381, +- i386_optab + 3382, +- i386_optab + 3385, +- i386_optab + 3386, +- i386_optab + 3387, +- i386_optab + 3388, +- i386_optab + 3389, +- i386_optab + 3392, +- i386_optab + 3395, +- i386_optab + 3398, +- i386_optab + 3399, +- i386_optab + 3400, +- i386_optab + 3401, +- i386_optab + 3402, +- i386_optab + 3403, +- i386_optab + 3404, +- i386_optab + 3405, +- i386_optab + 3406, +- i386_optab + 3407, +- i386_optab + 3408, +- i386_optab + 3410, +- i386_optab + 3412, +- i386_optab + 3413, +- i386_optab + 3414, +- i386_optab + 3415, +- i386_optab + 3416, +- i386_optab + 3417, +- i386_optab + 3418, +- i386_optab + 3419, +- i386_optab + 3420, +- i386_optab + 3421, +- i386_optab + 3422, +- i386_optab + 3423, +- i386_optab + 3424, +- i386_optab + 3425, +- i386_optab + 3426, +- i386_optab + 3427, +- i386_optab + 3428, +- i386_optab + 3429, +- i386_optab + 3430, +- i386_optab + 3431, +- i386_optab + 3432, +- i386_optab + 3433, +- i386_optab + 3434, +- i386_optab + 3435, +- i386_optab + 3436, +- i386_optab + 3437, +- i386_optab + 3439, +- i386_optab + 3441, +- i386_optab + 3442, +- i386_optab + 3443, +- i386_optab + 3444, +- i386_optab + 3445, +- i386_optab + 3446, +- i386_optab + 3447, +- i386_optab + 3448, +- i386_optab + 3449, +- i386_optab + 3450, +- i386_optab + 3451, +- i386_optab + 3452, +- i386_optab + 3453, +- i386_optab + 3454, +- i386_optab + 3455, +- i386_optab + 3456, +- i386_optab + 3457, +- i386_optab + 3458, +- i386_optab + 3459, +- i386_optab + 3460, +- i386_optab + 3461, +- i386_optab + 3462, +- i386_optab + 3463, +- i386_optab + 3464, +- i386_optab + 3465, +- i386_optab + 3466, +- i386_optab + 3468, +- i386_optab + 3470, +- i386_optab + 3472, +- i386_optab + 3474, +- i386_optab + 3475, +- i386_optab + 3476, +- i386_optab + 3477, +- i386_optab + 3478, +- i386_optab + 3479, +- i386_optab + 3480, +- i386_optab + 3481, +- i386_optab + 3482, +- i386_optab + 3483, +- i386_optab + 3485, +- i386_optab + 3486, +- i386_optab + 3488, +- i386_optab + 3491, +- i386_optab + 3493, +- i386_optab + 3494, +- i386_optab + 3495, +- i386_optab + 3497, +- i386_optab + 3499, +- i386_optab + 3500, +- i386_optab + 3501, +- i386_optab + 3502, +- i386_optab + 3503, +- i386_optab + 3504, +- i386_optab + 3505, +- i386_optab + 3506, +- i386_optab + 3507, +- i386_optab + 3508, +- i386_optab + 3509, +- i386_optab + 3510, +- i386_optab + 3511, +- i386_optab + 3512, +- i386_optab + 3513, +- i386_optab + 3514, +- i386_optab + 3515, +- i386_optab + 3516, +- i386_optab + 3517, +- i386_optab + 3519, +- i386_optab + 3521, +- i386_optab + 3522, +- i386_optab + 3523, +- i386_optab + 3524, +- i386_optab + 3525, +- i386_optab + 3530, +- i386_optab + 3532, +- i386_optab + 3534, +- i386_optab + 3535, +- i386_optab + 3536, +- i386_optab + 3537, +- i386_optab + 3538, +- i386_optab + 3539, +- i386_optab + 3540, +- i386_optab + 3541, +- i386_optab + 3542, +- i386_optab + 3543, +- i386_optab + 3544, +- i386_optab + 3545, +- i386_optab + 3546, +- i386_optab + 3548, +- i386_optab + 3551, +- i386_optab + 3554, +- i386_optab + 3557, +- i386_optab + 3559, +- i386_optab + 3560, +- i386_optab + 3561, +- i386_optab + 3562, +- i386_optab + 3563, +- i386_optab + 3564, +- i386_optab + 3565, +- i386_optab + 3566, +- i386_optab + 3567, +- i386_optab + 3568, +- i386_optab + 3569, +- i386_optab + 3570, +- i386_optab + 3571, +- i386_optab + 3572, +- i386_optab + 3573, +- i386_optab + 3574, +- i386_optab + 3575, +- i386_optab + 3576, +- i386_optab + 3577, +- i386_optab + 3578, +- i386_optab + 3579, +- i386_optab + 3580, +- i386_optab + 3581, +- i386_optab + 3582, +- i386_optab + 3583, +- i386_optab + 3584, +- i386_optab + 3585, +- i386_optab + 3586, +- i386_optab + 3587, +- i386_optab + 3588, +- i386_optab + 3589, +- i386_optab + 3590, +- i386_optab + 3591, +- i386_optab + 3592, +- i386_optab + 3593, +- i386_optab + 3594, +- i386_optab + 3595, +- i386_optab + 3596, +- i386_optab + 3597, +- i386_optab + 3598, +- i386_optab + 3599, +- i386_optab + 3600, +- i386_optab + 3601, +- i386_optab + 3602, +- i386_optab + 3603, +- i386_optab + 3604, +- i386_optab + 3605, +- i386_optab + 3606, +- i386_optab + 3607, +- i386_optab + 3608, +- i386_optab + 3609, +- i386_optab + 3610, +- i386_optab + 3611, +- i386_optab + 3612, +- i386_optab + 3613, +- i386_optab + 3614, +- i386_optab + 3615, +- i386_optab + 3616, +- i386_optab + 3617, +- i386_optab + 3618, +- i386_optab + 3619, +- i386_optab + 3620, +- i386_optab + 3621, +- i386_optab + 3622, +- i386_optab + 3623, +- i386_optab + 3624, +- i386_optab + 3625, +- i386_optab + 3626, +- i386_optab + 3627, +- i386_optab + 3628, +- i386_optab + 3629, +- i386_optab + 3630, +- i386_optab + 3631, +- i386_optab + 3632, +- i386_optab + 3633, +- i386_optab + 3634, +- i386_optab + 3635, +- i386_optab + 3636, +- i386_optab + 3637, +- i386_optab + 3638, +- i386_optab + 3639, +- i386_optab + 3640, +- i386_optab + 3641, +- i386_optab + 3642, +- i386_optab + 3643, +- i386_optab + 3644, +- i386_optab + 3645, +- i386_optab + 3646, +- i386_optab + 3647, +- i386_optab + 3648, +- i386_optab + 3649, +- i386_optab + 3650, +- i386_optab + 3651, +- i386_optab + 3652, +- i386_optab + 3653, +- i386_optab + 3654, +- i386_optab + 3655, +- i386_optab + 3656, +- i386_optab + 3657, +- i386_optab + 3658, +- i386_optab + 3659, +- i386_optab + 3660, +- i386_optab + 3661, +- i386_optab + 3662, +- i386_optab + 3663, +- i386_optab + 3664, +- i386_optab + 3665, +- i386_optab + 3666, +- i386_optab + 3667, +- i386_optab + 3668, +- i386_optab + 3669, +- i386_optab + 3670, +- i386_optab + 3671, +- i386_optab + 3672, +- i386_optab + 3673, +- i386_optab + 3674, +- i386_optab + 3675, +- i386_optab + 3676, +- i386_optab + 3677, +- i386_optab + 3678, +- i386_optab + 3679, +- i386_optab + 3680, +- i386_optab + 3681, +- i386_optab + 3682, +- i386_optab + 3683, +- i386_optab + 3684, +- i386_optab + 3685, +- i386_optab + 3686, +- i386_optab + 3687, +- i386_optab + 3688, +- i386_optab + 3689, +- i386_optab + 3690, +- i386_optab + 3691, +- i386_optab + 3692, +- i386_optab + 3693, +- i386_optab + 3694, +- i386_optab + 3695, +- i386_optab + 3696, +- i386_optab + 3697, +- i386_optab + 3698, +- i386_optab + 3699, +- i386_optab + 3700, +- i386_optab + 3701, +- i386_optab + 3704, +- i386_optab + 3705, +- i386_optab + 3706, +- i386_optab + 3709, +- i386_optab + 3710, +- i386_optab + 3711, +- i386_optab + 3713, +- i386_optab + 3714, +- i386_optab + 3715, +- i386_optab + 3716, +- i386_optab + 3718, +- i386_optab + 3719, +- i386_optab + 3720, +- i386_optab + 3721, +- i386_optab + 3723, +- i386_optab + 3724, +- i386_optab + 3725, +- i386_optab + 3726, +- i386_optab + 3729, +- i386_optab + 3730, +- i386_optab + 3731, +- i386_optab + 3732, +- i386_optab + 3733, +- i386_optab + 3736, +- i386_optab + 3739, +- i386_optab + 3742, +- i386_optab + 3745, +- i386_optab + 3748, +- i386_optab + 3749, +- i386_optab + 3750, +- i386_optab + 3751, +- i386_optab + 3752, +- i386_optab + 3754, +- i386_optab + 3756, +- i386_optab + 3757, +- i386_optab + 3758, +- i386_optab + 3759, +- i386_optab + 3762, +- i386_optab + 3765, +- i386_optab + 3768, +- i386_optab + 3771, +- i386_optab + 3774, +- i386_optab + 3775, +- i386_optab + 3776, +- i386_optab + 3777, +- i386_optab + 3779, +- i386_optab + 3780, +- i386_optab + 3781, +- i386_optab + 3782, +- i386_optab + 3784, +- i386_optab + 3785, +- i386_optab + 3786, +- i386_optab + 3787, +- i386_optab + 3788, +- i386_optab + 3789, +- i386_optab + 3790, +- i386_optab + 3791, +- i386_optab + 3792, +- i386_optab + 3793, +- i386_optab + 3794, +- i386_optab + 3795, +- i386_optab + 3796, +- i386_optab + 3797, +- i386_optab + 3798, +- i386_optab + 3799, +- i386_optab + 3800, +- i386_optab + 3801, +- i386_optab + 3802, +- i386_optab + 3803, +- i386_optab + 3804, +- i386_optab + 3805, +- i386_optab + 3806, +- i386_optab + 3807, +- i386_optab + 3808, +- i386_optab + 3809, +- i386_optab + 3810, +- i386_optab + 3811, +- i386_optab + 3812, +- i386_optab + 3813, +- i386_optab + 3814, +- i386_optab + 3815, +- i386_optab + 3816, +- i386_optab + 3817, +- i386_optab + 3818, +- i386_optab + 3819, +- i386_optab + 3820, +- i386_optab + 3821, +- i386_optab + 3822, +- i386_optab + 3823, +- i386_optab + 3824, +- i386_optab + 3825, +- i386_optab + 3826, +- i386_optab + 3827, +- i386_optab + 3829, +- i386_optab + 3830, +- i386_optab + 3831, ++ 0, 14, 16, 18, 19, 20, 21, 23, ++ 26, 27, 28, 29, 39, 40, 41, 47, ++ 48, 49, 51, 55, 59, 60, 61, 62, ++ 64, 66, 68, 69, 70, 71, 72, 73, ++ 75, 77, 79, 81, 82, 83, 84, 91, ++ 94, 101, 104, 112, 116, 119, 126, 133, ++ 140, 141, 148, 150, 152, 153, 154, 155, ++ 156, 158, 160, 161, 162, 163, 164, 165, ++ 166, 167, 168, 169, 170, 171, 172, 173, ++ 180, 182, 184, 191, 198, 209, 220, 227, ++ 234, 241, 248, 254, 260, 269, 272, 280, ++ 283, 289, 291, 293, 295, 297, 298, 299, ++ 300, 301, 302, 303, 304, 305, 306, 307, ++ 308, 309, 310, 311, 312, 313, 314, 315, ++ 316, 317, 318, 319, 320, 321, 322, 323, ++ 324, 325, 326, 327, 328, 329, 330, 332, ++ 334, 336, 338, 340, 341, 342, 343, 344, ++ 345, 346, 347, 348, 349, 350, 351, 352, ++ 353, 354, 355, 356, 357, 358, 359, 360, ++ 361, 362, 363, 364, 365, 366, 367, 368, ++ 369, 370, 372, 374, 376, 378, 381, 384, ++ 386, 388, 391, 394, 397, 400, 402, 403, ++ 404, 406, 408, 410, 412, 413, 414, 415, ++ 416, 417, 418, 419, 420, 422, 424, 426, ++ 428, 430, 432, 433, 435, 437, 439, 441, ++ 443, 445, 447, 449, 451, 455, 457, 458, ++ 459, 460, 463, 464, 468, 470, 471, 472, ++ 473, 475, 479, 480, 484, 485, 486, 488, ++ 490, 491, 492, 493, 494, 495, 496, 497, ++ 498, 499, 500, 504, 505, 508, 512, 513, ++ 519, 523, 524, 530, 534, 535, 538, 542, ++ 543, 549, 553, 554, 560, 561, 562, 563, ++ 564, 565, 566, 567, 568, 569, 570, 571, ++ 572, 573, 574, 575, 576, 577, 578, 579, ++ 580, 581, 582, 583, 586, 589, 590, 591, ++ 592, 593, 594, 595, 596, 597, 598, 599, ++ 600, 601, 602, 603, 604, 605, 606, 607, ++ 608, 609, 610, 611, 612, 613, 614, 615, ++ 616, 617, 618, 619, 620, 621, 622, 623, ++ 624, 625, 626, 627, 628, 629, 630, 631, ++ 632, 633, 634, 635, 636, 637, 638, 639, ++ 640, 641, 642, 643, 644, 645, 646, 647, ++ 648, 649, 650, 651, 652, 653, 654, 655, ++ 656, 657, 658, 659, 660, 661, 662, 663, ++ 664, 665, 666, 667, 668, 669, 670, 671, ++ 672, 673, 674, 675, 676, 677, 678, 679, ++ 680, 681, 682, 683, 684, 685, 687, 689, ++ 690, 691, 692, 693, 694, 695, 696, 697, ++ 698, 699, 701, 703, 705, 707, 709, 711, ++ 713, 715, 717, 719, 721, 723, 725, 727, ++ 729, 731, 733, 735, 737, 739, 741, 743, ++ 745, 747, 749, 751, 753, 755, 757, 759, ++ 760, 761, 762, 763, 764, 765, 766, 767, ++ 768, 769, 770, 771, 774, 777, 780, 783, ++ 786, 789, 790, 791, 792, 793, 794, 795, ++ 801, 809, 812, 815, 818, 821, 824, 827, ++ 830, 833, 836, 839, 842, 845, 848, 851, ++ 854, 857, 860, 863, 866, 869, 872, 875, ++ 878, 884, 890, 896, 902, 908, 914, 920, ++ 926, 929, 932, 935, 938, 941, 944, 947, ++ 950, 953, 956, 959, 962, 965, 968, 971, ++ 973, 975, 977, 979, 981, 983, 985, 987, ++ 989, 991, 993, 995, 997, 999, 1001, 1003, ++ 1005, 1007, 1009, 1011, 1013, 1015, 1017, 1018, ++ 1019, 1025, 1027, 1028, 1030, 1032, 1034, 1036, ++ 1037, 1039, 1041, 1043, 1045, 1047, 1049, 1052, ++ 1054, 1057, 1059, 1061, 1062, 1064, 1067, 1069, ++ 1071, 1073, 1075, 1078, 1081, 1088, 1094, 1097, ++ 1100, 1103, 1106, 1109, 1112, 1113, 1114, 1115, ++ 1116, 1119, 1120, 1122, 1124, 1126, 1128, 1129, ++ 1131, 1133, 1135, 1137, 1139, 1141, 1143, 1145, ++ 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, ++ 1163, 1165, 1167, 1169, 1171, 1173, 1175, 1177, ++ 1179, 1181, 1183, 1185, 1187, 1189, 1191, 1193, ++ 1195, 1198, 1204, 1206, 1208, 1210, 1212, 1214, ++ 1216, 1218, 1221, 1224, 1226, 1228, 1231, 1233, ++ 1235, 1237, 1239, 1241, 1243, 1245, 1247, 1249, ++ 1251, 1253, 1255, 1257, 1259, 1261, 1263, 1264, ++ 1266, 1268, 1270, 1272, 1274, 1276, 1277, 1279, ++ 1281, 1283, 1285, 1287, 1289, 1290, 1291, 1294, ++ 1296, 1298, 1300, 1302, 1304, 1306, 1308, 1310, ++ 1312, 1314, 1316, 1318, 1320, 1322, 1324, 1326, ++ 1328, 1330, 1331, 1332, 1335, 1337, 1338, 1339, ++ 1340, 1341, 1342, 1343, 1345, 1347, 1348, 1349, ++ 1350, 1351, 1354, 1357, 1360, 1363, 1366, 1369, ++ 1372, 1375, 1378, 1381, 1384, 1387, 1390, 1393, ++ 1396, 1399, 1402, 1405, 1408, 1410, 1412, 1416, ++ 1420, 1422, 1424, 1428, 1430, 1432, 1434, 1436, ++ 1440, 1442, 1444, 1448, 1450, 1452, 1454, 1458, ++ 1460, 1462, 1464, 1466, 1468, 1470, 1472, 1474, ++ 1476, 1478, 1480, 1482, 1484, 1486, 1488, 1490, ++ 1492, 1494, 1496, 1498, 1500, 1502, 1504, 1506, ++ 1508, 1510, 1512, 1514, 1516, 1518, 1522, 1526, ++ 1528, 1530, 1534, 1535, 1536, 1537, 1538, 1539, ++ 1540, 1541, 1542, 1544, 1546, 1548, 1550, 1552, ++ 1554, 1556, 1558, 1560, 1562, 1564, 1566, 1568, ++ 1570, 1572, 1574, 1576, 1578, 1579, 1580, 1582, ++ 1584, 1586, 1588, 1589, 1590, 1591, 1592, 1593, ++ 1596, 1598, 1600, 1602, 1604, 1606, 1608, 1610, ++ 1612, 1614, 1616, 1618, 1620, 1622, 1624, 1626, ++ 1628, 1630, 1632, 1634, 1636, 1638, 1640, 1642, ++ 1644, 1646, 1648, 1650, 1652, 1654, 1656, 1658, ++ 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, ++ 1676, 1678, 1680, 1682, 1684, 1686, 1688, 1690, ++ 1692, 1694, 1696, 1698, 1700, 1702, 1704, 1706, ++ 1708, 1710, 1712, 1714, 1716, 1718, 1720, 1722, ++ 1724, 1726, 1728, 1730, 1732, 1734, 1736, 1738, ++ 1740, 1742, 1744, 1746, 1748, 1750, 1752, 1754, ++ 1756, 1758, 1760, 1762, 1764, 1766, 1768, 1770, ++ 1772, 1774, 1776, 1778, 1780, 1782, 1784, 1786, ++ 1788, 1790, 1792, 1794, 1796, 1798, 1800, 1802, ++ 1804, 1806, 1808, 1810, 1812, 1814, 1816, 1818, ++ 1820, 1822, 1824, 1826, 1828, 1830, 1832, 1834, ++ 1836, 1838, 1840, 1842, 1844, 1846, 1848, 1850, ++ 1852, 1854, 1856, 1858, 1860, 1862, 1864, 1866, ++ 1868, 1870, 1872, 1874, 1876, 1878, 1880, 1882, ++ 1884, 1886, 1888, 1890, 1892, 1894, 1896, 1898, ++ 1900, 1902, 1904, 1906, 1908, 1910, 1912, 1914, ++ 1916, 1918, 1920, 1922, 1924, 1926, 1928, 1930, ++ 1932, 1934, 1936, 1938, 1940, 1942, 1944, 1946, ++ 1948, 1950, 1952, 1954, 1956, 1958, 1960, 1962, ++ 1964, 1966, 1968, 1970, 1972, 1974, 1976, 1978, ++ 1983, 1985, 1990, 1992, 1994, 1999, 2001, 2003, ++ 2005, 2010, 2012, 2014, 2016, 2020, 2026, 2028, ++ 2033, 2035, 2037, 2039, 2041, 2043, 2045, 2047, ++ 2049, 2051, 2052, 2053, 2054, 2056, 2057, 2058, ++ 2059, 2060, 2061, 2063, 2064, 2065, 2066, 2068, ++ 2070, 2072, 2074, 2076, 2078, 2080, 2082, 2084, ++ 2086, 2088, 2090, 2092, 2096, 2097, 2098, 2100, ++ 2104, 2108, 2110, 2114, 2118, 2119, 2120, 2122, ++ 2124, 2126, 2128, 2133, 2137, 2141, 2143, 2145, ++ 2147, 2149, 2150, 2152, 2154, 2156, 2158, 2160, ++ 2162, 2164, 2166, 2168, 2170, 2172, 2174, 2176, ++ 2178, 2180, 2182, 2184, 2186, 2188, 2190, 2192, ++ 2194, 2195, 2196, 2198, 2200, 2201, 2202, 2205, ++ 2208, 2211, 2214, 2216, 2218, 2220, 2222, 2224, ++ 2226, 2227, 2228, 2229, 2231, 2235, 2237, 2239, ++ 2245, 2249, 2250, 2251, 2252, 2253, 2254, 2255, ++ 2256, 2260, 2262, 2264, 2268, 2270, 2272, 2274, ++ 2276, 2278, 2280, 2282, 2284, 2286, 2288, 2290, ++ 2292, 2294, 2296, 2297, 2300, 2303, 2308, 2313, ++ 2316, 2319, 2322, 2325, 2330, 2335, 2338, 2341, ++ 2343, 2345, 2347, 2349, 2351, 2353, 2355, 2356, ++ 2358, 2360, 2362, 2364, 2366, 2367, 2368, 2369, ++ 2373, 2377, 2379, 2383, 2387, 2391, 2395, 2399, ++ 2401, 2405, 2407, 2409, 2411, 2413, 2415, 2417, ++ 2419, 2421, 2422, 2424, 2426, 2428, 2430, 2432, ++ 2434, 2436, 2438, 2439, 2440, 2441, 2442, 2443, ++ 2444, 2445, 2446, 2447, 2449, 2451, 2453, 2455, ++ 2457, 2459, 2460, 2462, 2464, 2466, 2468, 2469, ++ 2470, 2472, 2474, 2476, 2478, 2480, 2482, 2484, ++ 2486, 2487, 2488, 2489, 2490, 2493, 2496, 2498, ++ 2501, 2502, 2503, 2505, 2506, 2508, 2509, 2510, ++ 2512, 2514, 2515, 2516, 2517, 2518, 2519, 2522, ++ 2527, 2532, 2537, 2542, 2545, 2550, 2555, 2557, ++ 2559, 2561, 2563, 2564, 2565, 2567, 2569, 2571, ++ 2573, 2575, 2577, 2579, 2580, 2581, 2582, 2583, ++ 2584, 2585, 2590, 2595, 2596, 2597, 2598, 2599, ++ 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, ++ 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, ++ 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, ++ 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, ++ 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, ++ 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, ++ 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, ++ 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, ++ 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, ++ 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, ++ 2680, 2681, 2682, 2683, 2684, 2685, 2686, 2687, ++ 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, ++ 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, ++ 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711, ++ 2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, ++ 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, ++ 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, ++ 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, ++ 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, ++ 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, ++ 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, ++ 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, ++ 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, ++ 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, ++ 2792, 2793, 2794, 2795, 2796, 2798, 2800, 2801, ++ 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, ++ 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, ++ 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, ++ 2826, 2827, 2828, 2830, 2832, 2834, 2836, 2837, ++ 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, ++ 2846, 2847, 2848, 2849, 2851, 2852, 2853, 2854, ++ 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, ++ 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2870, ++ 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, ++ 2879, 2880, 2881, 2882, 2883, 2884, 2885, 2886, ++ 2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, ++ 2895, 2896, 2898, 2900, 2901, 2902, 2904, 2905, ++ 2907, 2909, 2910, 2911, 2913, 2915, 2916, 2917, ++ 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, ++ 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, ++ 2936, 2939, 2940, 2941, 2942, 2943, 2944, 2945, ++ 2947, 2949, 2951, 2952, 2953, 2955, 2957, 2959, ++ 2961, 2965, 2967, 2969, 2970, 2971, 2972, 2973, ++ 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, ++ 2982, 2983, 2984, 2985, 2986, 2987, 2990, 2993, ++ 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, ++ 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, ++ 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, ++ 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, ++ 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, ++ 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, ++ 3042, 3043, 3044, 3045, 3046, 3047, 3050, 3052, ++ 3055, 3058, 3060, 3063, 3066, 3069, 3072, 3073, ++ 3076, 3077, 3078, 3079, 3080, 3081, 3085, 3087, ++ 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, ++ 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, ++ 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, ++ 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, ++ 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, ++ 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, ++ 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, ++ 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, ++ 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, ++ 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, ++ 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, ++ 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, ++ 3189, 3192, 3195, 3198, 3201, 3204, 3207, 3210, ++ 3213, 3216, 3219, 3222, 3225, 3228, 3231, 3232, ++ 3233, 3234, 3235, 3237, 3238, 3239, 3240, 3241, ++ 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, ++ 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, ++ 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, ++ 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, ++ 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, ++ 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, ++ 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, ++ 3298, 3301, 3304, 3305, 3306, 3307, 3308, 3309, ++ 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, ++ 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, ++ 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, ++ 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, ++ 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, ++ 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, ++ 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, ++ 3366, 3369, 3372, 3375, 3376, 3377, 3378, 3379, ++ 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, ++ 3388, 3389, 3390, 3391, 3394, 3397, 3398, 3399, ++ 3402, 3403, 3404, 3405, 3406, 3409, 3412, 3415, ++ 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, ++ 3424, 3425, 3427, 3429, 3430, 3431, 3432, 3433, ++ 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, ++ 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, ++ 3450, 3451, 3452, 3453, 3454, 3456, 3458, 3459, ++ 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, ++ 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, ++ 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, ++ 3485, 3487, 3489, 3491, 3492, 3493, 3494, 3495, ++ 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, ++ 3504, 3505, 3506, 3508, 3509, 3511, 3514, 3516, ++ 3517, 3518, 3520, 3522, 3523, 3524, 3525, 3526, ++ 3527, 3528, 3530, 3532, 3534, 3536, 3537, 3538, ++ 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3547, ++ 3549, 3550, 3552, 3554, 3555, 3560, 3562, 3564, ++ 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3573, ++ 3575, 3576, 3577, 3578, 3580, 3583, 3586, 3589, ++ 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, ++ 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, ++ 3607, 3608, 3609, 3610, 3611, 3613, 3615, 3617, ++ 3619, 3621, 3623, 3625, 3627, 3629, 3631, 3632, ++ 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640, ++ 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, ++ 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, ++ 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, ++ 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, ++ 3673, 3674, 3675, 3676, 3677, 3678, 3679, 3680, ++ 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, ++ 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, ++ 3697, 3698, 3699, 3700, 3701, 3702, 3703, 3704, ++ 3705, 3706, 3707, 3708, 3709, 3710, 3711, 3712, ++ 3713, 3714, 3715, 3716, 3717, 3718, 3719, 3720, ++ 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, ++ 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, ++ 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3746, ++ 3747, 3748, 3751, 3752, 3753, 3755, 3756, 3757, ++ 3758, 3760, 3761, 3762, 3763, 3765, 3766, 3767, ++ 3768, 3771, 3772, 3773, 3774, 3775, 3778, 3781, ++ 3784, 3787, 3790, 3791, 3792, 3793, 3794, 3796, ++ 3798, 3799, 3800, 3801, 3804, 3807, 3810, 3813, ++ 3816, 3817, 3818, 3819, 3821, 3822, 3823, 3824, ++ 3826, 3827, 3828, 3829, 3830, 3831, 3832, 3833, ++ 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, ++ 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849, ++ 3850, 3851, 3852, 3853, 3854, 3855, 3856, 3857, ++ 3858, 3859, 3860, 3861, 3862, 3863, 3864, 3865, ++ 3867, 3869, 3871, 3873, 3875, 3876, 3877, 3879, ++ 3881, 3882, 3883, 3884, 3885 + }; + + /* i386 mnemonics table. */ +@@ -62154,6 +41535,8 @@ const char i386_mnemonics[] = + "\0""fld1" + "\0""ud1" + "\0""sha1msg1" ++ "\0""vsha512msg1" ++ "\0""vsm3msg1" + "\0""sha256msg1" + "\0""fprem1" + "\0""f2xm1" +@@ -62174,8 +41557,14 @@ const char i386_mnemonics[] = + "\0""ud2" + "\0""fldlg2" + "\0""sha1msg2" ++ "\0""vsha512msg2" ++ "\0""vsm3msg2" + "\0""sha256msg2" ++ "\0""push2" + "\0""fldln2" ++ "\0""pop2" ++ "\0""vsha512rnds2" ++ "\0""vsm3rnds2" + "\0""sha256rnds2" + "\0""prefetcht2" + "\0""pfrcpit2" +@@ -62201,6 +41590,7 @@ const char i386_mnemonics[] = + "\0""vmovdqu64" + "\0""rex64" + "\0""sha1rnds4" ++ "\0""vsm4rnds4" + "\0""vshuff32x4" + "\0""vextractf32x4" + "\0""vinsertf32x4" +@@ -62215,6 +41605,7 @@ const char i386_mnemonics[] = + "\0""vextracti64x4" + "\0""vinserti64x4" + "\0""vbroadcasti64x4" ++ "\0""vsm4key4" + "\0""data16" + "\0""vcvtne2ps2bf16" + "\0""vcvtneps2bf16" +@@ -62291,6 +41682,7 @@ const char i386_mnemonics[] = + "\0""invlpgb" + "\0""vpavgb" + "\0""jb" ++ "\0""pbndkb" + "\0""vpmovmskb" + "\0""vpshlb" + "\0""kshiftlb" +@@ -62785,6 +42177,7 @@ const char i386_mnemonics[] = + "\0""vbroadcastsd" + "\0""vpdpbusd" + "\0""tdpbusd" ++ "\0""vpdpwusd" + "\0""vdivsd" + "\0""vmovsd" + "\0""vpmaxsd" +@@ -62821,12 +42214,14 @@ const char i386_mnemonics[] = + "\0""vpcmpequd" + "\0""vpdpbsud" + "\0""tdpbsud" ++ "\0""vpdpwsud" + "\0""vpcomgtud" + "\0""vpcomltud" + "\0""vpcmpnltud" + "\0""vpcmpltud" + "\0""vpdpbuud" + "\0""tdpbuud" ++ "\0""vpdpwuud" + "\0""vpmaxud" + "\0""vpsravd" + "\0""vpshldvd" +@@ -63257,6 +42652,8 @@ const char i386_mnemonics[] = + "\0""cqto" + "\0""ssto" + "\0""cmovo" ++ "\0""push2p" ++ "\0""pop2p" + "\0""bswap" + "\0""fsubp" + "\0""pfrcp" +@@ -63265,6 +42662,7 @@ const char i386_mnemonics[] = + "\0""pdep" + "\0""ffreep" + "\0""rep" ++ "\0""pushp" + "\0""fcomip" + "\0""fucomip" + "\0""jp" +@@ -63282,6 +42680,7 @@ const char i386_mnemonics[] = + "\0""pop" + "\0""fcompp" + "\0""fucompp" ++ "\0""popp" + "\0""fsubrp" + "\0""fdivrp" + "\0""rstorssp" +@@ -63486,8 +42885,8 @@ const char i386_mnemonics[] = + "\0""vldmxcsr" + "\0""vstmxcsr" + "\0""blsr" +- "\0""rdmsr" +- "\0""wrmsr" ++ "\0""urdmsr" ++ "\0""uwrmsr" + "\0""btr" + "\0""xcrypt-ctr" + "\0""xcryptctr" +@@ -63510,8 +42909,11 @@ const char i386_mnemonics[] = + "\0""vp4dpwssds" + "\0""vpdpwssds" + "\0""vpdpbusds" ++ "\0""vpdpwusds" + "\0""vpdpbsuds" ++ "\0""vpdpwsuds" + "\0""vpdpbuuds" ++ "\0""vpdpwuuds" + "\0""les" + "\0""xsaves" + "\0""lfs" +@@ -64110,6 +43512,7 @@ const char i386_mnemonics[] = + "\0""rexyz" + "\0""rexxyz" + "\0""{disp32}" ++ "\0""{rex2}" + "\0""{vex2}" + "\0""{vex3}" + "\0""{disp16}" +@@ -64223,6 +43626,70 @@ static const reg_entry i386_regtab[] = + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + RegRex|RegRex64, 7, { Dw2Inval, Dw2Inval } }, ++ { "r16b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64, 0, { Dw2Inval, Dw2Inval } }, ++ { "r17b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64, 1, { Dw2Inval, Dw2Inval } }, ++ { "r18b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64, 2, { Dw2Inval, Dw2Inval } }, ++ { "r19b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64, 3, { Dw2Inval, Dw2Inval } }, ++ { "r20b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64, 4, { Dw2Inval, Dw2Inval } }, ++ { "r21b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64, 5, { Dw2Inval, Dw2Inval } }, ++ { "r22b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64, 6, { Dw2Inval, Dw2Inval } }, ++ { "r23b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64, 7, { Dw2Inval, Dw2Inval } }, ++ { "r24b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64|RegRex, 0, { Dw2Inval, Dw2Inval } }, ++ { "r25b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64|RegRex, 1, { Dw2Inval, Dw2Inval } }, ++ { "r26b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64|RegRex, 2, { Dw2Inval, Dw2Inval } }, ++ { "r27b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64|RegRex, 3, { Dw2Inval, Dw2Inval } }, ++ { "r28b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64|RegRex, 4, { Dw2Inval, Dw2Inval } }, ++ { "r29b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64|RegRex, 5, { Dw2Inval, Dw2Inval } }, ++ { "r30b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64|RegRex, 6, { Dw2Inval, Dw2Inval } }, ++ { "r31b", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex64|RegRex, 7, { Dw2Inval, Dw2Inval } }, + { "ax", + { { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, +@@ -64287,6 +43754,70 @@ static const reg_entry i386_regtab[] = + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + RegRex, 7, { Dw2Inval, Dw2Inval } }, ++ { "r16w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 0, { Dw2Inval, Dw2Inval } }, ++ { "r17w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 1, { Dw2Inval, Dw2Inval } }, ++ { "r18w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 2, { Dw2Inval, Dw2Inval } }, ++ { "r19w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 3, { Dw2Inval, Dw2Inval } }, ++ { "r20w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 4, { Dw2Inval, Dw2Inval } }, ++ { "r21w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 5, { Dw2Inval, Dw2Inval } }, ++ { "r22w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 6, { Dw2Inval, Dw2Inval } }, ++ { "r23w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 7, { Dw2Inval, Dw2Inval } }, ++ { "r24w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 0, { Dw2Inval, Dw2Inval } }, ++ { "r25w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 1, { Dw2Inval, Dw2Inval } }, ++ { "r26w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 2, { Dw2Inval, Dw2Inval } }, ++ { "r27w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 3, { Dw2Inval, Dw2Inval } }, ++ { "r28w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 4, { Dw2Inval, Dw2Inval } }, ++ { "r29w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 5, { Dw2Inval, Dw2Inval } }, ++ { "r30w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 6, { Dw2Inval, Dw2Inval } }, ++ { "r31w", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 7, { Dw2Inval, Dw2Inval } }, + { "eax", + { { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, +@@ -64351,6 +43882,70 @@ static const reg_entry i386_regtab[] = + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + RegRex, 7, { Dw2Inval, Dw2Inval } }, ++ { "r16d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 0, { Dw2Inval, Dw2Inval } }, ++ { "r17d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 1, { Dw2Inval, Dw2Inval } }, ++ { "r18d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 2, { Dw2Inval, Dw2Inval } }, ++ { "r19d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 3, { Dw2Inval, Dw2Inval } }, ++ { "r20d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 4, { Dw2Inval, Dw2Inval } }, ++ { "r21d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 5, { Dw2Inval, Dw2Inval } }, ++ { "r22d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 6, { Dw2Inval, Dw2Inval } }, ++ { "r23d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 7, { Dw2Inval, Dw2Inval } }, ++ { "r24d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 0, { Dw2Inval, Dw2Inval } }, ++ { "r25d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 1, { Dw2Inval, Dw2Inval } }, ++ { "r26d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 2, { Dw2Inval, Dw2Inval } }, ++ { "r27d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 3, { Dw2Inval, Dw2Inval } }, ++ { "r28d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 4, { Dw2Inval, Dw2Inval } }, ++ { "r29d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 5, { Dw2Inval, Dw2Inval } }, ++ { "r30d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 6, { Dw2Inval, Dw2Inval } }, ++ { "r31d", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 7, { Dw2Inval, Dw2Inval } }, + { "rax", + { { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, +@@ -64415,6 +44010,70 @@ static const reg_entry i386_regtab[] = + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } }, + RegRex, 7, { Dw2Inval, 15 } }, ++ { "r16", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 0, { Dw2Inval, 130 } }, ++ { "r17", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 1, { Dw2Inval, 131 } }, ++ { "r18", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 2, { Dw2Inval, 132 } }, ++ { "r19", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 3, { Dw2Inval, 133 } }, ++ { "r20", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 4, { Dw2Inval, 134 } }, ++ { "r21", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 5, { Dw2Inval, 135 } }, ++ { "r22", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 6, { Dw2Inval, 136 } }, ++ { "r23", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2, 7, { Dw2Inval, 137 } }, ++ { "r24", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 0, { Dw2Inval, 138 } }, ++ { "r25", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 1, { Dw2Inval, 139 } }, ++ { "r26", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 2, { Dw2Inval, 140 } }, ++ { "r27", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 3, { Dw2Inval, 141 } }, ++ { "r28", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 4, { Dw2Inval, 142 } }, ++ { "r29", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 5, { Dw2Inval, 143 } }, ++ { "r30", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 6, { Dw2Inval, 144 } }, ++ { "r31", ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ RegRex2|RegRex, 7, { Dw2Inval, 145 } }, + { "k0", + { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, +--- binutils.orig/gas/testsuite/gas/i386/reloc64.d 2024-01-18 12:12:23.790946063 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/reloc64.d 2024-01-18 15:53:18.523216994 +0000 +@@ -39,9 +39,7 @@ Disassembly of section \.text: + .*[ ]+R_X86_64_TLSGD[ ]+xtrn + .*[ ]+R_X86_64_TLSGD[ ]+xtrn + .*[ ]+R_X86_64_TLSGD[ ]+xtrn-0x0*4 +-.*[ ]+R_X86_64_GOTTPOFF[ ]+xtrn +-.*[ ]+R_X86_64_GOTTPOFF[ ]+xtrn +-.*[ ]+R_X86_64_GOTTPOFF[ ]+xtrn-0x0*4 ++#... + .*[ ]+R_X86_64_TLSLD[ ]+xtrn + .*[ ]+R_X86_64_TLSLD[ ]+xtrn + .*[ ]+R_X86_64_TLSLD[ ]+xtrn-0x0*4 +--- binutils.orig/gas/testsuite/gas/i386/ilp32/reloc64.d 2024-01-18 12:12:23.769946048 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/reloc64.d 2024-01-18 15:53:39.259227210 +0000 +@@ -42,11 +42,7 @@ Disassembly of section \.text: + .*[ ]+R_X86_64_TLSGD[ ]+xtrn + .*[ ]+R_X86_64_TLSGD[ ]+xtrn + .*[ ]+R_X86_64_TLSGD[ ]+xtrn-0x0*4 +-.*[ ]+R_X86_64_GOTTPOFF[ ]+xtrn +-.*[ ]+R_X86_64_GOTTPOFF[ ]+xtrn +-.*[ ]+R_X86_64_GOTTPOFF[ ]+xtrn +-.*[ ]+R_X86_64_GOTTPOFF[ ]+xtrn +-.*[ ]+R_X86_64_GOTTPOFF[ ]+xtrn-0x0*4 ++#... + .*[ ]+R_X86_64_TLSLD[ ]+xtrn + .*[ ]+R_X86_64_TLSLD[ ]+xtrn + .*[ ]+R_X86_64_TLSLD[ ]+xtrn +--- binutils.orig/gas/testsuite/gas/i386/reloc64.d 2024-01-19 11:05:54.163131810 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/reloc64.d 2024-01-19 11:06:11.511179089 +0000 +@@ -72,7 +72,7 @@ Disassembly of section \.data: + .*[ ]+R_X86_64_GOTPC32[ ]+_GLOBAL_OFFSET_TABLE_ + .*[ ]+R_X86_64_PLT32[ ]+xtrn + .*[ ]+R_X86_64_TLSGD[ ]+xtrn +-.*[ ]+R_X86_64_GOTTPOFF[ ]+xtrn ++#... + .*[ ]+R_X86_64_TLSLD[ ]+xtrn + .*[ ]+R_X86_64_DTPOFF32[ ]+xtrn + .*[ ]+R_X86_64_TPOFF32[ ]+xtrn +@@ -84,7 +84,7 @@ Disassembly of section \.data: + .*[ ]+R_X86_64_GOTPC32[ ]+_GLOBAL_OFFSET_TABLE_ + .*[ ]+R_X86_64_PLT32[ ]+xtrn + .*[ ]+R_X86_64_TLSGD[ ]+xtrn +-.*[ ]+R_X86_64_GOTTPOFF[ ]+xtrn ++#... + .*[ ]+R_X86_64_TLSLD[ ]+xtrn + .*[ ]+R_X86_64_DTPOFF32[ ]+xtrn + .*[ ]+R_X86_64_TPOFF32[ ]+xtrn +--- binutils.orig/gas/testsuite/gas/i386/ilp32/reloc64.d 2024-01-19 11:05:54.139131740 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/ilp32/reloc64.d 2024-01-19 11:06:28.731224850 +0000 +@@ -69,7 +69,7 @@ Disassembly of section \.data: + .*[ ]+R_X86_64_GOTPC32[ ]+_GLOBAL_OFFSET_TABLE_ + .*[ ]+R_X86_64_PLT32[ ]+xtrn + .*[ ]+R_X86_64_TLSGD[ ]+xtrn +-.*[ ]+R_X86_64_GOTTPOFF[ ]+xtrn ++#... + .*[ ]+R_X86_64_TLSLD[ ]+xtrn + .*[ ]+R_X86_64_DTPOFF32[ ]+xtrn + .*[ ]+R_X86_64_TPOFF32[ ]+xtrn +@@ -81,7 +81,7 @@ Disassembly of section \.data: + .*[ ]+R_X86_64_GOTPC32[ ]+_GLOBAL_OFFSET_TABLE_ + .*[ ]+R_X86_64_PLT32[ ]+xtrn + .*[ ]+R_X86_64_TLSGD[ ]+xtrn +-.*[ ]+R_X86_64_GOTTPOFF[ ]+xtrn ++#... + .*[ ]+R_X86_64_TLSLD[ ]+xtrn + .*[ ]+R_X86_64_DTPOFF32[ ]+xtrn + .*[ ]+R_X86_64_TPOFF32[ ]+xtrn +diff -rupN binutils.orig/gas/config/tc-i386.c binutils-2.41/gas/config/tc-i386.c +--- binutils.orig/gas/config/tc-i386.c 2024-01-19 11:05:54.063131519 +0000 ++++ binutils-2.41/gas/config/tc-i386.c 2024-01-19 11:21:33.383632700 +0000 +@@ -1949,7 +1949,7 @@ cpu_flags_match (const insn_template *t) + && (any.bitfield.cpubmi || any.bitfield.cpubmi2 + || any.bitfield.cpuavx512f || any.bitfield.cpuavx512bw + || any.bitfield.cpuavx512dq || any.bitfield.cpuamx_tile +- || any.bitfield.cpucmpccxadd)) ++ || any.bitfield.cpucmpccxadd || any.bitfield.cpuuser_msr)) + { + /* These checks (verifying that APX_F() was properly used in the + opcode table entry) make sure there's no need for an "else" to +@@ -3751,7 +3751,7 @@ install_template (const insn_template *t + if ((maybe_cpu (t, CpuCMPCCXADD) || maybe_cpu (t, CpuAMX_TILE) + || maybe_cpu (t, CpuAVX512F) || maybe_cpu (t, CpuAVX512DQ) + || maybe_cpu (t, CpuAVX512BW) || maybe_cpu (t, CpuBMI) +- || maybe_cpu (t, CpuBMI2)) ++ || maybe_cpu (t, CpuBMI2) || maybe_cpu (t, CpuUSER_MSR)) + && maybe_cpu (t, CpuAPX_F)) + { + if (need_evex_encoding (t)) +@@ -4069,7 +4069,7 @@ build_evex_prefix (void) + /* The high 3 bits of the second EVEX byte are 1's compliment of RXB + bits from REX. */ + gas_assert (i.tm.opcode_space >= SPACE_0F); +- gas_assert (i.tm.opcode_space <= SPACE_EVEXMAP6); ++ gas_assert (i.tm.opcode_space <= SPACE_VEXMAP7); + i.vex.bytes[1] = ((~i.rex & 7) << 5) + | (!dot_insn () ? i.tm.opcode_space + : i.insn_opcode_space); +@@ -7055,7 +7055,8 @@ check_VecOperands (const insn_template * + } + + /* Check the special Imm4 cases; must be the first operand. */ +- if (is_cpu (t, CpuXOP) && t->operands == 5) ++ if ((is_cpu (t, CpuXOP) && t->operands == 5) ++ || (is_cpu (t, CpuAPX_F) && t->opcode_space == SPACE_0F3A)) + { + if (i.op[0].imms->X_op != O_constant + || !fits_in_imm4 (i.op[0].imms->X_add_number)) +@@ -7065,7 +7066,8 @@ check_VecOperands (const insn_template * + } + + /* Turn off Imm so that update_imm won't complain. */ +- operand_type_set (&i.types[0], 0); ++ if (t->operands == 5) ++ operand_type_set (&i.types[0], 0); + } + + /* Check vector Disp8 operand. */ +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l 2024-01-19 11:05:54.158131795 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l 2024-01-19 11:20:30.743578338 +0000 +@@ -187,10 +187,10 @@ + .*:195: Error: extended GPR cannot be used as base/index for `vrcpps' + .*:196: Error: extended GPR cannot be used as base/index for `vrcpps' + .*:197: Error: extended GPR cannot be used as base/index for `vrcpss' +-.*:198: Error: extended GPR cannot be used as base/index for `vroundpd' +-.*:199: Error: extended GPR cannot be used as base/index for `vroundps' +-.*:200: Error: extended GPR cannot be used as base/index for `vroundsd' +-.*:201: Error: extended GPR cannot be used as base/index for `vroundss' ++.*:198: Error: .* 4 bits for `vroundpd' ++.*:199: Error: .* 4 bits for `vroundps' ++.*:200: Error: .* 4 bits for `vroundsd' ++.*:201: Error: .* 4 bits for `vroundss' + .*:202: Error: extended GPR cannot be used as base/index for `vrsqrtps' + .*:203: Error: extended GPR cannot be used as base/index for `vrsqrtps' + .*:204: Error: extended GPR cannot be used as base/index for `vrsqrtss' +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s 2024-01-19 11:05:54.158131795 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s 2024-01-19 11:20:30.743578338 +0000 +@@ -195,10 +195,10 @@ + vrcpps (%r27),%xmm6 + vrcpps (%r27),%ymm6 + vrcpss (%r27),%xmm6,%xmm6 +- vroundpd $1,(%r24),%xmm6 +- vroundps $2,(%r24),%xmm6 +- vroundsd $3,(%r24),%xmm6,%xmm3 +- vroundss $4,(%r24),%xmm6,%xmm3 ++ vroundpd $0x11,(%r24),%xmm6 ++ vroundps $0x22,(%r24),%xmm6 ++ vroundsd $0x33,(%r24),%xmm6,%xmm3 ++ vroundss $0x44,(%r24),%xmm6,%xmm3 + vrsqrtps (%r27),%xmm6 + vrsqrtps (%r27),%ymm6 + vrsqrtss (%r27),%xmm6,%xmm6 +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d 2024-01-19 11:05:54.158131795 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d 2024-01-19 11:20:30.743578338 +0000 +@@ -158,6 +158,10 @@ Disassembly of section \.text: + [ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd tmm6,\[r31\+rax\*4\+0x123\] + [ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1 tmm6,\[r31\+rax\*4\+0x123\] + [ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+\[r31\+rax\*4\+0x123\],tmm6 ++[ ]*[a-f0-9]+:[ ]*62 db fd 08 09 30 01[ ]+vrndscalepd xmm6,XMMWORD PTR \[r24\],(0x)?1 ++[ ]*[a-f0-9]+:[ ]*62 db 7d 08 08 30 02[ ]+vrndscaleps xmm6,XMMWORD PTR \[r24\],(0x)?2 ++[ ]*[a-f0-9]+:[ ]*62 db cd 08 0b 18 03[ ]+vrndscalesd xmm3,xmm6,QWORD PTR \[r24\],(0x)?3 ++[ ]*[a-f0-9]+:[ ]*62 db 4d 08 0a 18 04[ ]+vrndscaless xmm3,xmm6,DWORD PTR \[r24\],(0x)?4 + [ ]*[a-f0-9]+:[ ]*62 4c 7c 08 66 8c 87 23 01 00 00[ ]+wrssd[ ]+\[r31\+rax\*4\+0x123\],r25d + [ ]*[a-f0-9]+:[ ]*62 4c fc 08 66 bc 87 23 01 00 00[ ]+wrssq[ ]+\[r31\+rax\*4\+0x123\],r31 + [ ]*[a-f0-9]+:[ ]*62 4c 7d 08 65 8c 87 23 01 00 00[ ]+wrussd[ ]+\[r31\+rax\*4\+0x123\],r25d +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d 2024-01-19 11:05:54.158131795 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d 2024-01-19 11:20:30.743578338 +0000 +@@ -158,6 +158,10 @@ Disassembly of section \.text: + [ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd[ ]+0x123\(%r31,%rax,4\),%tmm6 + [ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1[ ]+0x123\(%r31,%rax,4\),%tmm6 + [ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+%tmm6,0x123\(%r31,%rax,4\) ++[ ]*[a-f0-9]+:[ ]*62 db fd 08 09 30 01[ ]+vrndscalepd \$0x1,\(%r24\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 db 7d 08 08 30 02[ ]+vrndscaleps \$0x2,\(%r24\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 db cd 08 0b 18 03[ ]+vrndscalesd \$0x3,\(%r24\),%xmm6,%xmm3 ++[ ]*[a-f0-9]+:[ ]*62 db 4d 08 0a 18 04[ ]+vrndscaless \$0x4,\(%r24\),%xmm6,%xmm3 + [ ]*[a-f0-9]+:[ ]*62 4c 7c 08 66 8c 87 23 01 00 00[ ]+wrssd[ ]+%r25d,0x123\(%r31,%rax,4\) + [ ]*[a-f0-9]+:[ ]*62 4c fc 08 66 bc 87 23 01 00 00[ ]+wrssq[ ]+%r31,0x123\(%r31,%rax,4\) + [ ]*[a-f0-9]+:[ ]*62 4c 7d 08 65 8c 87 23 01 00 00[ ]+wrussd[ ]+%r25d,0x123\(%r31,%rax,4\) +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s 2024-01-19 11:05:54.158131795 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s 2024-01-19 11:20:30.744578339 +0000 +@@ -152,6 +152,10 @@ _start: + tileloadd 0x123(%r31,%rax,4),%tmm6 + tileloaddt1 0x123(%r31,%rax,4),%tmm6 + tilestored %tmm6,0x123(%r31,%rax,4) ++ vroundpd $1,(%r24),%xmm6 ++ vroundps $2,(%r24),%xmm6 ++ vroundsd $3,(%r24),%xmm6,%xmm3 ++ vroundss $4,(%r24),%xmm6,%xmm3 + wrssd %r25d,0x123(%r31,%rax,4) + wrssq %r31,0x123(%r31,%rax,4) + wrussd %r25d,0x123(%r31,%rax,4) +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-ndd.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-ndd.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-ndd.d 2024-01-19 11:05:54.158131795 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-ndd.d 2024-01-19 11:21:44.238641167 +0000 +@@ -14,7 +14,7 @@ Disassembly of section .text: + \s*[a-f0-9]+:\s*62 54 6c 10 11 38 adc %r15d,\(%r8\),%r18d + \s*[a-f0-9]+:\s*62 c4 3c 18 12 04 07 adc \(%r15,%rax,1\),%r16b,%r8b + \s*[a-f0-9]+:\s*62 c4 3d 18 13 04 07 adc \(%r15,%rax,1\),%r16w,%r8w +-\s*[a-f0-9]+:\s*62 fc 5c 10 83 14 83 11 adcl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 14 83 11 adc \$0x11,\(%r19,%rax,4\),%r20d + \s*[a-f0-9]+:\s*62 54 6d 10 66 c7 adcx %r15d,%r8d,%r18d + \s*[a-f0-9]+:\s*62 14 f9 08 66 04 3f adcx \(%r15,%r31,1\),%r8 + \s*[a-f0-9]+:\s*62 14 69 10 66 04 3f adcx \(%r15,%r31,1\),%r8d,%r18d +@@ -32,9 +32,9 @@ Disassembly of section .text: + \s*[a-f0-9]+:\s*62 5c f8 10 03 84 07 90 90 00 00 add 0x9090\(%r31,%r16,1\),%r8,%r16 + \s*[a-f0-9]+:\s*62 44 7c 10 00 f8 add %r31b,%r8b,%r16b + \s*[a-f0-9]+:\s*62 44 7c 10 01 f8 add %r31d,%r8d,%r16d +-\s*[a-f0-9]+:\s*62 fc 5c 10 83 04 83 11 addl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 04 83 11 add \$0x11,\(%r19,%rax,4\),%r20d + \s*[a-f0-9]+:\s*62 44 fc 10 01 f8 add %r31,%r8,%r16 +-\s*[a-f0-9]+:\s*62 d4 fc 10 81 04 8f 33 44 34 12 addq \$0x12344433,\(%r15,%rcx,4\),%r16 ++\s*[a-f0-9]+:\s*62 d4 fc 10 81 04 8f 33 44 34 12 add \$0x12344433,\(%r15,%rcx,4\),%r16 + \s*[a-f0-9]+:\s*62 44 7d 10 01 f8 add %r31w,%r8w,%r16w + \s*[a-f0-9]+:\s*62 54 6e 10 66 c7 adox %r15d,%r8d,%r18d + \s*[a-f0-9]+:\s*62 5c fc 10 03 c7 add %r31,%r8,%r16 +@@ -46,7 +46,7 @@ Disassembly of section .text: + \s*[a-f0-9]+:\s*62 54 6c 10 21 38 and %r15d,\(%r8\),%r18d + \s*[a-f0-9]+:\s*62 c4 3c 18 22 04 07 and \(%r15,%rax,1\),%r16b,%r8b + \s*[a-f0-9]+:\s*62 c4 3d 18 23 04 07 and \(%r15,%rax,1\),%r16w,%r8w +-\s*[a-f0-9]+:\s*62 fc 5c 10 83 24 83 11 andl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 24 83 11 and \$0x11,\(%r19,%rax,4\),%r20d + \s*[a-f0-9]+:\s*67 62 f4 3c 18 47 90 90 90 90 90 cmova -0x6f6f6f70\(%eax\),%edx,%r8d + \s*[a-f0-9]+:\s*67 62 f4 3c 18 43 90 90 90 90 90 cmovae -0x6f6f6f70\(%eax\),%edx,%r8d + \s*[a-f0-9]+:\s*67 62 f4 3c 18 42 90 90 90 90 90 cmovb -0x6f6f6f70\(%eax\),%edx,%r8d +@@ -64,98 +64,98 @@ Disassembly of section .text: + \s*[a-f0-9]+:\s*67 62 f4 3c 18 4a 90 90 90 90 90 cmovp -0x6f6f6f70\(%eax\),%edx,%r8d + \s*[a-f0-9]+:\s*67 62 f4 3c 18 48 90 90 90 90 90 cmovs -0x6f6f6f70\(%eax\),%edx,%r8d + \s*[a-f0-9]+:\s*62 f4 f4 10 ff c8 dec %rax,%r17 +-\s*[a-f0-9]+:\s*62 9c 3c 18 fe 0c 27 decb \(%r31,%r12,1\),%r8b ++\s*[a-f0-9]+:\s*62 9c 3c 18 fe 0c 27 dec \(%r31,%r12,1\),%r8b + \s*[a-f0-9]+:\s*62 b4 b0 10 af 94 f8 09 09 00 00 imul 0x909\(%rax,%r31,8\),%rdx,%r25 + \s*[a-f0-9]+:\s*67 62 f4 3c 18 af 90 09 09 09 00 imul 0x90909\(%eax\),%edx,%r8d + \s*[a-f0-9]+:\s*62 dc fc 10 ff c7 inc %r31,%r16 + \s*[a-f0-9]+:\s*62 dc bc 18 ff c7 inc %r31,%r8 + \s*[a-f0-9]+:\s*62 f4 e4 18 ff c0 inc %rax,%rbx + \s*[a-f0-9]+:\s*62 f4 f4 10 f7 d8 neg %rax,%r17 +-\s*[a-f0-9]+:\s*62 9c 3c 18 f6 1c 27 negb \(%r31,%r12,1\),%r8b ++\s*[a-f0-9]+:\s*62 9c 3c 18 f6 1c 27 neg \(%r31,%r12,1\),%r8b + \s*[a-f0-9]+:\s*62 f4 f4 10 f7 d0 not %rax,%r17 +-\s*[a-f0-9]+:\s*62 9c 3c 18 f6 14 27 notb \(%r31,%r12,1\),%r8b ++\s*[a-f0-9]+:\s*62 9c 3c 18 f6 14 27 not \(%r31,%r12,1\),%r8b + \s*[a-f0-9]+:\s*62 f4 0d 10 81 c8 34 12 or \$0x1234,%ax,%r30w + \s*[a-f0-9]+:\s*62 7c 6c 10 08 f9 or %r15b,%r17b,%r18b + \s*[a-f0-9]+:\s*62 54 6c 10 09 38 or %r15d,\(%r8\),%r18d + \s*[a-f0-9]+:\s*62 c4 3c 18 0a 04 07 or \(%r15,%rax,1\),%r16b,%r8b + \s*[a-f0-9]+:\s*62 c4 3d 18 0b 04 07 or \(%r15,%rax,1\),%r16w,%r8w +-\s*[a-f0-9]+:\s*62 fc 5c 10 83 0c 83 11 orl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 0c 83 11 or \$0x11,\(%r19,%rax,4\),%r20d + \s*[a-f0-9]+:\s*62 d4 04 10 c0 d4 02 rcl \$0x2,%r12b,%r31b + \s*[a-f0-9]+:\s*62 fc 3c 18 d2 d0 rcl %cl,%r16b,%r8b +-\s*[a-f0-9]+:\s*62 f4 04 10 d0 10 rclb \$1,\(%rax\),%r31b +-\s*[a-f0-9]+:\s*62 f4 04 10 c1 10 02 rcll \$0x2,\(%rax\),%r31d +-\s*[a-f0-9]+:\s*62 f4 05 10 d1 10 rclw \$1,\(%rax\),%r31w +-\s*[a-f0-9]+:\s*62 fc 05 10 d3 14 83 rclw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 10 rcl \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 10 02 rcl \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 10 rcl \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 14 83 rcl %cl,\(%r19,%rax,4\),%r31w + \s*[a-f0-9]+:\s*62 d4 04 10 c0 dc 02 rcr \$0x2,%r12b,%r31b + \s*[a-f0-9]+:\s*62 fc 3c 18 d2 d8 rcr %cl,%r16b,%r8b +-\s*[a-f0-9]+:\s*62 f4 04 10 d0 18 rcrb \$1,\(%rax\),%r31b +-\s*[a-f0-9]+:\s*62 f4 04 10 c1 18 02 rcrl \$0x2,\(%rax\),%r31d +-\s*[a-f0-9]+:\s*62 f4 05 10 d1 18 rcrw \$1,\(%rax\),%r31w +-\s*[a-f0-9]+:\s*62 fc 05 10 d3 1c 83 rcrw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 18 rcr \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 18 02 rcr \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 18 rcr \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 1c 83 rcr %cl,\(%r19,%rax,4\),%r31w + \s*[a-f0-9]+:\s*62 d4 04 10 c0 c4 02 rol \$0x2,%r12b,%r31b + \s*[a-f0-9]+:\s*62 fc 3c 18 d2 c0 rol %cl,%r16b,%r8b +-\s*[a-f0-9]+:\s*62 f4 04 10 d0 00 rolb \$1,\(%rax\),%r31b +-\s*[a-f0-9]+:\s*62 f4 04 10 c1 00 02 roll \$0x2,\(%rax\),%r31d +-\s*[a-f0-9]+:\s*62 f4 05 10 d1 00 rolw \$1,\(%rax\),%r31w +-\s*[a-f0-9]+:\s*62 fc 05 10 d3 04 83 rolw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 00 rol \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 00 02 rol \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 00 rol \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 04 83 rol %cl,\(%r19,%rax,4\),%r31w + \s*[a-f0-9]+:\s*62 d4 04 10 c0 cc 02 ror \$0x2,%r12b,%r31b + \s*[a-f0-9]+:\s*62 fc 3c 18 d2 c8 ror %cl,%r16b,%r8b +-\s*[a-f0-9]+:\s*62 f4 04 10 d0 08 rorb \$1,\(%rax\),%r31b +-\s*[a-f0-9]+:\s*62 f4 04 10 c1 08 02 rorl \$0x2,\(%rax\),%r31d +-\s*[a-f0-9]+:\s*62 f4 05 10 d1 08 rorw \$1,\(%rax\),%r31w +-\s*[a-f0-9]+:\s*62 fc 05 10 d3 0c 83 rorw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 08 ror \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 08 02 ror \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 08 ror \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 0c 83 ror %cl,\(%r19,%rax,4\),%r31w + \s*[a-f0-9]+:\s*62 d4 04 10 c0 fc 02 sar \$0x2,%r12b,%r31b + \s*[a-f0-9]+:\s*62 fc 3c 18 d2 f8 sar %cl,%r16b,%r8b +-\s*[a-f0-9]+:\s*62 f4 04 10 d0 38 sarb \$1,\(%rax\),%r31b +-\s*[a-f0-9]+:\s*62 f4 04 10 c1 38 02 sarl \$0x2,\(%rax\),%r31d +-\s*[a-f0-9]+:\s*62 f4 05 10 d1 38 sarw \$1,\(%rax\),%r31w +-\s*[a-f0-9]+:\s*62 fc 05 10 d3 3c 83 sarw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 38 sar \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 38 02 sar \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 38 sar \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 3c 83 sar %cl,\(%r19,%rax,4\),%r31w + \s*[a-f0-9]+:\s*62 f4 0d 10 81 d8 34 12 sbb \$0x1234,%ax,%r30w + \s*[a-f0-9]+:\s*62 7c 6c 10 18 f9 sbb %r15b,%r17b,%r18b + \s*[a-f0-9]+:\s*62 54 6c 10 19 38 sbb %r15d,\(%r8\),%r18d + \s*[a-f0-9]+:\s*62 c4 3c 18 1a 04 07 sbb \(%r15,%rax,1\),%r16b,%r8b + \s*[a-f0-9]+:\s*62 c4 3d 18 1b 04 07 sbb \(%r15,%rax,1\),%r16w,%r8w +-\s*[a-f0-9]+:\s*62 fc 5c 10 83 1c 83 11 sbbl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 1c 83 11 sbb \$0x11,\(%r19,%rax,4\),%r20d + \s*[a-f0-9]+:\s*62 d4 04 10 c0 e4 02 shl \$0x2,%r12b,%r31b + \s*[a-f0-9]+:\s*62 d4 04 10 c0 e4 02 shl \$0x2,%r12b,%r31b + \s*[a-f0-9]+:\s*62 fc 3c 18 d2 e0 shl %cl,%r16b,%r8b + \s*[a-f0-9]+:\s*62 fc 3c 18 d2 e0 shl %cl,%r16b,%r8b +-\s*[a-f0-9]+:\s*62 f4 04 10 d0 20 shlb \$1,\(%rax\),%r31b +-\s*[a-f0-9]+:\s*62 f4 04 10 d0 20 shlb \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 20 shl \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 20 shl \$1,\(%rax\),%r31b + \s*[a-f0-9]+:\s*62 74 84 10 24 20 01 shld \$0x1,%r12,\(%rax\),%r31 + \s*[a-f0-9]+:\s*62 74 04 10 24 38 02 shld \$0x2,%r15d,\(%rax\),%r31d + \s*[a-f0-9]+:\s*62 54 05 10 24 c4 02 shld \$0x2,%r8w,%r12w,%r31w + \s*[a-f0-9]+:\s*62 7c bc 18 a5 e0 shld %cl,%r12,%r16,%r8 + \s*[a-f0-9]+:\s*62 7c 05 10 a5 2c 83 shld %cl,%r13w,\(%r19,%rax,4\),%r31w + \s*[a-f0-9]+:\s*62 74 05 10 a5 08 shld %cl,%r9w,\(%rax\),%r31w +-\s*[a-f0-9]+:\s*62 f4 04 10 c1 20 02 shll \$0x2,\(%rax\),%r31d +-\s*[a-f0-9]+:\s*62 f4 04 10 c1 20 02 shll \$0x2,\(%rax\),%r31d +-\s*[a-f0-9]+:\s*62 f4 05 10 d1 20 shlw \$1,\(%rax\),%r31w +-\s*[a-f0-9]+:\s*62 f4 05 10 d1 20 shlw \$1,\(%rax\),%r31w +-\s*[a-f0-9]+:\s*62 fc 05 10 d3 24 83 shlw %cl,\(%r19,%rax,4\),%r31w +-\s*[a-f0-9]+:\s*62 fc 05 10 d3 24 83 shlw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 20 02 shl \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 20 02 shl \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 20 shl \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 20 shl \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 24 83 shl %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 24 83 shl %cl,\(%r19,%rax,4\),%r31w + \s*[a-f0-9]+:\s*62 d4 04 10 c0 ec 02 shr \$0x2,%r12b,%r31b + \s*[a-f0-9]+:\s*62 fc 3c 18 d2 e8 shr %cl,%r16b,%r8b +-\s*[a-f0-9]+:\s*62 f4 04 10 d0 28 shrb \$1,\(%rax\),%r31b ++\s*[a-f0-9]+:\s*62 f4 04 10 d0 28 shr \$1,\(%rax\),%r31b + \s*[a-f0-9]+:\s*62 74 84 10 2c 20 01 shrd \$0x1,%r12,\(%rax\),%r31 + \s*[a-f0-9]+:\s*62 74 04 10 2c 38 02 shrd \$0x2,%r15d,\(%rax\),%r31d + \s*[a-f0-9]+:\s*62 54 05 10 2c c4 02 shrd \$0x2,%r8w,%r12w,%r31w + \s*[a-f0-9]+:\s*62 7c bc 18 ad e0 shrd %cl,%r12,%r16,%r8 + \s*[a-f0-9]+:\s*62 7c 05 10 ad 2c 83 shrd %cl,%r13w,\(%r19,%rax,4\),%r31w + \s*[a-f0-9]+:\s*62 74 05 10 ad 08 shrd %cl,%r9w,\(%rax\),%r31w +-\s*[a-f0-9]+:\s*62 f4 04 10 c1 28 02 shrl \$0x2,\(%rax\),%r31d +-\s*[a-f0-9]+:\s*62 f4 05 10 d1 28 shrw \$1,\(%rax\),%r31w +-\s*[a-f0-9]+:\s*62 fc 05 10 d3 2c 83 shrw %cl,\(%r19,%rax,4\),%r31w ++\s*[a-f0-9]+:\s*62 f4 04 10 c1 28 02 shr \$0x2,\(%rax\),%r31d ++\s*[a-f0-9]+:\s*62 f4 05 10 d1 28 shr \$1,\(%rax\),%r31w ++\s*[a-f0-9]+:\s*62 fc 05 10 d3 2c 83 shr %cl,\(%r19,%rax,4\),%r31w + \s*[a-f0-9]+:\s*62 f4 0d 10 81 e8 34 12 sub \$0x1234,%ax,%r30w + \s*[a-f0-9]+:\s*62 7c 6c 10 28 f9 sub %r15b,%r17b,%r18b + \s*[a-f0-9]+:\s*62 54 6c 10 29 38 sub %r15d,\(%r8\),%r18d + \s*[a-f0-9]+:\s*62 c4 3c 18 2a 04 07 sub \(%r15,%rax,1\),%r16b,%r8b + \s*[a-f0-9]+:\s*62 c4 3d 18 2b 04 07 sub \(%r15,%rax,1\),%r16w,%r8w +-\s*[a-f0-9]+:\s*62 fc 5c 10 83 2c 83 11 subl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 2c 83 11 sub \$0x11,\(%r19,%rax,4\),%r20d + \s*[a-f0-9]+:\s*62 f4 0d 10 81 f0 34 12 xor \$0x1234,%ax,%r30w + \s*[a-f0-9]+:\s*62 7c 6c 10 30 f9 xor %r15b,%r17b,%r18b + \s*[a-f0-9]+:\s*62 54 6c 10 31 38 xor %r15d,\(%r8\),%r18d + \s*[a-f0-9]+:\s*62 c4 3c 18 32 04 07 xor \(%r15,%rax,1\),%r16b,%r8b + \s*[a-f0-9]+:\s*62 c4 3d 18 33 04 07 xor \(%r15,%rax,1\),%r16w,%r8w +-\s*[a-f0-9]+:\s*62 fc 5c 10 83 34 83 11 xorl \$0x11,\(%r19,%rax,4\),%r20d ++\s*[a-f0-9]+:\s*62 fc 5c 10 83 34 83 11 xor \$0x11,\(%r19,%rax,4\),%r20d + #pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr-intel.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr-intel.d 2024-01-19 11:05:54.163131810 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr-intel.d 2024-01-19 11:21:33.384632701 +0000 +@@ -10,22 +10,28 @@ Disassembly of section \.text: + 0+ <_start>: + \s*[a-f0-9]+:\s*f2 45 0f 38 f8 f4\s+urdmsr r12,r14 + \s*[a-f0-9]+:\s*f2 44 0f 38 f8 f0\s+urdmsr rax,r14 ++\s*[a-f0-9]+:\s*62 64 7f 08 f8 c0\s+urdmsr rax,r24 + \s*[a-f0-9]+:\s*f2 41 0f 38 f8 d4\s+urdmsr r12,rdx ++\s*[a-f0-9]+:\s*62 fc 7f 08 f8 d6\s+urdmsr r22,rdx + \s*[a-f0-9]+:\s*f2 0f 38 f8 d0\s+urdmsr rax,rdx + \s*[a-f0-9]+:\s*c4 c7 7b f8 c4 0f 0f 12 03\s+urdmsr r12,0x3120f0f + \s*[a-f0-9]+:\s*c4 e7 7b f8 c0 0f 0f 12 03\s+urdmsr rax,0x3120f0f + \s*[a-f0-9]+:\s*c4 c7 7b f8 c4 7f 00 00 00\s+urdmsr r12,0x7f + \s*[a-f0-9]+:\s*c4 c7 7b f8 c4 ff 7f 00 00\s+urdmsr r12,0x7fff + \s*[a-f0-9]+:\s*c4 c7 7b f8 c4 00 00 00 80\s+urdmsr r12,0x80000000 ++\s*[a-f0-9]+:\s*62 ff 7f 08 f8 c6 00 00 00 80\s+urdmsr r22,0x80000000 + \s*[a-f0-9]+:\s*f3 45 0f 38 f8 f4\s+uwrmsr r14,r12 + \s*[a-f0-9]+:\s*f3 44 0f 38 f8 f0\s+uwrmsr r14,rax ++\s*[a-f0-9]+:\s*62 64 7e 08 f8 c0\s+uwrmsr r24,rax + \s*[a-f0-9]+:\s*f3 41 0f 38 f8 d4\s+uwrmsr rdx,r12 ++\s*[a-f0-9]+:\s*62 fc 7e 08 f8 d6\s+uwrmsr rdx,r22 + \s*[a-f0-9]+:\s*f3 0f 38 f8 d0\s+uwrmsr rdx,rax + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 0f 0f 12 03\s+uwrmsr 0x3120f0f,r12 + \s*[a-f0-9]+:\s*c4 e7 7a f8 c0 0f 0f 12 03\s+uwrmsr 0x3120f0f,rax + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 7f 00 00 00\s+uwrmsr 0x7f,r12 + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 ff 7f 00 00\s+uwrmsr 0x7fff,r12 + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 00 00 00 80\s+uwrmsr 0x80000000,r12 ++\s*[a-f0-9]+:\s*62 ff 7e 08 f8 c6 00 00 00 80\s+uwrmsr 0x80000000,r22 + \s*[a-f0-9]+:\s*f2 45 0f 38 f8 f4\s+urdmsr r12,r14 + \s*[a-f0-9]+:\s*f2 44 0f 38 f8 f0\s+urdmsr rax,r14 + \s*[a-f0-9]+:\s*f2 41 0f 38 f8 d4\s+urdmsr r12,rdx +@@ -44,3 +50,4 @@ Disassembly of section \.text: + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 7f 00 00 00\s+uwrmsr 0x7f,r12 + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 ff 7f 00 00\s+uwrmsr 0x7fff,r12 + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 00 00 00 80\s+uwrmsr 0x80000000,r12 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr.d binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr.d +--- binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr.d 2024-01-19 11:05:54.163131810 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr.d 2024-01-19 11:21:33.384632701 +0000 +@@ -10,22 +10,28 @@ Disassembly of section \.text: + 0+ <_start>: + \s*[a-f0-9]+:\s*f2 45 0f 38 f8 f4\s+urdmsr %r14,%r12 + \s*[a-f0-9]+:\s*f2 44 0f 38 f8 f0\s+urdmsr %r14,%rax ++\s*[a-f0-9]+:\s*62 64 7f 08 f8 c0\s+urdmsr %r24,%rax + \s*[a-f0-9]+:\s*f2 41 0f 38 f8 d4\s+urdmsr %rdx,%r12 ++\s*[a-f0-9]+:\s*62 fc 7f 08 f8 d6\s+urdmsr %rdx,%r22 + \s*[a-f0-9]+:\s*f2 0f 38 f8 d0\s+urdmsr %rdx,%rax + \s*[a-f0-9]+:\s*c4 c7 7b f8 c4 0f 0f 12 03\s+urdmsr \$0x3120f0f,%r12 + \s*[a-f0-9]+:\s*c4 e7 7b f8 c0 0f 0f 12 03\s+urdmsr \$0x3120f0f,%rax + \s*[a-f0-9]+:\s*c4 c7 7b f8 c4 7f 00 00 00\s+urdmsr \$0x7f,%r12 + \s*[a-f0-9]+:\s*c4 c7 7b f8 c4 ff 7f 00 00\s+urdmsr \$0x7fff,%r12 + \s*[a-f0-9]+:\s*c4 c7 7b f8 c4 00 00 00 80\s+urdmsr \$0x80000000,%r12 ++\s*[a-f0-9]+:\s*62 ff 7f 08 f8 c6 00 00 00 80\s+urdmsr \$0x80000000,%r22 + \s*[a-f0-9]+:\s*f3 45 0f 38 f8 f4\s+uwrmsr %r12,%r14 + \s*[a-f0-9]+:\s*f3 44 0f 38 f8 f0\s+uwrmsr %rax,%r14 ++\s*[a-f0-9]+:\s*62 64 7e 08 f8 c0\s+uwrmsr %rax,%r24 + \s*[a-f0-9]+:\s*f3 41 0f 38 f8 d4\s+uwrmsr %r12,%rdx ++\s*[a-f0-9]+:\s*62 fc 7e 08 f8 d6\s+uwrmsr %r22,%rdx + \s*[a-f0-9]+:\s*f3 0f 38 f8 d0\s+uwrmsr %rax,%rdx + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 0f 0f 12 03\s+uwrmsr %r12,\$0x3120f0f + \s*[a-f0-9]+:\s*c4 e7 7a f8 c0 0f 0f 12 03\s+uwrmsr %rax,\$0x3120f0f + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 7f 00 00 00\s+uwrmsr %r12,\$0x7f + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 ff 7f 00 00\s+uwrmsr %r12,\$0x7fff + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 00 00 00 80\s+uwrmsr %r12,\$0x80000000 ++\s*[a-f0-9]+:\s*62 ff 7e 08 f8 c6 00 00 00 80\s+uwrmsr %r22,\$0x80000000 + \s*[a-f0-9]+:\s*f2 45 0f 38 f8 f4\s+urdmsr %r14,%r12 + \s*[a-f0-9]+:\s*f2 44 0f 38 f8 f0\s+urdmsr %r14,%rax + \s*[a-f0-9]+:\s*f2 41 0f 38 f8 d4\s+urdmsr %rdx,%r12 +@@ -44,3 +50,4 @@ Disassembly of section \.text: + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 7f 00 00 00\s+uwrmsr %r12,\$0x7f + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 ff 7f 00 00\s+uwrmsr %r12,\$0x7fff + \s*[a-f0-9]+:\s*c4 c7 7a f8 c4 00 00 00 80\s+uwrmsr %r12,\$0x80000000 ++#pass +diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr.s binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr.s +--- binutils.orig/gas/testsuite/gas/i386/x86-64-user_msr.s 2024-01-19 11:05:54.163131810 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/x86-64-user_msr.s 2024-01-19 11:21:33.384632701 +0000 +@@ -4,22 +4,28 @@ + _start: + urdmsr %r14, %r12 + urdmsr %r14, %rax ++ urdmsr %r24, %rax + urdmsr %rdx, %r12 ++ urdmsr %rdx, %r22 + urdmsr %rdx, %rax + urdmsr $51515151, %r12 + urdmsr $51515151, %rax + urdmsr $0x7f, %r12 + urdmsr $0x7fff, %r12 + urdmsr $0x80000000, %r12 ++ urdmsr $0x80000000, %r22 + uwrmsr %r12, %r14 + uwrmsr %rax, %r14 ++ uwrmsr %rax, %r24 + uwrmsr %r12, %rdx ++ uwrmsr %r22, %rdx + uwrmsr %rax, %rdx + uwrmsr %r12, $51515151 + uwrmsr %rax, $51515151 + uwrmsr %r12, $0x7f + uwrmsr %r12, $0x7fff + uwrmsr %r12, $0x80000000 ++ uwrmsr %r22, $0x80000000 + + .intel_syntax noprefix + urdmsr r12, r14 +diff -rupN binutils.orig/opcodes/i386-dis-evex-mod.h binutils-2.41/opcodes/i386-dis-evex-mod.h +--- binutils.orig/opcodes/i386-dis-evex-mod.h 2024-01-19 11:05:54.402132504 +0000 ++++ binutils-2.41/opcodes/i386-dis-evex-mod.h 2024-01-19 11:21:33.384632701 +0000 +@@ -1 +1,10 @@ +-/* Nothing at present. */ ++ /* MOD_EVEX_MAP4_F8_P1 */ ++ { ++ { "enqcmds", { Gva, M }, 0 }, ++ { "uwrmsr", { Gq, Eq }, 0 }, ++ }, ++ /* MOD_EVEX_MAP4_F8_P3 */ ++ { ++ { "enqcmd", { Gva, M }, 0 }, ++ { "urdmsr", { Eq, Gq }, 0 }, ++ }, +diff -rupN binutils.orig/opcodes/i386-dis-evex-prefix.h binutils-2.41/opcodes/i386-dis-evex-prefix.h +--- binutils.orig/opcodes/i386-dis-evex-prefix.h 2024-01-19 11:05:54.402132504 +0000 ++++ binutils-2.41/opcodes/i386-dis-evex-prefix.h 2024-01-19 11:21:33.384632701 +0000 +@@ -392,9 +392,9 @@ + /* PREFIX_EVEX_MAP4_F8 */ + { + { Bad_Opcode }, +- { "enqcmds", { Gva, M }, 0 }, ++ { MOD_TABLE (MOD_EVEX_MAP4_F8_P_1) }, + { "movdir64b", { Gva, M }, 0 }, +- { "enqcmd", { Gva, M }, 0 }, ++ { MOD_TABLE (MOD_EVEX_MAP4_F8_P_3) }, + }, + /* PREFIX_EVEX_MAP5_10 */ + { +diff -rupN binutils.orig/opcodes/i386-dis.c binutils-2.41/opcodes/i386-dis.c +--- binutils.orig/opcodes/i386-dis.c 2024-01-19 11:05:54.402132504 +0000 ++++ binutils-2.41/opcodes/i386-dis.c 2024-01-19 11:21:44.239641168 +0000 +@@ -950,6 +950,9 @@ enum + MOD_0F38F8, + + MOD_VEX_0F3849_X86_64_L_0_W_0, ++ ++ MOD_EVEX_MAP4_F8_P_1, ++ MOD_EVEX_MAP4_F8_P_3, + }; + + enum +@@ -1356,6 +1359,7 @@ enum + EVEX_MAP4, + EVEX_MAP5, + EVEX_MAP6, ++ EVEX_MAP7, + }; + + enum +@@ -1765,7 +1769,7 @@ struct dis386 { + }; + + /* Upper case letters in the instruction names here are macros. +- 'A' => print 'b' if no register operands or suffix_always is true ++ 'A' => print 'b' if no (suitable) register operand or suffix_always is true + 'B' => print 'b' if suffix_always is true + 'C' => print 's' or 'l' ('w' or 'd' in Intel mode) depending on operand + size prefix +@@ -1784,8 +1788,8 @@ struct dis386 { + 'O' => print 'd' or 'o' (or 'q' in Intel mode) + 'P' => behave as 'T' except with register operand outside of suffix_always + mode +- 'Q' => print 'w', 'l' or 'q' for memory operand or suffix_always +- is true ++ 'Q' => print 'w', 'l' or 'q' if no (suitable) register operand or ++ suffix_always is true + 'R' => print 'w', 'l' or 'q' ('d' for 'l' and 'e' in Intel mode) + 'S' => print 'w', 'l' or 'q' if suffix_always is true + 'T' => print 'w', 'l'/'d', or 'q' if instruction has an operand size +@@ -9090,6 +9094,9 @@ get_valid_dis386 (const struct dis386 *d + case 0x6: + vex_table_index = EVEX_MAP6; + break; ++ case 0x7: ++ vex_table_index = EVEX_MAP7; ++ break; + } + + /* The second byte after 0x62. */ +@@ -9159,7 +9166,12 @@ get_valid_dis386 (const struct dis386 *d + + ins->codep++; + vindex = *ins->codep++; +- dp = &evex_table[vex_table_index][vindex]; ++ if (vex_table_index != EVEX_MAP7) ++ dp = &evex_table[vex_table_index][vindex]; ++ else if (vindex == 0xf8) ++ dp = &map7_f8_opcode; ++ else ++ dp = &bad_opcode; + ins->end_codep = ins->codep; + if (!fetch_modrm (ins)) + return &err_opcode; +@@ -10404,7 +10416,7 @@ putop (instr_info *ins, const char *in_t + case 'A': + if (ins->intel_syntax) + break; +- if ((ins->need_modrm && ins->modrm.mod != 3) ++ if ((ins->need_modrm && ins->modrm.mod != 3 && !ins->vex.nd) + || (sizeflag & SUFFIX_ALWAYS)) + *ins->obufp++ = 'b'; + break; +@@ -10703,7 +10715,7 @@ putop (instr_info *ins, const char *in_t + if (ins->intel_syntax && !alt) + break; + USED_REX (REX_W); +- if ((ins->need_modrm && ins->modrm.mod != 3) ++ if ((ins->need_modrm && ins->modrm.mod != 3 && !ins->vex.nd) + || (sizeflag & SUFFIX_ALWAYS)) + { + if (ins->rex & REX_W) +diff -rupN binutils.orig/opcodes/i386-opc.tbl binutils-2.41/opcodes/i386-opc.tbl +--- binutils.orig/opcodes/i386-opc.tbl 2024-01-19 11:05:54.402132504 +0000 ++++ binutils-2.41/opcodes/i386-opc.tbl 2024-01-19 11:21:33.385632702 +0000 +@@ -1790,6 +1790,10 @@ vrcpps, 0x53, AVX, Modrm|Vex|Space0F|Vex + vrcpss, 0xf353, AVX, Modrm|Vex=3|Space0F|VexVVVV|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } + vroundp, 0x6608 | , AVX, Modrm|Vex|Space0F3A|VexWIG|CheckOperandSize|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } + vrounds, 0x660a | , AVX, Modrm|VexLIG|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8, |Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++// These are really clones of VRNDSCALE{P,S}{S,D}, with broadcast, masking, SAE, ++// 512-bit operand size, and register sources dropped. ++vroundp, 0x6608 | , APX_F, Modrm|Space0F3A||Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM } ++vrounds, 0x660a | , APX_F, Modrm|EVexLIG|Space0F3A|VexVVVV||Disp8MemShift|NoSuf, { Imm8, |Unspecified|BaseIndex, RegXMM, RegXMM } + vrsqrtps, 0x52, AVX, Modrm|Vex|Space0F|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } + vrsqrtss, 0xf352, AVX, Modrm|Vex=3|Space0F|VexVVVV|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } + vshufp, 0xc6, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } +@@ -3482,11 +3486,13 @@ eretu, 0xf30f01ca, FRED, NoSuf, {} + // USER_MSR instructions. + + urdmsr, 0xf20f38f8, USER_MSR, RegMem|NoSuf|NoRex64, { Reg64, Reg64 } +-urdmsr, 0xf2f8/0, USER_MSR, Modrm|Vex128|VexMap7|VexW0|NoSuf, { Imm32, Reg64 } ++urdmsr, 0xf2f8, USER_MSR&APX_F, RegMem|EVexMap4|VexW0|NoSuf, { Reg64, Reg64 } ++urdmsr, 0xf2f8/0, APX_F(USER_MSR), Modrm|Vex128|VexMap7|EVex128|VexW0|NoSuf, { Imm32, Reg64 } + uwrmsr, 0xf30f38f8, USER_MSR, Modrm|NoSuf|NoRex64, { Reg64, Reg64 } ++uwrmsr, 0xf3f8, USER_MSR&APX_F, Modrm||EVexMap4|VexW0|NoSuf, { Reg64, Reg64 } + // Immediates want to be first; md_assemble() takes care of swapping operands + // accordingly. +-uwrmsr, 0xf3f8/0, USER_MSR, Modrm|Vex128|VexMap7|VexW0|NoSuf, { Imm32, Reg64 } ++uwrmsr, 0xf3f8/0, APX_F(USER_MSR), Modrm|Vex128|VexMap7|EVex128|VexW0|NoSuf, { Imm32, Reg64 } + + // USER_MSR instructions end. + +diff -rupN binutils.orig/opcodes/i386-tbl.h binutils-2.41/opcodes/i386-tbl.h +--- binutils.orig/opcodes/i386-tbl.h 2024-01-19 11:05:54.402132504 +0000 ++++ binutils-2.41/opcodes/i386-tbl.h 2024-01-19 11:26:45.329949982 +0000 +@@ -25292,6 +25292,18 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vroundps, 0x08 | 0, 3, SPACE_0F3A, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, + { MN_vroundpd, 0x08 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -25304,6 +25316,18 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vroundpd, 0x08 | 1, 3, SPACE_0F3A, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, + { MN_vroundss, 0x0a | 0, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -25318,6 +25342,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_vroundss, 0x0a | 0, 4, SPACE_0F3A, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_vroundsd, 0x0a | 1, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -25332,6 +25370,20 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_vroundsd, 0x0a | 1, 4, SPACE_0F3A, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrsqrtps, 0x52, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -41152,12 +41204,22 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_urdmsr, 0xf8, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 98, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_urdmsr, 0xf8, 2, SPACE_VEXMAP7, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 1, 0, 1, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 98, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -41172,12 +41234,22 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, ++ { MN_uwrmsr, 0xf8, 2, SPACE_EVEXMAP4, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, ++ { { 98, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } }, ++ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 0, 0, 0 } } } }, + { MN_uwrmsr, 0xf8, 2, SPACE_VEXMAP7, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0, 0, 0, 1, 0, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 }, + { { 98, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, + { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -41376,153 +41448,153 @@ static const i386_op_off_t i386_op_sets[ + 2373, 2377, 2379, 2383, 2387, 2391, 2395, 2399, + 2401, 2405, 2407, 2409, 2411, 2413, 2415, 2417, + 2419, 2421, 2422, 2424, 2426, 2428, 2430, 2432, +- 2434, 2436, 2438, 2439, 2440, 2441, 2442, 2443, +- 2444, 2445, 2446, 2447, 2449, 2451, 2453, 2455, +- 2457, 2459, 2460, 2462, 2464, 2466, 2468, 2469, +- 2470, 2472, 2474, 2476, 2478, 2480, 2482, 2484, +- 2486, 2487, 2488, 2489, 2490, 2493, 2496, 2498, +- 2501, 2502, 2503, 2505, 2506, 2508, 2509, 2510, +- 2512, 2514, 2515, 2516, 2517, 2518, 2519, 2522, +- 2527, 2532, 2537, 2542, 2545, 2550, 2555, 2557, +- 2559, 2561, 2563, 2564, 2565, 2567, 2569, 2571, +- 2573, 2575, 2577, 2579, 2580, 2581, 2582, 2583, +- 2584, 2585, 2590, 2595, 2596, 2597, 2598, 2599, +- 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, +- 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, +- 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, +- 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, +- 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, +- 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, +- 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, +- 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, +- 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, +- 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, +- 2680, 2681, 2682, 2683, 2684, 2685, 2686, 2687, +- 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, +- 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, +- 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711, +- 2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, +- 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, +- 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, +- 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, +- 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, +- 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, +- 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, +- 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, +- 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, +- 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, +- 2792, 2793, 2794, 2795, 2796, 2798, 2800, 2801, +- 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, +- 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, +- 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, +- 2826, 2827, 2828, 2830, 2832, 2834, 2836, 2837, +- 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, +- 2846, 2847, 2848, 2849, 2851, 2852, 2853, 2854, +- 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, +- 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2870, +- 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, +- 2879, 2880, 2881, 2882, 2883, 2884, 2885, 2886, +- 2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, +- 2895, 2896, 2898, 2900, 2901, 2902, 2904, 2905, +- 2907, 2909, 2910, 2911, 2913, 2915, 2916, 2917, +- 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, +- 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, +- 2936, 2939, 2940, 2941, 2942, 2943, 2944, 2945, +- 2947, 2949, 2951, 2952, 2953, 2955, 2957, 2959, +- 2961, 2965, 2967, 2969, 2970, 2971, 2972, 2973, +- 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, +- 2982, 2983, 2984, 2985, 2986, 2987, 2990, 2993, +- 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, +- 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, +- 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, +- 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, +- 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, +- 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, +- 3042, 3043, 3044, 3045, 3046, 3047, 3050, 3052, +- 3055, 3058, 3060, 3063, 3066, 3069, 3072, 3073, +- 3076, 3077, 3078, 3079, 3080, 3081, 3085, 3087, +- 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, +- 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, +- 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, +- 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, +- 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, +- 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, +- 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, +- 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, +- 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, +- 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, +- 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, +- 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, +- 3189, 3192, 3195, 3198, 3201, 3204, 3207, 3210, +- 3213, 3216, 3219, 3222, 3225, 3228, 3231, 3232, +- 3233, 3234, 3235, 3237, 3238, 3239, 3240, 3241, +- 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, +- 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, +- 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, +- 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, +- 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, +- 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, +- 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, +- 3298, 3301, 3304, 3305, 3306, 3307, 3308, 3309, +- 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, +- 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, +- 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, +- 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, +- 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, +- 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, +- 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, +- 3366, 3369, 3372, 3375, 3376, 3377, 3378, 3379, +- 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, +- 3388, 3389, 3390, 3391, 3394, 3397, 3398, 3399, +- 3402, 3403, 3404, 3405, 3406, 3409, 3412, 3415, +- 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, +- 3424, 3425, 3427, 3429, 3430, 3431, 3432, 3433, +- 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, +- 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, +- 3450, 3451, 3452, 3453, 3454, 3456, 3458, 3459, +- 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, +- 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, +- 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, +- 3485, 3487, 3489, 3491, 3492, 3493, 3494, 3495, +- 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, +- 3504, 3505, 3506, 3508, 3509, 3511, 3514, 3516, +- 3517, 3518, 3520, 3522, 3523, 3524, 3525, 3526, +- 3527, 3528, 3530, 3532, 3534, 3536, 3537, 3538, +- 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3547, +- 3549, 3550, 3552, 3554, 3555, 3560, 3562, 3564, +- 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3573, +- 3575, 3576, 3577, 3578, 3580, 3583, 3586, 3589, +- 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, +- 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, +- 3607, 3608, 3609, 3610, 3611, 3613, 3615, 3617, +- 3619, 3621, 3623, 3625, 3627, 3629, 3631, 3632, +- 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640, +- 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, +- 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, +- 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, +- 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, +- 3673, 3674, 3675, 3676, 3677, 3678, 3679, 3680, +- 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, +- 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, +- 3697, 3698, 3699, 3700, 3701, 3702, 3703, 3704, +- 3705, 3706, 3707, 3708, 3709, 3710, 3711, 3712, +- 3713, 3714, 3715, 3716, 3717, 3718, 3719, 3720, +- 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, +- 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, +- 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3746, +- 3747, 3748, 3751, 3752, 3753, 3755, 3756, 3757, +- 3758, 3760, 3761, 3762, 3763, 3765, 3766, 3767, +- 3768, 3771, 3772, 3773, 3774, 3775, 3778, 3781, +- 3784, 3787, 3790, 3791, 3792, 3793, 3794, 3796, +- 3798, 3799, 3800, 3801, 3804, 3807, 3810, 3813, +- 3816, 3817, 3818, 3819, 3821, 3822, 3823, 3824, +- 3826, 3827, 3828, 3829, 3830, 3831, 3832, 3833, +- 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, +- 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849, +- 3850, 3851, 3852, 3853, 3854, 3855, 3856, 3857, +- 3858, 3859, 3860, 3861, 3862, 3863, 3864, 3865, +- 3867, 3869, 3871, 3873, 3875, 3876, 3877, 3879, +- 3881, 3882, 3883, 3884, 3885 ++ 2434, 2436, 2438, 2439, 2440, 2441, 2443, 2445, ++ 2447, 2449, 2450, 2451, 2453, 2455, 2457, 2459, ++ 2461, 2463, 2464, 2466, 2468, 2470, 2472, 2473, ++ 2474, 2476, 2478, 2480, 2482, 2484, 2486, 2488, ++ 2490, 2491, 2492, 2493, 2494, 2497, 2500, 2502, ++ 2505, 2506, 2507, 2509, 2510, 2512, 2513, 2514, ++ 2516, 2518, 2519, 2520, 2521, 2522, 2523, 2526, ++ 2531, 2536, 2541, 2546, 2549, 2554, 2559, 2561, ++ 2563, 2565, 2567, 2568, 2569, 2571, 2573, 2575, ++ 2577, 2579, 2581, 2583, 2584, 2585, 2586, 2587, ++ 2588, 2589, 2594, 2599, 2600, 2601, 2602, 2603, ++ 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, ++ 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, ++ 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627, ++ 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, ++ 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, ++ 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, ++ 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, ++ 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, ++ 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, ++ 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, ++ 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, ++ 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699, ++ 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, ++ 2708, 2709, 2710, 2711, 2712, 2713, 2714, 2715, ++ 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723, ++ 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, ++ 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739, ++ 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, ++ 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, ++ 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, ++ 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, ++ 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2779, ++ 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, ++ 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, ++ 2796, 2797, 2798, 2799, 2800, 2802, 2804, 2805, ++ 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, ++ 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, ++ 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, ++ 2830, 2831, 2832, 2834, 2836, 2838, 2840, 2841, ++ 2842, 2843, 2844, 2845, 2846, 2847, 2848, 2849, ++ 2850, 2851, 2852, 2853, 2855, 2856, 2857, 2858, ++ 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866, ++ 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, ++ 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, ++ 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2890, ++ 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, ++ 2899, 2900, 2902, 2904, 2905, 2906, 2908, 2909, ++ 2911, 2913, 2914, 2915, 2917, 2919, 2920, 2921, ++ 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, ++ 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937, ++ 2940, 2943, 2944, 2945, 2946, 2947, 2948, 2949, ++ 2951, 2953, 2955, 2956, 2957, 2959, 2961, 2963, ++ 2965, 2969, 2971, 2973, 2974, 2975, 2976, 2977, ++ 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, ++ 2986, 2987, 2988, 2989, 2990, 2991, 2994, 2997, ++ 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, ++ 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, ++ 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, ++ 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, ++ 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, ++ 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, ++ 3046, 3047, 3048, 3049, 3050, 3051, 3054, 3056, ++ 3059, 3062, 3064, 3067, 3070, 3073, 3076, 3077, ++ 3080, 3081, 3082, 3083, 3084, 3085, 3089, 3091, ++ 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, ++ 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, ++ 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, ++ 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, ++ 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, ++ 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, ++ 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, ++ 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, ++ 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, ++ 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, ++ 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, ++ 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, ++ 3193, 3196, 3199, 3202, 3205, 3208, 3211, 3214, ++ 3217, 3220, 3223, 3226, 3229, 3232, 3235, 3236, ++ 3237, 3238, 3239, 3241, 3242, 3243, 3244, 3245, ++ 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, ++ 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, ++ 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, ++ 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, ++ 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, ++ 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, ++ 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, ++ 3302, 3305, 3308, 3309, 3310, 3311, 3312, 3313, ++ 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, ++ 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, ++ 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, ++ 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, ++ 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, ++ 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, ++ 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, ++ 3370, 3373, 3376, 3379, 3380, 3381, 3382, 3383, ++ 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, ++ 3392, 3393, 3394, 3395, 3398, 3401, 3402, 3403, ++ 3406, 3407, 3408, 3409, 3410, 3413, 3416, 3419, ++ 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, ++ 3428, 3429, 3431, 3433, 3434, 3435, 3436, 3437, ++ 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, ++ 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, ++ 3454, 3455, 3456, 3457, 3458, 3460, 3462, 3463, ++ 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, ++ 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, ++ 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487, ++ 3489, 3491, 3493, 3495, 3496, 3497, 3498, 3499, ++ 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507, ++ 3508, 3509, 3510, 3512, 3513, 3515, 3518, 3520, ++ 3521, 3522, 3524, 3526, 3527, 3528, 3529, 3530, ++ 3531, 3532, 3534, 3536, 3538, 3540, 3541, 3542, ++ 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3551, ++ 3553, 3554, 3556, 3558, 3559, 3564, 3566, 3568, ++ 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3577, ++ 3579, 3580, 3581, 3582, 3584, 3587, 3590, 3593, ++ 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, ++ 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, ++ 3611, 3612, 3613, 3614, 3615, 3617, 3619, 3621, ++ 3623, 3625, 3627, 3629, 3631, 3633, 3635, 3636, ++ 3637, 3638, 3639, 3640, 3641, 3642, 3643, 3644, ++ 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, ++ 3653, 3654, 3655, 3656, 3657, 3658, 3659, 3660, ++ 3661, 3662, 3663, 3664, 3665, 3666, 3667, 3668, ++ 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, ++ 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, ++ 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, ++ 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700, ++ 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, ++ 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716, ++ 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, ++ 3725, 3726, 3727, 3728, 3729, 3730, 3731, 3732, ++ 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, ++ 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3750, ++ 3751, 3752, 3755, 3756, 3757, 3759, 3760, 3761, ++ 3762, 3764, 3765, 3766, 3767, 3769, 3770, 3771, ++ 3772, 3775, 3776, 3777, 3778, 3779, 3782, 3785, ++ 3788, 3791, 3794, 3795, 3796, 3797, 3798, 3800, ++ 3802, 3803, 3804, 3805, 3808, 3811, 3814, 3817, ++ 3820, 3821, 3822, 3823, 3825, 3826, 3827, 3828, ++ 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, ++ 3838, 3839, 3840, 3841, 3842, 3843, 3844, 3845, ++ 3846, 3847, 3848, 3849, 3850, 3851, 3852, 3853, ++ 3854, 3855, 3856, 3857, 3858, 3859, 3860, 3861, ++ 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, ++ 3871, 3873, 3875, 3877, 3879, 3880, 3881, 3884, ++ 3887, 3888, 3889, 3890, 3891 + }; + + /* i386 mnemonics table. */ +diff -rup binutils.orig/elfcpp/x86_64.h binutils-2.41/elfcpp/x86_64.h +--- binutils.orig/elfcpp/x86_64.h 2024-01-22 11:32:09.151805489 +0000 ++++ binutils-2.41/elfcpp/x86_64.h 2024-01-22 11:32:48.111841977 +0000 +@@ -95,9 +95,21 @@ enum + R_X86_64_PC32_BND = 39, // PC relative 32 bit signed with BND prefix + R_X86_64_PLT32_BND = 40, // 32 bit PLT address with BND prefix + R_X86_64_GOTPCRELX = 41, // 32 bit signed PC relative offset to GOT +- // without REX prefix, relaxable. ++ // without REX nor REX2 prefixes, relaxable. + R_X86_64_REX_GOTPCRELX = 42, // 32 bit signed PC relative offset to GOT + // with REX prefix, relaxable. ++ R_X86_64_CODE_4_GOTPCRELX = 43, // 32 bit signed PC relative offset to ++ // GOT if the instruction starts at 4 ++ // bytes before the relocation offset, ++ // relaxable. ++ R_X86_64_CODE_4_GOTTPOFF = 44, // 32 bit signed PC relative offset to ++ // GOT entry for IE symbol if the ++ // instruction starts at 4 bytes before ++ // the relocation offset. ++ R_X86_64_CODE_4_GOTPC32_TLSDESC = 45, // 32-bit PC relative to TLS ++ // descriptor in GOT if the ++ // instruction starts at 4 bytes ++ // before the relocation offset. + // GNU vtable garbage collection extensions. + R_X86_64_GNU_VTINHERIT = 250, + R_X86_64_GNU_VTENTRY = 251 +diff -rup binutils.orig/gold/testsuite/Makefile.am binutils-2.41/gold/testsuite/Makefile.am +--- binutils.orig/gold/testsuite/Makefile.am 2024-01-22 11:32:09.869806294 +0000 ++++ binutils-2.41/gold/testsuite/Makefile.am 2024-01-22 11:32:48.112841978 +0000 +@@ -1244,6 +1244,17 @@ x86_64_gd_to_le: x86_64_gd_to_le.o gccte + x86_64_gd_to_le.stdout: x86_64_gd_to_le + $(TEST_OBJDUMP) -dw $< > $@ + ++check_SCRIPTS += x86_64_ie_to_le.sh ++check_DATA += x86_64_ie_to_le.stdout ++MOSTLYCLEANFILES += x86_64_ie_to_le ++ ++x86_64_ie_to_le.o: x86_64_ie_to_le.s ++ $(TEST_AS) --64 -o $@ $< ++x86_64_ie_to_le: x86_64_ie_to_le.o gcctestdir/ld ++ gcctestdir/ld -o $@ $< ++x86_64_ie_to_le.stdout: x86_64_ie_to_le ++ $(TEST_OBJDUMP) -dw $< > $@ ++ + check_SCRIPTS += x86_64_overflow_pc32.sh + check_DATA += x86_64_overflow_pc32.err + MOSTLYCLEANFILES += x86_64_overflow_pc32.err +diff -rup binutils.orig/gold/testsuite/Makefile.in binutils-2.41/gold/testsuite/Makefile.in +--- binutils.orig/gold/testsuite/Makefile.in 2024-01-22 11:32:09.870806295 +0000 ++++ binutils-2.41/gold/testsuite/Makefile.in 2024-01-22 11:32:48.113841979 +0000 +@@ -296,6 +296,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__E + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_31 = x86_64_mov_to_lea.sh \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_indirect_call_to_direct.sh \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_gd_to_le.sh \ ++@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_ie_to_le.sh \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_overflow_pc32.sh \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x32_overflow_pc32.sh \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr23016_1.sh \ +@@ -319,6 +320,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__E + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_indirect_call_to_direct1.stdout \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_indirect_jump_to_direct1.stdout \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_gd_to_le.stdout \ ++@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_ie_to_le.stdout \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_overflow_pc32.err \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x32_overflow_pc32.err \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr23016_1.stdout \ +@@ -343,6 +345,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__E + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_indirect_call_to_direct1 \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_indirect_jump_to_direct1 \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_gd_to_le \ ++@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_ie_to_le \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_overflow_pc32.err \ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x32_overflow_pc32.err + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_34 = pr17704a_test +@@ -5736,6 +5739,13 @@ x86_64_gd_to_le.sh.log: x86_64_gd_to_le. + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) ++x86_64_ie_to_le.sh.log: x86_64_ie_to_le.sh ++ @p='x86_64_ie_to_le.sh'; \ ++ b='x86_64_ie_to_le.sh'; \ ++ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ ++ --log-file $$b.log --trs-file $$b.trs \ ++ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ ++ "$$tst" $(AM_TESTS_FD_REDIRECT) + x86_64_overflow_pc32.sh.log: x86_64_overflow_pc32.sh + @p='x86_64_overflow_pc32.sh'; \ + b='x86_64_overflow_pc32.sh'; \ +@@ -8474,6 +8484,13 @@ uninstall-am: + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -o $@ $< + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@x86_64_gd_to_le.stdout: x86_64_gd_to_le + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -dw $< > $@ ++ ++@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@x86_64_ie_to_le.o: x86_64_ie_to_le.s ++@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AS) --64 -o $@ $< ++@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@x86_64_ie_to_le: x86_64_ie_to_le.o gcctestdir/ld ++@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -o $@ $< ++@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@x86_64_ie_to_le.stdout: x86_64_ie_to_le ++@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -dw $< > $@ + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@x86_64_overflow_pc32.o: x86_64_overflow_pc32.s + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AS) -o $@ $< + @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@x86_64_overflow_pc32.err: x86_64_overflow_pc32.o gcctestdir/ld +diff -rup binutils.orig/gold/testsuite/x86_64_gd_to_le.s binutils-2.41/gold/testsuite/x86_64_gd_to_le.s +--- binutils.orig/gold/testsuite/x86_64_gd_to_le.s 2024-01-22 11:32:09.886806313 +0000 ++++ binutils-2.41/gold/testsuite/x86_64_gd_to_le.s 2024-01-22 11:32:48.113841979 +0000 +@@ -7,6 +7,7 @@ _start: + subq $8, %rsp + .cfi_def_cfa_offset 16 + leaq foo@TLSDESC(%rip), %r9 ++ leaq foo@TLSDESC(%rip), %r29 + movq %r9, %rax + call *foo@TLSCALL(%rax) + addq %fs:0, %rax +diff -rup binutils.orig/gold/testsuite/x86_64_gd_to_le.sh binutils-2.41/gold/testsuite/x86_64_gd_to_le.sh +--- binutils.orig/gold/testsuite/x86_64_gd_to_le.sh 2024-01-22 11:32:09.886806313 +0000 ++++ binutils-2.41/gold/testsuite/x86_64_gd_to_le.sh 2024-01-22 11:32:48.113841979 +0000 +@@ -24,3 +24,4 @@ + set -e + + grep -q "mov[ \t]\+\$0x[a-f0-9]\+,%r9" x86_64_gd_to_le.stdout ++grep -q "mov[ \t]\+\$0x[a-f0-9]\+,%r29" x86_64_gd_to_le.stdout +diff -rup binutils.orig/gold/testsuite/x86_64_mov_to_lea.sh binutils-2.41/gold/testsuite/x86_64_mov_to_lea.sh +--- binutils.orig/gold/testsuite/x86_64_mov_to_lea.sh 2024-01-22 11:32:09.886806313 +0000 ++++ binutils-2.41/gold/testsuite/x86_64_mov_to_lea.sh 2024-01-22 11:32:40.599835054 +0000 +@@ -25,20 +25,36 @@ + set -e + + grep -q "lea -0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea1.stdout ++grep -q "lea -0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea1.stdout + grep -q "lea -0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea2.stdout ++grep -q "lea -0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea2.stdout + grep -q "lea -0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea3.stdout ++grep -q "lea -0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea3.stdout + grep -q "lea -0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea4.stdout ++grep -q "lea -0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea4.stdout + grep -q "lea -0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea5.stdout ++grep -q "lea -0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea5.stdout + grep -q "lea -0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea6.stdout ++grep -q "lea -0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea6.stdout + grep -q "mov 0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea7.stdout ++grep -q "mov 0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea7.stdout + grep -q "mov 0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea8.stdout ++grep -q "mov 0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea8.stdout + grep -q "lea -0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea9.stdout ++grep -q "lea -0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea9.stdout + grep -q "lea -0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea10.stdout ++grep -q "lea -0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea10.stdout + grep -q "mov 0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea11.stdout ++grep -q "mov 0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea11.stdout + grep -q "mov 0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea12.stdout ++grep -q "mov 0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea12.stdout + grep -q "lea -0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea13.stdout ++grep -q "lea -0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea13.stdout + grep -q "lea -0x[a-f0-9]\+(%rip),%rax" x86_64_mov_to_lea14.stdout ++grep -q "lea -0x[a-f0-9]\+(%rip),%r26" x86_64_mov_to_lea14.stdout + grep -q "mov 0x[a-f0-9]\+(%rip),%eax" x86_64_mov_to_lea15.stdout ++grep -q "mov 0x[a-f0-9]\+(%rip),%r26d" x86_64_mov_to_lea15.stdout + grep -q "mov 0x[a-f0-9]\+(%rip),%eax" x86_64_mov_to_lea16.stdout ++grep -q "mov 0x[a-f0-9]\+(%rip),%r26d" x86_64_mov_to_lea16.stdout + + exit 0 +diff -rup binutils.orig/gold/testsuite/x86_64_mov_to_lea1.s binutils-2.41/gold/testsuite/x86_64_mov_to_lea1.s +--- binutils.orig/gold/testsuite/x86_64_mov_to_lea1.s 2024-01-22 11:32:09.886806313 +0000 ++++ binutils-2.41/gold/testsuite/x86_64_mov_to_lea1.s 2024-01-22 11:32:40.599835054 +0000 +@@ -8,4 +8,5 @@ foo: + .type _start, @function + _start: + movq foo@GOTPCREL(%rip), %rax ++ movq foo@GOTPCREL(%rip), %r26 + .size _start, .-_start +diff -rup binutils.orig/gold/testsuite/x86_64_mov_to_lea2.s binutils-2.41/gold/testsuite/x86_64_mov_to_lea2.s +--- binutils.orig/gold/testsuite/x86_64_mov_to_lea2.s 2024-01-22 11:32:09.887806314 +0000 ++++ binutils-2.41/gold/testsuite/x86_64_mov_to_lea2.s 2024-01-22 11:32:40.599835054 +0000 +@@ -3,4 +3,5 @@ + .type _start, @function + _start: + movq _DYNAMIC@GOTPCREL(%rip), %rax ++ movq _DYNAMIC@GOTPCREL(%rip), %r26 + .size _start, .-_start +diff -rup binutils.orig/gold/testsuite/x86_64_mov_to_lea3.s binutils-2.41/gold/testsuite/x86_64_mov_to_lea3.s +--- binutils.orig/gold/testsuite/x86_64_mov_to_lea3.s 2024-01-22 11:32:09.887806314 +0000 ++++ binutils-2.41/gold/testsuite/x86_64_mov_to_lea3.s 2024-01-22 11:32:40.599835054 +0000 +@@ -7,4 +7,5 @@ foo: + .type _start, @function + _start: + movq foo@GOTPCREL(%rip), %rax ++ movq foo@GOTPCREL(%rip), %r26 + .size _start, .-_start +diff -rup binutils.orig/gold/testsuite/x86_64_mov_to_lea4.s binutils-2.41/gold/testsuite/x86_64_mov_to_lea4.s +--- binutils.orig/gold/testsuite/x86_64_mov_to_lea4.s 2024-01-22 11:32:09.887806314 +0000 ++++ binutils-2.41/gold/testsuite/x86_64_mov_to_lea4.s 2024-01-22 11:32:40.599835054 +0000 +@@ -9,4 +9,5 @@ foo: + .type _start, @function + _start: + movq foo@GOTPCREL(%rip), %rax ++ movq foo@GOTPCREL(%rip), %r26 + .size _start, .-_start +diff -rup binutils.orig/gold/testsuite/x86_64_mov_to_lea5.s binutils-2.41/gold/testsuite/x86_64_mov_to_lea5.s +--- binutils.orig/gold/testsuite/x86_64_mov_to_lea5.s 2024-01-22 11:32:09.887806314 +0000 ++++ binutils-2.41/gold/testsuite/x86_64_mov_to_lea5.s 2024-01-22 11:32:40.599835054 +0000 +@@ -9,4 +9,5 @@ foo: + .type _start, @function + _start: + movl foo@GOTPCREL+4(%rip), %eax ++ movl foo@GOTPCREL+4(%rip), %r26d + .size _start, .-_start +diff -rup binutils.orig/gold/x86_64.cc binutils-2.41/gold/x86_64.cc +--- binutils.orig/gold/x86_64.cc 2024-01-22 11:32:09.889806316 +0000 ++++ binutils-2.41/gold/x86_64.cc 2024-01-22 11:32:48.114841980 +0000 +@@ -1053,8 +1053,9 @@ class Target_x86_64 : public Sized_targe + gold_assert(gsym != NULL); + // We cannot do the conversion unless it's one of these relocations. + if (r_type != elfcpp::R_X86_64_GOTPCREL +- && r_type != elfcpp::R_X86_64_GOTPCRELX +- && r_type != elfcpp::R_X86_64_REX_GOTPCRELX) ++ && r_type != elfcpp::R_X86_64_GOTPCRELX ++ && r_type != elfcpp::R_X86_64_REX_GOTPCRELX ++ && r_type != elfcpp::R_X86_64_CODE_4_GOTPCRELX) + return false; + // We cannot convert references to IFUNC symbols, or to symbols that + // are not local to the current module. +@@ -1109,7 +1110,8 @@ class Target_x86_64 : public Sized_targe + // Adjust TLS relocation type based on the options and whether this + // is a local symbol. + static tls::Tls_optimization +- optimize_tls_reloc(bool is_final, int r_type); ++ optimize_tls_reloc(bool is_final, int r_type, size_t r_offset, ++ const unsigned char* reloc_view); + + // Get the GOT section, creating it if necessary. + Output_data_got<64, false>* +@@ -2877,11 +2879,13 @@ Target_x86_64::got_mod_index_entry + + // Optimize the TLS relocation type based on what we know about the + // symbol. IS_FINAL is true if the final address of this symbol is +-// known at link time. ++// known at link time. RELOC_VIEW points to the relocation offset. + + template + tls::Tls_optimization +-Target_x86_64::optimize_tls_reloc(bool is_final, int r_type) ++Target_x86_64::optimize_tls_reloc(bool is_final, int r_type, ++ size_t r_offset, ++ const unsigned char* reloc_view) + { + // If we are generating a shared library, then we can't do anything + // in the linker. +@@ -2890,6 +2894,10 @@ Target_x86_64::optimize_tls_reloc( + + switch (r_type) + { ++ case elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC: ++ if (r_offset <= 4 || *(reloc_view - 4) != 0xd5) ++ return tls::TLSOPT_NONE; ++ // Fall through. + case elfcpp::R_X86_64_TLSGD: + case elfcpp::R_X86_64_GOTPC32_TLSDESC: + case elfcpp::R_X86_64_TLSDESC_CALL: +@@ -2912,6 +2920,10 @@ Target_x86_64::optimize_tls_reloc( + // Another Local-Dynamic reloc. + return tls::TLSOPT_TO_LE; + ++ case elfcpp::R_X86_64_CODE_4_GOTTPOFF: ++ if (r_offset <= 4 || *(reloc_view - 4) != 0xd5) ++ return tls::TLSOPT_NONE; ++ // Fall through. + case elfcpp::R_X86_64_GOTTPOFF: + // These are Initial-Exec relocs which get the thread offset + // from the GOT. If we know that we are linking against the +@@ -2971,17 +2983,20 @@ Target_x86_64::Scan::get_reference + case elfcpp::R_X86_64_GOTPCREL: + case elfcpp::R_X86_64_GOTPCRELX: + case elfcpp::R_X86_64_REX_GOTPCRELX: ++ case elfcpp::R_X86_64_CODE_4_GOTPCRELX: + case elfcpp::R_X86_64_GOTPLT64: + // Absolute in GOT. + return Symbol::ABSOLUTE_REF; + + case elfcpp::R_X86_64_TLSGD: // Global-dynamic + case elfcpp::R_X86_64_GOTPC32_TLSDESC: // Global-dynamic (from ~oliva url) ++ case elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC: + case elfcpp::R_X86_64_TLSDESC_CALL: + case elfcpp::R_X86_64_TLSLD: // Local-dynamic + case elfcpp::R_X86_64_DTPOFF32: + case elfcpp::R_X86_64_DTPOFF64: + case elfcpp::R_X86_64_GOTTPOFF: // Initial-exec ++ case elfcpp::R_X86_64_CODE_4_GOTTPOFF: + case elfcpp::R_X86_64_TPOFF32: // Local-exec + return Symbol::TLS_REF; + +@@ -3146,6 +3161,8 @@ Target_x86_64::Scan::local(Symbol_ + target->make_local_ifunc_plt_entry(symtab, layout, object, r_sym); + } + ++ const unsigned char* reloc_view = NULL; ++ + switch (r_type) + { + case elfcpp::R_X86_64_NONE: +@@ -3251,6 +3268,7 @@ Target_x86_64::Scan::local(Symbol_ + case elfcpp::R_X86_64_GOTPCREL: + case elfcpp::R_X86_64_GOTPCRELX: + case elfcpp::R_X86_64_REX_GOTPCRELX: ++ case elfcpp::R_X86_64_CODE_4_GOTPCRELX: + case elfcpp::R_X86_64_GOTPLT64: + { + // The symbol requires a GOT section. +@@ -3261,21 +3279,30 @@ Target_x86_64::Scan::local(Symbol_ + // mov foo@GOTPCREL(%rip), %reg + // to lea foo(%rip), %reg. + // in Relocate::relocate. ++ size_t r_offset = reloc.get_r_offset(); + if (!parameters->incremental() +- && (r_type == elfcpp::R_X86_64_GOTPCREL +- || r_type == elfcpp::R_X86_64_GOTPCRELX +- || r_type == elfcpp::R_X86_64_REX_GOTPCRELX) ++ && (((r_type == elfcpp::R_X86_64_GOTPCREL ++ || r_type == elfcpp::R_X86_64_GOTPCRELX ++ || r_type == elfcpp::R_X86_64_REX_GOTPCRELX) ++ && r_offset >= 2) ++ || (r_type == elfcpp::R_X86_64_CODE_4_GOTPCRELX ++ && r_offset >= 4)) + && reloc.get_r_addend() == -4 +- && reloc.get_r_offset() >= 2 + && !is_ifunc) + { + section_size_type stype; + const unsigned char* view = object->section_contents(data_shndx, + &stype, true); +- if (view[reloc.get_r_offset() - 2] == 0x8b) ++ if (r_type == elfcpp::R_X86_64_CODE_4_GOTPCRELX ++ && view[r_offset - 4] != 0xd5) ++ goto need_got; ++ ++ if (view[r_offset - 2] == 0x8b) + break; + } + ++need_got: ++ + // The symbol requires a GOT entry. + unsigned int r_sym = elfcpp::elf_r_sym(reloc.get_r_info()); + +@@ -3333,6 +3360,13 @@ Target_x86_64::Scan::local(Symbol_ + break; + + // These are initial tls relocs, which are expected when linking ++ case elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC: ++ case elfcpp::R_X86_64_CODE_4_GOTTPOFF: ++ { ++ section_size_type stype; ++ reloc_view = object->section_contents(data_shndx, &stype, true); ++ } ++ // Fall through. + case elfcpp::R_X86_64_TLSGD: // Global-dynamic + case elfcpp::R_X86_64_GOTPC32_TLSDESC: // Global-dynamic (from ~oliva url) + case elfcpp::R_X86_64_TLSDESC_CALL: +@@ -3343,9 +3377,11 @@ Target_x86_64::Scan::local(Symbol_ + case elfcpp::R_X86_64_TPOFF32: // Local-exec + { + bool output_is_shared = parameters->options().shared(); ++ size_t r_offset = reloc.get_r_offset(); + const tls::Tls_optimization optimized_type + = Target_x86_64::optimize_tls_reloc(!output_is_shared, +- r_type); ++ r_type, r_offset, ++ reloc_view + r_offset); + switch (r_type) + { + case elfcpp::R_X86_64_TLSGD: // General-dynamic +@@ -3374,6 +3410,7 @@ Target_x86_64::Scan::local(Symbol_ + break; + + case elfcpp::R_X86_64_GOTPC32_TLSDESC: ++ case elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC: + target->define_tls_base_symbol(symtab, layout); + if (optimized_type == tls::TLSOPT_NONE) + { +@@ -3426,6 +3463,7 @@ Target_x86_64::Scan::local(Symbol_ + break; + + case elfcpp::R_X86_64_GOTTPOFF: // Initial-exec ++ case elfcpp::R_X86_64_CODE_4_GOTTPOFF: + layout->set_has_static_tls(); + if (optimized_type == tls::TLSOPT_NONE) + { +@@ -3498,6 +3536,7 @@ Target_x86_64::Scan::possible_func + case elfcpp::R_X86_64_GOTPCREL: + case elfcpp::R_X86_64_GOTPCRELX: + case elfcpp::R_X86_64_REX_GOTPCRELX: ++ case elfcpp::R_X86_64_CODE_4_GOTPCRELX: + case elfcpp::R_X86_64_GOTPLT64: + { + return true; +@@ -3602,6 +3641,8 @@ Target_x86_64::Scan::global(Symbol + && this->reloc_needs_plt_for_ifunc(object, r_type)) + target->make_plt_entry(symtab, layout, gsym); + ++ const unsigned char *reloc_view = NULL; ++ + switch (r_type) + { + case elfcpp::R_X86_64_NONE: +@@ -3714,6 +3755,7 @@ Target_x86_64::Scan::global(Symbol + case elfcpp::R_X86_64_GOTPCREL: + case elfcpp::R_X86_64_GOTPCRELX: + case elfcpp::R_X86_64_REX_GOTPCRELX: ++ case elfcpp::R_X86_64_CODE_4_GOTPCRELX: + case elfcpp::R_X86_64_GOTPLT64: + { + // The symbol requires a GOT entry. +@@ -3736,8 +3778,12 @@ Target_x86_64::Scan::global(Symbol + size_t r_offset = reloc.get_r_offset(); + if (!parameters->incremental() + && reloc.get_r_addend() == -4 +- && r_offset >= 2 +- && Target_x86_64::can_convert_mov_to_lea(gsym, r_type, ++ && ((r_type != elfcpp::R_X86_64_CODE_4_GOTPCRELX ++ && r_offset >= 2) ++ || (r_type == elfcpp::R_X86_64_CODE_4_GOTPCRELX ++ && r_offset >= 4 ++ && view[r_offset - 4] == 0xd5)) ++ && Target_x86_64::can_convert_mov_to_lea(gsym, r_type, + r_offset, &view)) + break; + +@@ -3854,6 +3900,13 @@ Target_x86_64::Scan::global(Symbol + break; + + // These are initial tls relocs, which are expected for global() ++ case elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC: ++ case elfcpp::R_X86_64_CODE_4_GOTTPOFF: ++ { ++ section_size_type stype; ++ reloc_view = object->section_contents(data_shndx, &stype, true); ++ } ++ // Fall through. + case elfcpp::R_X86_64_TLSGD: // Global-dynamic + case elfcpp::R_X86_64_GOTPC32_TLSDESC: // Global-dynamic (from ~oliva url) + case elfcpp::R_X86_64_TLSDESC_CALL: +@@ -3866,11 +3919,15 @@ Target_x86_64::Scan::global(Symbol + // For the Initial-Exec model, we can treat undef symbols as final + // when building an executable. + const bool is_final = (gsym->final_value_is_known() || +- (r_type == elfcpp::R_X86_64_GOTTPOFF && ++ ((r_type == elfcpp::R_X86_64_GOTTPOFF || ++ r_type == elfcpp::R_X86_64_CODE_4_GOTTPOFF) && + gsym->is_undefined() && + parameters->options().output_is_executable())); ++ size_t r_offset = reloc.get_r_offset(); + const tls::Tls_optimization optimized_type +- = Target_x86_64::optimize_tls_reloc(is_final, r_type); ++ = Target_x86_64::optimize_tls_reloc(is_final, r_type, ++ r_offset, ++ reloc_view + r_offset); + switch (r_type) + { + case elfcpp::R_X86_64_TLSGD: // General-dynamic +@@ -3899,6 +3956,7 @@ Target_x86_64::Scan::global(Symbol + break; + + case elfcpp::R_X86_64_GOTPC32_TLSDESC: ++ case elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC: + target->define_tls_base_symbol(symtab, layout); + if (optimized_type == tls::TLSOPT_NONE) + { +@@ -3947,6 +4005,7 @@ Target_x86_64::Scan::global(Symbol + break; + + case elfcpp::R_X86_64_GOTTPOFF: // Initial-exec ++ case elfcpp::R_X86_64_CODE_4_GOTTPOFF: + layout->set_has_static_tls(); + if (optimized_type == tls::TLSOPT_NONE) + { +@@ -4420,6 +4479,7 @@ Target_x86_64::Relocate::relocate( + case elfcpp::R_X86_64_GOTPCREL: + case elfcpp::R_X86_64_GOTPCRELX: + case elfcpp::R_X86_64_REX_GOTPCRELX: ++ case elfcpp::R_X86_64_CODE_4_GOTPCRELX: + { + bool converted_p = false; + +@@ -4541,11 +4601,13 @@ Target_x86_64::Relocate::relocate( + // These are initial tls relocs, which are expected when linking + case elfcpp::R_X86_64_TLSGD: // Global-dynamic + case elfcpp::R_X86_64_GOTPC32_TLSDESC: // Global-dynamic (from ~oliva url) ++ case elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC: + case elfcpp::R_X86_64_TLSDESC_CALL: + case elfcpp::R_X86_64_TLSLD: // Local-dynamic + case elfcpp::R_X86_64_DTPOFF32: + case elfcpp::R_X86_64_DTPOFF64: + case elfcpp::R_X86_64_GOTTPOFF: // Initial-exec ++ case elfcpp::R_X86_64_CODE_4_GOTTPOFF: + case elfcpp::R_X86_64_TPOFF32: // Local-exec + this->relocate_tls(relinfo, target, relnum, rela, r_type, gsym, psymval, + view, address, view_size); +@@ -4617,8 +4679,10 @@ Target_x86_64::Relocate::relocate_ + const bool is_final = (gsym == NULL + ? !parameters->options().shared() + : gsym->final_value_is_known()); ++ size_t r_offset = rela.get_r_offset(); + tls::Tls_optimization optimized_type +- = Target_x86_64::optimize_tls_reloc(is_final, r_type); ++ = Target_x86_64::optimize_tls_reloc(is_final, r_type, ++ r_offset, view); + switch (r_type) + { + case elfcpp::R_X86_64_TLSGD: // Global-dynamic +@@ -4685,6 +4749,7 @@ Target_x86_64::Relocate::relocate_ + break; + + case elfcpp::R_X86_64_GOTPC32_TLSDESC: // Global-dynamic (from ~oliva url) ++ case elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC: + case elfcpp::R_X86_64_TLSDESC_CALL: + if (!is_executable && optimized_type == tls::TLSOPT_TO_LE) + { +@@ -4710,7 +4775,8 @@ Target_x86_64::Relocate::relocate_ + ? GOT_TYPE_TLS_OFFSET + : GOT_TYPE_TLS_DESC); + unsigned int got_offset = 0; +- if (r_type == elfcpp::R_X86_64_GOTPC32_TLSDESC ++ if ((r_type == elfcpp::R_X86_64_GOTPC32_TLSDESC ++ || r_type == elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC) + && optimized_type == tls::TLSOPT_NONE) + { + // We created GOT entries in the .got.tlsdesc portion of +@@ -4741,7 +4807,8 @@ Target_x86_64::Relocate::relocate_ + } + else if (optimized_type == tls::TLSOPT_NONE) + { +- if (r_type == elfcpp::R_X86_64_GOTPC32_TLSDESC) ++ if (r_type == elfcpp::R_X86_64_GOTPC32_TLSDESC ++ || r_type == elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC) + { + // Relocate the field with the offset of the pair of GOT + // entries. +@@ -4826,6 +4893,7 @@ Target_x86_64::Relocate::relocate_ + break; + + case elfcpp::R_X86_64_GOTTPOFF: // Initial-exec ++ case elfcpp::R_X86_64_CODE_4_GOTTPOFF: + if (gsym != NULL + && gsym->is_undefined() + && parameters->options().output_is_executable()) +@@ -5032,7 +5100,8 @@ Target_x86_64::Relocate::tls_desc_ + typename elfcpp::Elf_types::Elf_Addr address, + section_size_type view_size) + { +- if (r_type == elfcpp::R_X86_64_GOTPC32_TLSDESC) ++ if (r_type == elfcpp::R_X86_64_GOTPC32_TLSDESC ++ || r_type == elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC) + { + // LP64: leaq foo@tlsdesc(%rip), %rax + // ==> movq foo@gottpoff(%rip), %rax +@@ -5041,7 +5110,8 @@ Target_x86_64::Relocate::tls_desc_ + tls::check_range(relinfo, relnum, rela.get_r_offset(), view_size, -3); + tls::check_range(relinfo, relnum, rela.get_r_offset(), view_size, 4); + tls::check_tls(relinfo, relnum, rela.get_r_offset(), +- (((view[-3] & 0xfb) == 0x48 ++ ((r_type == elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC ++ || (view[-3] & 0xfb) == 0x48 + || (size == 32 && (view[-3] & 0xfb) == 0x40)) + && view[-2] == 0x8d + && (view[-1] & 0xc7) == 0x05)); +@@ -5113,6 +5183,22 @@ Target_x86_64::Relocate::tls_desc_ + value -= tls_segment->memsz(); + Relocate_functions::rela32(view, value, 0); + } ++ else if (r_type == elfcpp::R_X86_64_CODE_4_GOTPC32_TLSDESC) ++ { ++ // REX2: lea foo@tlsdesc(%rip), %reg ++ // ==> mov foo@tpoff, %reg ++ tls::check_range(relinfo, relnum, rela.get_r_offset(), view_size, -3); ++ tls::check_range(relinfo, relnum, rela.get_r_offset(), view_size, 4); ++ tls::check_tls(relinfo, relnum, rela.get_r_offset(), ++ (view[-2] == 0x8d ++ && (view[-1] & 0xc7) == 0x05)); ++ unsigned char rex2_mask = 4 | 4 << 4; ++ view[-3] = (view[-3] & ~rex2_mask) | ((view[-3] & rex2_mask) >> 2); ++ view[-2] = 0xc7; ++ view[-1] = 0xc0 | ((view[-1] >> 3) & 7); ++ value -= tls_segment->memsz(); ++ Relocate_functions::rela32(view, value, 0); ++ } + else + { + // LP64: call *foo@tlscall(%rax) +@@ -5212,7 +5298,7 @@ Target_x86_64::Relocate::tls_ie_to + size_t relnum, + Output_segment* tls_segment, + const elfcpp::Rela& rela, +- unsigned int, ++ unsigned int r_type, + typename elfcpp::Elf_types::Elf_Addr value, + unsigned char* view, + section_size_type view_size) +@@ -5231,35 +5317,50 @@ Target_x86_64::Relocate::tls_ie_to + unsigned char op3 = view[-1]; + unsigned char reg = op3 >> 3; + +- if (op2 == 0x8b) ++ if (r_type == elfcpp::R_X86_64_GOTTPOFF) + { +- // movq +- if (op1 == 0x4c) +- view[-3] = 0x49; +- else if (size == 32 && op1 == 0x44) +- view[-3] = 0x41; +- view[-2] = 0xc7; +- view[-1] = 0xc0 | reg; +- } +- else if (reg == 4) +- { +- // Special handling for %rsp. +- if (op1 == 0x4c) +- view[-3] = 0x49; +- else if (size == 32 && op1 == 0x44) +- view[-3] = 0x41; +- view[-2] = 0x81; +- view[-1] = 0xc0 | reg; ++ if (op2 == 0x8b) ++ { ++ // movq ++ if (op1 == 0x4c) ++ view[-3] = 0x49; ++ else if (size == 32 && op1 == 0x44) ++ view[-3] = 0x41; ++ view[-2] = 0xc7; ++ view[-1] = 0xc0 | reg; ++ } ++ else if (reg == 4) ++ { ++ // Special handling for %rsp. ++ if (op1 == 0x4c) ++ view[-3] = 0x49; ++ else if (size == 32 && op1 == 0x44) ++ view[-3] = 0x41; ++ view[-2] = 0x81; ++ view[-1] = 0xc0 | reg; ++ } ++ else ++ { ++ // addq ++ if (op1 == 0x4c) ++ view[-3] = 0x4d; ++ else if (size == 32 && op1 == 0x44) ++ view[-3] = 0x45; ++ view[-2] = 0x8d; ++ view[-1] = 0x80 | reg | (reg << 3); ++ } + } + else + { +- // addq +- if (op1 == 0x4c) +- view[-3] = 0x4d; +- else if (size == 32 && op1 == 0x44) +- view[-3] = 0x45; +- view[-2] = 0x8d; +- view[-1] = 0x80 | reg | (reg << 3); ++ if (op2 == 0x8b) ++ op2 = 0xc7; ++ else ++ op2 = 0x81; ++ ++ unsigned char rex2_mask = 4 | 4 << 4; ++ view[-3] = (view[-3] & ~rex2_mask) | ((view[-3] & rex2_mask) >> 2); ++ view[-2] = op2; ++ view[-1] = 0xc0 | reg; + } + + if (tls_segment != NULL) diff --git a/SOURCES/binutils-aarch64-RELR.patch b/SOURCES/binutils-aarch64-RELR.patch new file mode 100644 index 0000000..c989d62 --- /dev/null +++ b/SOURCES/binutils-aarch64-RELR.patch @@ -0,0 +1,3448 @@ +diff -rupN binutils,orig/bfd/elfnn-aarch64.c binutils-2.41/bfd/elfnn-aarch64.c +--- binutils,orig/bfd/elfnn-aarch64.c 2024-05-31 10:18:02.369948478 +0100 ++++ binutils-2.41/bfd/elfnn-aarch64.c 2024-05-31 10:24:13.370523113 +0100 +@@ -2706,6 +2706,19 @@ struct elf_aarch64_link_hash_table + /* Used by local STT_GNU_IFUNC symbols. */ + htab_t loc_hash_table; + void * loc_hash_memory; ++ ++ /* Array of relative relocs to be emitted in DT_RELR format. */ ++ bfd_size_type relr_alloc; ++ bfd_size_type relr_count; ++ struct relr_entry ++ { ++ asection *sec; ++ bfd_vma off; ++ } *relr; ++ /* Sorted output addresses of above relative relocs. */ ++ bfd_vma *relr_sorted; ++ /* Layout recomputation count. */ ++ bfd_size_type relr_layout_iter; + }; + + /* Create an entry in an AArch64 ELF linker hash table. */ +@@ -5974,6 +5987,18 @@ elfNN_aarch64_final_link_relocate (reloc + || !(bfd_link_pie (info) || SYMBOLIC_BIND (info, h)) + || !h->def_regular)) + outrel.r_info = ELFNN_R_INFO (h->dynindx, r_type); ++ else if (info->enable_dt_relr ++ && input_section->alignment_power != 0 ++ && rel->r_offset % 2 == 0) ++ { ++ /* Don't emit a relative relocation that is packed, only ++ apply the addend. */ ++ if (globals->no_apply_dynamic_relocs) ++ return bfd_reloc_ok; ++ return _bfd_final_link_relocate (howto, input_bfd, input_section, ++ contents, rel->r_offset, value, ++ signed_addend); ++ } + else + { + int symbol; +@@ -6240,7 +6265,8 @@ elfNN_aarch64_final_link_relocate (reloc + addend, weak_undef_p); + } + +- if (relative_reloc) ++ /* Emit relative relocations, but not if they are packed (DT_RELR). */ ++ if (relative_reloc && !info->enable_dt_relr) + { + asection *s; + Elf_Internal_Rela outrel; +@@ -9172,6 +9198,363 @@ elfNN_aarch64_allocate_local_ifunc_dynre + return elfNN_aarch64_allocate_ifunc_dynrelocs (h, inf); + } + ++/* Record a relative relocation that will be emitted packed (DT_RELR). ++ Called after relocation sections are sized, so undo the size accounting ++ for this relocation. */ ++ ++static bool ++record_relr (struct elf_aarch64_link_hash_table *htab, asection *sec, ++ bfd_vma off, asection *sreloc) ++{ ++ /* Undo the relocation section size accounting. */ ++ BFD_ASSERT (sreloc->size >= RELOC_SIZE (htab)); ++ sreloc->size -= RELOC_SIZE (htab); ++ /* The packing format uses the last bit of the address so that ++ must be aligned. We don't pack relocations that may not be ++ aligned even though the final output address could end up ++ aligned, to avoid complex sizing logic for a rare case. */ ++ BFD_ASSERT (off % 2 == 0 && sec->alignment_power > 0); ++ if (htab->relr_count >= htab->relr_alloc) ++ { ++ if (htab->relr_alloc == 0) ++ htab->relr_alloc = 4096; ++ else ++ htab->relr_alloc *= 2; ++ htab->relr = bfd_realloc (htab->relr, ++ htab->relr_alloc * sizeof (*htab->relr)); ++ if (htab->relr == NULL) ++ return false; ++ } ++ htab->relr[htab->relr_count].sec = sec; ++ htab->relr[htab->relr_count].off = off; ++ htab->relr_count++; ++ return true; ++} ++ ++/* Follow elfNN_aarch64_allocate_dynrelocs, but only record relative ++ relocations against the GOT and undo their previous size accounting. */ ++ ++static bool ++record_relr_dyn_got_relocs (struct elf_link_hash_entry *h, void *inf) ++{ ++ ++ if (h->root.type == bfd_link_hash_indirect) ++ return true; ++ if (h->root.type == bfd_link_hash_warning) ++ h = (struct elf_link_hash_entry *) h->root.u.i.link; ++ if (h->type == STT_GNU_IFUNC && h->def_regular) ++ return true; ++ if (h->got.refcount <= 0) ++ return true; ++ if (elf_aarch64_hash_entry (h)->got_type != GOT_NORMAL) ++ return true; ++ ++ struct bfd_link_info *info = (struct bfd_link_info *) inf; ++ struct elf_aarch64_link_hash_table *htab = elf_aarch64_hash_table (info); ++ ++ if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || h->root.type != bfd_link_hash_undefweak) ++ && bfd_link_pic (info) ++ /* Undefined weak symbol in static PIE resolves to 0 without ++ any dynamic relocations. */ ++ && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) ++ { ++ bool relative_reloc = SYMBOL_REFERENCES_LOCAL (info, h) ++ && !bfd_is_abs_symbol (&h->root); ++ if (relative_reloc) ++ if (!record_relr (htab, htab->root.sgot, h->got.offset, ++ htab->root.srelgot)) ++ return false; ++ } ++ return true; ++} ++ ++/* Record packed relative relocs against the GOT for local symbols. ++ Undo the size accounting of elfNN_aarch64_late_size_sections. */ ++ ++static bool ++record_relr_local_got_relocs (bfd *input_bfd, struct bfd_link_info *info) ++{ ++ struct elf_aarch64_local_symbol *locals; ++ Elf_Internal_Shdr *symtab_hdr; ++ struct elf_aarch64_link_hash_table *htab; ++ ++ if (!bfd_link_pic (info)) ++ return true; ++ ++ locals = elf_aarch64_locals (input_bfd); ++ if (locals == NULL) ++ return true; ++ ++ symtab_hdr = &elf_symtab_hdr (input_bfd); ++ htab = elf_aarch64_hash_table (info); ++ for (unsigned int i = 0; i < symtab_hdr->sh_info; i++) ++ { ++ bfd_vma off = locals[i].got_offset; ++ if (locals[i].got_refcount <= 0) ++ continue; ++ if ((locals[i].got_type & GOT_NORMAL) == 0) ++ continue; ++ ++ /* FIXME: If the local symbol is in SHN_ABS then emitting ++ a relative relocation is not correct, but it seems to ++ be wrong in elfNN_aarch64_final_link_relocate too. */ ++ if (!record_relr (htab, htab->root.sgot, off, htab->root.srelgot)) ++ return false; ++ } ++ return true; ++} ++ ++/* Follows the logic of elfNN_aarch64_relocate_section to decide which ++ relocations will become relative and possible to pack. Ignore ++ relocations against the GOT, those are handled separately per-symbol. ++ Undo the size accounting of the packed relocations and record them ++ so the relr section can be sized later. */ ++ ++static bool ++record_relr_non_got_relocs (bfd *input_bfd, struct bfd_link_info *info, ++ asection *sec) ++{ ++ const Elf_Internal_Rela *relocs; ++ const Elf_Internal_Rela *rel; ++ const Elf_Internal_Rela *rel_end; ++ asection *sreloc; ++ struct elf_aarch64_link_hash_table *htab; ++ Elf_Internal_Shdr *symtab_hdr; ++ struct elf_link_hash_entry **sym_hashes; ++ ++ if (sec->reloc_count == 0) ++ return true; ++ if ((sec->flags & (SEC_RELOC | SEC_ALLOC | SEC_DEBUGGING)) ++ != (SEC_RELOC | SEC_ALLOC)) ++ return true; ++ if (sec->alignment_power == 0) ++ return true; ++ sreloc = elf_section_data (sec)->sreloc; ++ if (sreloc == NULL) ++ return true; ++ htab = elf_aarch64_hash_table (info); ++ symtab_hdr = &elf_symtab_hdr (input_bfd); ++ sym_hashes = elf_sym_hashes (input_bfd); ++ relocs = _bfd_elf_link_info_read_relocs (input_bfd, info, sec, NULL, NULL, ++ info->keep_memory); ++ BFD_ASSERT (relocs != NULL); ++ rel_end = relocs + sec->reloc_count; ++ for (rel = relocs; rel < rel_end; rel++) ++ { ++ unsigned int r_symndx = ELFNN_R_SYM (rel->r_info); ++ unsigned int r_type = ELFNN_R_TYPE (rel->r_info); ++ ++ bfd_reloc_code_real_type bfd_r_type ++ = elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type); ++ /* Handle relocs that can become R_AARCH64_RELATIVE, ++ but not ones against the GOT as those are handled ++ separately per-symbol. */ ++ if (bfd_r_type != BFD_RELOC_AARCH64_NN) ++ continue; ++ /* Can only pack relocation against an aligned address. */ ++ if (rel->r_offset % 2 != 0) ++ continue; ++ ++ struct elf_link_hash_entry *h = NULL; ++ asection *def_sec = NULL; ++ bool resolved_to_zero = false; ++ if (r_symndx < symtab_hdr->sh_info) ++ { ++ /* A local symbol. */ ++ Elf_Internal_Sym *isym; ++ isym = bfd_sym_from_r_symndx (&htab->root.sym_cache, ++ input_bfd, r_symndx); ++ BFD_ASSERT (isym != NULL); ++ if (ELF_ST_TYPE (isym->st_info) == STT_GNU_IFUNC) ++ continue; ++ def_sec = bfd_section_from_elf_index (input_bfd, isym->st_shndx); ++ } ++ else ++ { ++ h = sym_hashes[r_symndx - symtab_hdr->sh_info]; ++ while (h->root.type == bfd_link_hash_indirect ++ || h->root.type == bfd_link_hash_warning) ++ h = (struct elf_link_hash_entry *) h->root.u.i.link; ++ ++ /* Filter out symbols that cannot have a relative reloc. */ ++ if (h->dyn_relocs == NULL) ++ continue; ++ if (bfd_is_abs_symbol (&h->root)) ++ continue; ++ if (h->type == STT_GNU_IFUNC) ++ continue; ++ ++ if (h->root.type == bfd_link_hash_defined ++ || h->root.type == bfd_link_hash_defweak) ++ def_sec = h->root.u.def.section; ++ resolved_to_zero = UNDEFWEAK_NO_DYNAMIC_RELOC (info, h); ++ } ++ if (def_sec != NULL && discarded_section (def_sec)) ++ continue; ++ /* Same logic as in elfNN_aarch64_final_link_relocate. ++ Except conditionals trimmed that cannot result a reltive reloc. */ ++ if (bfd_link_pic (info) ++ && (h == NULL ++ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ && !resolved_to_zero) ++ || h->root.type != bfd_link_hash_undefweak)) ++ { ++ if (h != NULL ++ && h->dynindx != -1 ++ && (!(bfd_link_pie (info) || SYMBOLIC_BIND (info, h)) ++ || !h->def_regular)) ++ continue; ++ if (!record_relr (htab, sec, rel->r_offset, sreloc)) ++ return false; ++ } ++ } ++ return true; ++} ++ ++static int ++cmp_relr_addr (const void *p, const void *q) ++{ ++ const bfd_vma *a = p; ++ const bfd_vma *b = q; ++ return *a < *b ? -1 : *a > *b ? 1 : 0; ++} ++ ++/* Produce a malloc'd sorted array of reloc addresses in htab->relr_sorted. ++ Returns false on allocation failure. */ ++ ++static bool ++sort_relr (struct bfd_link_info *info, ++ struct elf_aarch64_link_hash_table *htab) ++{ ++ if (htab->relr_count == 0) ++ return true; ++ ++ bfd_vma *addr = htab->relr_sorted; ++ if (addr == NULL) ++ { ++ addr = bfd_malloc (htab->relr_count * sizeof (*addr)); ++ if (addr == NULL) ++ return false; ++ htab->relr_sorted = addr; ++ } ++ ++ for (bfd_size_type i = 0; i < htab->relr_count; i++) ++ { ++ bfd_vma off = _bfd_elf_section_offset (info->output_bfd, info, ++ htab->relr[i].sec, ++ htab->relr[i].off); ++ addr[i] = htab->relr[i].sec->output_section->vma ++ + htab->relr[i].sec->output_offset ++ + off; ++ } ++ qsort (addr, htab->relr_count, sizeof (*addr), cmp_relr_addr); ++ return true; ++} ++ ++/* Size .relr.dyn whenever the layout changes, the number of packed ++ relocs are unchanged but the packed representation can. */ ++ ++bool ++elfNN_aarch64_size_relative_relocs (struct bfd_link_info *info, ++ bool *need_layout) ++{ ++ struct elf_aarch64_link_hash_table *htab = elf_aarch64_hash_table (info); ++ asection *srelrdyn = htab->root.srelrdyn; ++ *need_layout = false; ++ ++ if (!sort_relr (info, htab)) ++ return false; ++ bfd_vma *addr = htab->relr_sorted; ++ ++ BFD_ASSERT (srelrdyn != NULL); ++ bfd_size_type oldsize = srelrdyn->size; ++ srelrdyn->size = 0; ++ for (bfd_size_type i = 0; i < htab->relr_count; ) ++ { ++ bfd_vma base = addr[i]; ++ i++; ++ srelrdyn->size += 8; ++ base += 8; ++ for (;;) ++ { ++ bfd_size_type start_i = i; ++ while (i < htab->relr_count ++ && addr[i] - base < 63 * 8 ++ && (addr[i] - base) % 8 == 0) ++ i++; ++ if (i == start_i) ++ break; ++ srelrdyn->size += 8; ++ base += 63 * 8; ++ } ++ } ++ if (srelrdyn->size != oldsize) ++ { ++ *need_layout = true; ++ /* Stop after a few iterations in case the layout does not converge, ++ we can do this when the size would shrink. */ ++ if (htab->relr_layout_iter++ > 5 && srelrdyn->size < oldsize) ++ { ++ srelrdyn->size = oldsize; ++ *need_layout = false; ++ } ++ } ++ return true; ++} ++ ++/* Emit the .relr.dyn section after it is sized and the layout is fixed. */ ++ ++bool ++elfNN_aarch64_finish_relative_relocs (struct bfd_link_info *info) ++{ ++ struct elf_aarch64_link_hash_table *htab = elf_aarch64_hash_table (info); ++ asection *srelrdyn = htab->root.srelrdyn; ++ bfd *dynobj = htab->root.dynobj; ++ ++ if (srelrdyn == NULL || srelrdyn->size == 0) ++ return true; ++ srelrdyn->contents = bfd_alloc (dynobj, srelrdyn->size); ++ if (srelrdyn->contents == NULL) ++ return false; ++ bfd_vma *addr = htab->relr_sorted; ++ bfd_byte *loc = srelrdyn->contents; ++ for (bfd_size_type i = 0; i < htab->relr_count; ) ++ { ++ bfd_vma base = addr[i]; ++ i++; ++ bfd_put_64 (dynobj, base, loc); ++ loc += 8; ++ base += 8; ++ for (;;) ++ { ++ bfd_vma bits = 0; ++ while (i < htab->relr_count) ++ { ++ bfd_vma delta = addr[i] - base; ++ if (delta >= 63 * 8 || delta % 8 != 0) ++ break; ++ bits |= (bfd_vma) 1 << (delta / 8); ++ i++; ++ } ++ if (bits == 0) ++ break; ++ bfd_put_64 (dynobj, (bits << 1) | 1, loc); ++ loc += 8; ++ base += 63 * 8; ++ } ++ } ++ free (addr); ++ htab->relr_sorted = NULL; ++ /* Pad any excess with 1's, a do-nothing encoding. */ ++ while (loc < srelrdyn->contents + srelrdyn->size) ++ { ++ bfd_put_64 (dynobj, 1, loc); ++ loc += 8; ++ } ++ return true; ++} ++ + /* This is the most important function of all . Innocuosly named + though ! */ + +@@ -9346,6 +9729,27 @@ elfNN_aarch64_size_dynamic_sections (bfd + } + } + ++ /* Record the relative relocations that will be packed and undo the ++ size allocation for them in .rela.*. The size of .relr.dyn will be ++ computed later iteratively since it depends on the final layout. */ ++ if (info->enable_dt_relr && !bfd_link_relocatable (info)) ++ { ++ elf_link_hash_traverse (&htab->root, record_relr_dyn_got_relocs, info); ++ ++ for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next) ++ { ++ if (!is_aarch64_elf (ibfd)) ++ continue; ++ ++ for (s = ibfd->sections; s != NULL; s = s->next) ++ if (!record_relr_non_got_relocs (ibfd, info, s)) ++ return false; ++ ++ if (!record_relr_local_got_relocs (ibfd, info)) ++ return false; ++ } ++ } ++ + /* Init mapping symbols information to use later to distingush between + code and data while scanning for errata. */ + if (htab->fix_erratum_835769 || htab->fix_erratum_843419) +@@ -9385,6 +9789,19 @@ elfNN_aarch64_size_dynamic_sections (bfd + if (s != htab->root.srelplt) + s->reloc_count = 0; + } ++ else if (s == htab->root.srelrdyn) ++ { ++ /* Remove .relr.dyn based on relr_count, not size, since ++ it is not sized yet. */ ++ if (htab->relr_count == 0) ++ s->flags |= SEC_EXCLUDE; ++ else ++ /* Force dynamic tags for relocs even if there are no ++ .rela* relocs, required for setting DT_TEXTREL. */ ++ relocs = true; ++ /* Allocate contents later. */ ++ continue; ++ } + else + { + /* It's not one of our sections, so don't allocate space. */ +@@ -9744,6 +10161,9 @@ elfNN_aarch64_finish_dynamic_symbol (bfd + return false; + + BFD_ASSERT ((h->got.offset & 1) != 0); ++ /* Don't emit relative relocs if they are packed. */ ++ if (info->enable_dt_relr) ++ goto skip_got_reloc; + rela.r_info = ELFNN_R_INFO (0, AARCH64_R (RELATIVE)); + rela.r_addend = (h->root.u.def.value + + h->root.u.def.section->output_section->vma +@@ -9763,6 +10183,7 @@ elfNN_aarch64_finish_dynamic_symbol (bfd + loc += htab->root.srelgot->reloc_count++ * RELOC_SIZE (htab); + bfd_elfNN_swap_reloca_out (output_bfd, &rela, loc); + } ++skip_got_reloc: + + if (h->needs_copy) + { +@@ -10398,6 +10819,12 @@ const struct elf_size_info elfNN_aarch64 + #define elf_backend_merge_gnu_properties \ + elfNN_aarch64_merge_gnu_properties + ++#define elf_backend_size_relative_relocs \ ++ elfNN_aarch64_size_relative_relocs ++ ++#define elf_backend_finish_relative_relocs \ ++ elfNN_aarch64_finish_relative_relocs ++ + #define elf_backend_can_refcount 1 + #define elf_backend_can_gc_sections 1 + #define elf_backend_plt_readonly 1 +diff -rupN binutils,orig/bfd/elfxx-aarch64.h binutils-2.41/bfd/elfxx-aarch64.h +--- binutils,orig/bfd/elfxx-aarch64.h 2024-05-31 10:18:02.127948130 +0100 ++++ binutils-2.41/bfd/elfxx-aarch64.h 2024-05-31 10:24:13.371523114 +0100 +@@ -96,6 +96,17 @@ extern bool elf32_aarch64_size_stubs + extern bool elf32_aarch64_build_stubs + (struct bfd_link_info *); + ++/* AArch64 relative relocation packing support for ELF64. */ ++extern bool elf64_aarch64_size_relative_relocs ++ (struct bfd_link_info *, bool *); ++extern bool elf64_aarch64_finish_relative_relocs ++ (struct bfd_link_info *); ++/* AArch64 relative relocation packing support for ELF32. */ ++extern bool elf32_aarch64_size_relative_relocs ++ (struct bfd_link_info *, bool *); ++extern bool elf32_aarch64_finish_relative_relocs ++ (struct bfd_link_info *); ++ + /* Take the PAGE component of an address or offset. */ + #define PG(x) ((x) & ~ (bfd_vma) 0xfff) + #define PG_OFFSET(x) ((x) & (bfd_vma) 0xfff) +diff -rupN binutils,orig/binutils/readelf.c binutils-2.41/binutils/readelf.c +--- binutils,orig/binutils/readelf.c 2024-05-31 10:18:02.711948969 +0100 ++++ binutils-2.41/binutils/readelf.c 2024-05-31 10:39:08.921193160 +0100 +@@ -332,6 +332,7 @@ typedef enum print_mode + PREFIX_HEX_5, + FULL_HEX, + LONG_HEX, ++ ZERO_HEX, + OCTAL, + OCTAL_5 + } +@@ -569,6 +570,11 @@ print_vma (uint64_t vma, print_mode mode + return nc + printf ("%16.16" PRIx64, vma); + return nc + printf ("%8.8" PRIx64, vma); + ++ case ZERO_HEX: ++ if (is_32bit_elf) ++ return printf ("%08" PRIx64, vma); ++ return printf ("%016" PRIx64, vma); ++ + case DEC_5: + if (vma <= 99999) + return printf ("%5" PRId64, vma); +@@ -987,6 +993,26 @@ find_section_by_type (Filedata * filedat + return NULL; + } + ++static Elf_Internal_Shdr * ++find_section_by_name (Filedata * filedata, const char * name) ++{ ++ unsigned int i; ++ ++ if (filedata->section_headers == NULL || filedata->string_table_length == 0) ++ return NULL; ++ ++ for (i = 0; i < filedata->file_header.e_shnum; i++) ++ { ++ Elf_Internal_Shdr *sec = filedata->section_headers + i; ++ ++ if (sec->sh_name < filedata->string_table_length ++ && streq (name, filedata->string_table + sec->sh_name)) ++ return sec; ++ } ++ ++ return NULL; ++} ++ + /* Return a pointer to section NAME, or NULL if no such section exists, + restricted to the list of sections given in SET. */ + +@@ -1353,76 +1379,6 @@ slurp_rel_relocs (Filedata *filedata, + return true; + } + +-static bool +-slurp_relr_relocs (Filedata *filedata, +- uint64_t relr_offset, +- uint64_t relr_size, +- uint64_t **relrsp, +- uint64_t *nrelrsp) +-{ +- void *relrs; +- size_t size = 0, nentries, i; +- uint64_t base = 0, addr, entry; +- +- relrs = get_data (NULL, filedata, relr_offset, 1, relr_size, +- _("RELR relocation data")); +- if (!relrs) +- return false; +- +- if (is_32bit_elf) +- nentries = relr_size / sizeof (Elf32_External_Relr); +- else +- nentries = relr_size / sizeof (Elf64_External_Relr); +- for (i = 0; i < nentries; i++) +- { +- if (is_32bit_elf) +- entry = BYTE_GET (((Elf32_External_Relr *)relrs)[i].r_data); +- else +- entry = BYTE_GET (((Elf64_External_Relr *)relrs)[i].r_data); +- if ((entry & 1) == 0) +- size++; +- else +- while ((entry >>= 1) != 0) +- if ((entry & 1) == 1) +- size++; +- } +- +- *relrsp = malloc (size * sizeof (**relrsp)); +- if (*relrsp == NULL) +- { +- free (relrs); +- error (_("out of memory parsing relocs\n")); +- return false; +- } +- +- size = 0; +- for (i = 0; i < nentries; i++) +- { +- const uint64_t entry_bytes = is_32bit_elf ? 4 : 8; +- +- if (is_32bit_elf) +- entry = BYTE_GET (((Elf32_External_Relr *)relrs)[i].r_data); +- else +- entry = BYTE_GET (((Elf64_External_Relr *)relrs)[i].r_data); +- if ((entry & 1) == 0) +- { +- (*relrsp)[size++] = entry; +- base = entry + entry_bytes; +- } +- else +- { +- for (addr = base; (entry >>= 1) != 0; addr += entry_bytes) +- if ((entry & 1) != 0) +- (*relrsp)[size++] = addr; +- base += entry_bytes * (entry_bytes * CHAR_BIT - 1); +- } +- } +- +- *nrelrsp = size; +- free (relrs); +- return true; +-} +- + /* Returns the reloc type extracted from the reloc info field. */ + + static unsigned int +@@ -1464,6 +1420,399 @@ uses_msp430x_relocs (Filedata * filedata + || (filedata->file_header.e_ident[EI_OSABI] == ELFOSABI_NONE)); + } + ++static const char * ++get_symbol_at (Filedata * filedata, ++ Elf_Internal_Sym * symtab, ++ uint64_t nsyms, ++ char * strtab, ++ uint64_t where, ++ uint64_t * offset_return) ++{ ++ Elf_Internal_Sym * beg = symtab; ++ Elf_Internal_Sym * end = symtab + nsyms; ++ Elf_Internal_Sym * best = NULL; ++ uint64_t dist = 0x100000; ++ ++ /* FIXME: Since this function is likely to be called repeatedly with ++ slightly increasing addresses each time, we could speed things up by ++ caching the last returned value and starting our search from there. */ ++ while (beg < end) ++ { ++ Elf_Internal_Sym * sym; ++ uint64_t value; ++ ++ sym = beg + (end - beg) / 2; ++ ++ value = sym->st_value; ++ ++ if (where >= value ++ && where - value < dist) ++ { ++ best = sym; ++ dist = where - value; ++ if (dist == 0) ++ break; ++ } ++ ++ if (where < value) ++ end = sym; ++ else ++ beg = sym + 1; ++ } ++ ++ const char *name; ++ ++ /* If there is a section start closer than the found symbol then ++ use that for symbolizing the address. */ ++ Elf_Internal_Shdr *sec = find_section_by_address (filedata, where); ++ if (sec != NULL ++ && where - sec->sh_addr < dist ++ && section_name_valid (filedata, sec)) ++ { ++ name = section_name (filedata, sec); ++ dist = where - sec->sh_addr; ++ } ++ else if (best != NULL) ++ name = strtab + best->st_name; ++ else ++ return NULL; ++ ++ if (offset_return != NULL) ++ * offset_return = dist; ++ ++ return name; ++} ++ ++static void ++print_relr_addr_and_sym (Filedata * filedata, ++ Elf_Internal_Sym * symtab, ++ uint64_t nsyms, ++ char * strtab, ++ uint64_t where) ++{ ++ const char * symname = NULL; ++ uint64_t offset = 0; ++ ++ print_vma (where, ZERO_HEX); ++ printf (" "); ++ ++ symname = get_symbol_at (filedata, symtab, nsyms, strtab, where, & offset); ++ ++ if (symname == NULL) ++ printf (""); ++ else if (offset == 0) ++ print_symbol (38, symname); ++ else ++ { ++ print_symbol (28, symname); ++ printf (" + "); ++ print_vma (offset, PREFIX_HEX); ++ } ++} ++ ++/* See bfd_is_aarch64_special_symbol_name. */ ++ ++static bool ++is_aarch64_special_symbol_name (const char *name) ++{ ++ if (!name || name[0] != '$') ++ return false; ++ if (name[1] == 'x' || name[1] == 'd') ++ /* Map. */; ++ else if (name[1] == 'm' || name[1] == 'f' || name[1] == 'p') ++ /* Tag. */; ++ else ++ return false; ++ return name[2] == 0 || name[2] == '.'; ++} ++ ++static bool ++is_special_symbol_name (Filedata * filedata, const char * s) ++{ ++ switch (filedata->file_header.e_machine) ++ { ++ case EM_AARCH64: ++ return is_aarch64_special_symbol_name (s); ++ ++ default: ++ return false; ++ } ++} ++ ++/* Allows selecting the best symbol from a set for displaying addresses. ++ BEST is the current best or NULL if there are no good symbols yet. ++ SYM is the next symbol to consider, if it is better than BEST then ++ return SYM else return BEST. */ ++ ++static Elf_Internal_Sym * ++select_display_sym (Filedata * filedata, ++ char * strtab, ++ uint64_t strtablen, ++ Elf_Internal_Sym * best, ++ Elf_Internal_Sym * sym) ++{ ++ /* Ignore empty or invalid syms. */ ++ if (sym->st_name == 0) ++ return best; ++ if (sym->st_name >= strtablen) ++ return best; ++ /* Ignore undefined or TLS syms. */ ++ if (sym->st_shndx == SHN_UNDEF) ++ return best; ++ if (ELF_ST_TYPE (sym->st_info) == STT_TLS) ++ return best; ++ ++ char *s = strtab + sym->st_name; ++ ++ /* Don't display special symbols. */ ++ if (is_special_symbol_name (filedata, s)) ++ return best; ++ ++ /* Here SYM is good for display. */ ++ ++ if (best == NULL) ++ return sym; ++ ++ char *sbest = strtab + best->st_name; ++ ++ /* Prefer non-local symbols. */ ++ if (ELF_ST_BIND (sym->st_info) == STB_LOCAL ++ && ELF_ST_BIND (best->st_info) != STB_LOCAL) ++ return best; ++ if (ELF_ST_BIND (sym->st_info) != STB_LOCAL ++ && ELF_ST_BIND (best->st_info) == STB_LOCAL) ++ return sym; ++ ++ /* Select based on lexicographic order. */ ++ return strcmp (s, sbest) < 0 ? sym : best; ++} ++ ++/* Filter the sorted SYMTAB symbol array in-place to select at most one ++ symbol for an address and drop symbols that are not good to display. ++ Returns the new array length. */ ++ ++static uint64_t ++filter_display_syms (Filedata * filedata, ++ Elf_Internal_Sym * symtab, ++ uint64_t nsyms, ++ char * strtab, ++ uint64_t strtablen) ++{ ++ Elf_Internal_Sym *r = symtab; ++ Elf_Internal_Sym *w = symtab; ++ Elf_Internal_Sym *best = NULL; ++ Elf_Internal_Sym *end = symtab + nsyms; ++ while (r < end) ++ { ++ /* Select the best symbol for an address. */ ++ while (r < end ++ && (best == NULL || best->st_value == r->st_value)) ++ { ++ best = select_display_sym (filedata, strtab, strtablen, best, r); ++ r++; ++ } ++ if (best != NULL) ++ { ++ *w = *best; ++ w++; ++ best = NULL; ++ } ++ } ++ return w - symtab; ++} ++ ++static /* signed */ int ++symcmp (const void *p, const void *q) ++{ ++ Elf_Internal_Sym *sp = (Elf_Internal_Sym *) p; ++ Elf_Internal_Sym *sq = (Elf_Internal_Sym *) q; ++ ++ return sp->st_value > sq->st_value ? 1 : (sp->st_value < sq->st_value ? -1 : 0); ++} ++ ++static uint64_t ++count_relr_relocations (Filedata * filedata, ++ Elf_Internal_Shdr * section) ++{ ++ uint64_t * relrs; ++ uint64_t nentries; ++ uint64_t i; ++ uint64_t count; ++ int entsize; ++ ++ if (section == NULL ++ || section->sh_type != SHT_RELR ++ || section->sh_size == 0) ++ return 0; ++ ++ entsize = section->sh_entsize; ++ if (entsize == 0) ++ entsize = is_32bit_elf ++ ? sizeof (Elf32_External_Relr) : sizeof (Elf64_External_Relr); ++ else if (entsize != sizeof (Elf32_External_Relr) ++ && entsize != sizeof (Elf64_External_Relr)) ++ return 0; ++ ++ nentries = section->sh_size / entsize; ++ if (nentries == 0) ++ return 0; ++ ++ /* FIXME: This call to get_data duplicates one that follows in ++ dump_relr_relocations(). They could be combined into just ++ one call. */ ++ relrs = get_data (NULL, filedata, section->sh_offset, 1, ++ section->sh_size, _("RELR relocation data")); ++ if (relrs == NULL) ++ return 0; ++ ++ for (count = i = 0; i < nentries; i++) ++ { ++ uint64_t entry; ++ ++ if (entsize == sizeof (Elf32_External_Relr)) ++ entry = BYTE_GET (((Elf32_External_Relr *)relrs)[i].r_data); ++ else ++ entry = BYTE_GET (((Elf64_External_Relr *)relrs)[i].r_data); ++ ++ if ((entry & 1) == 0) ++ { ++ ++ count; ++ } ++ else ++ { ++ if (entry == 1) ++ continue; ++ ++ for (; entry >>= 1;) ++ if ((entry & 1) == 1) ++ ++ count; ++ } ++ } ++ ++ free (relrs); ++ return count; ++} ++ ++static bool ++dump_relr_relocations (Filedata * filedata, ++ Elf_Internal_Shdr * section, ++ Elf_Internal_Sym * symtab, ++ uint64_t nsyms, ++ char * strtab, ++ uint64_t strtablen) ++{ ++ uint64_t * relrs; ++ uint64_t nentries, i; ++ uint64_t relr_size = section->sh_size; ++ int relr_entsize = section->sh_entsize; ++ uint64_t relr_offset = section->sh_offset; ++ uint64_t where = 0; ++ int num_bits_in_entry; ++ ++ if (relr_entsize == 0) ++ relr_entsize = is_32bit_elf ++ ? sizeof (Elf32_External_Relr) : sizeof (Elf64_External_Relr); ++ ++ nentries = relr_size / relr_entsize; ++ ++ if (nentries == 0) ++ return true; ++ ++ if (relr_entsize == sizeof (Elf32_External_Relr)) ++ num_bits_in_entry = 31; ++ else if (relr_entsize == sizeof (Elf64_External_Relr)) ++ num_bits_in_entry = 63; ++ else ++ { ++ warn (_("Unexpected entsize for RELR section\n")); ++ return false; ++ } ++ ++ relrs = get_data (NULL, filedata, relr_offset, 1, relr_size, _("RELR relocation data")); ++ if (relrs == NULL) ++ return false; ++ ++ /* Paranoia. */ ++ if (strtab == NULL) ++ strtablen = 0; ++ if (symtab == NULL) ++ nsyms = 0; ++ ++ if (symtab != NULL) ++ { ++ /* Symbol tables are not sorted on address, but we want a quick lookup ++ for the symbol associated with each address computed below, so sort ++ the table then filter out unwanted entries. FIXME: This assumes that ++ the symbol table will not be used later on for some other purpose. */ ++ qsort (symtab, nsyms, sizeof (Elf_Internal_Sym), symcmp); ++ nsyms = filter_display_syms (filedata, symtab, nsyms, strtab, strtablen); ++ } ++ ++ if (relr_entsize == sizeof (Elf32_External_Relr)) ++ printf (_ ("Index: Entry Address Symbolic Address\n")); ++ else ++ printf (_ ("Index: Entry Address Symbolic Address\n")); ++ ++ for (i = 0; i < nentries; i++) ++ { ++ uint64_t entry; ++ ++ if (relr_entsize == sizeof (Elf32_External_Relr)) ++ entry = BYTE_GET (((Elf32_External_Relr *)relrs)[i].r_data); ++ else ++ entry = BYTE_GET (((Elf64_External_Relr *)relrs)[i].r_data); ++ ++ /* We assume that there will never be more than 9999 entries. */ ++ printf (_("%04u: "), (unsigned int) i); ++ print_vma (entry, ZERO_HEX); ++ printf (" "); ++ ++ if ((entry & 1) == 0) ++ { ++ where = entry; ++ print_relr_addr_and_sym (filedata, symtab, nsyms, strtab, where); ++ printf ("\n"); ++ where += relr_entsize; ++ } ++ else ++ { ++ bool first = true; ++ int j; ++ ++ /* The least significant bit is ignored. */ ++ if (entry == 1) ++ /* This can actually happen when the linker is allowed to shrink ++ RELR sections. For more details see: https://reviews.llvm.org/D67164. */ ++ continue; ++ else if (i == 0) ++ warn (_("Unusual RELR bitmap - no previous entry to set the base address\n")); ++ ++ for (j = 0; entry >>= 1; j++) ++ if ((entry & 1) == 1) ++ { ++ uint64_t addr = where + (j * relr_entsize); ++ ++ if (first) ++ { ++ print_relr_addr_and_sym (filedata, symtab, nsyms, strtab, addr); ++ first = false; ++ } ++ else ++ { ++ printf (_("\n%*s "), relr_entsize == 4 ? 15 : 23, " "); ++ print_relr_addr_and_sym (filedata, symtab, nsyms, strtab, addr); ++ } ++ } ++ ++ printf ("\n"); ++ where += num_bits_in_entry * relr_entsize; ++ } ++ } ++ ++ free (relrs); ++ return true; ++} ++ + /* Display the contents of the relocation data found at the specified + offset. */ + +@@ -1497,21 +1846,8 @@ dump_relocations (Filedata *filedata, + } + else if (rel_type == reltype_relr) + { +- uint64_t * relrs; +- const char *format +- = is_32bit_elf ? "%08" PRIx64 "\n" : "%016" PRIx64 "\n"; +- +- if (!slurp_relr_relocs (filedata, rel_offset, rel_size, &relrs, +- &rel_size)) +- return false; +- +- printf (ngettext (" %" PRIu64 " offset\n", +- " %" PRIu64 " offsets\n", rel_size), +- rel_size); +- for (i = 0; i < rel_size; i++) +- printf (format, relrs[i]); +- free (relrs); +- return true; ++ /* This should have been handled by display_relocations(). */ ++ return false; + } + + if (is_32bit_elf) +@@ -2790,7 +3126,7 @@ get_machine_name (unsigned e_machine) + case EM_MMA: return "Fujitsu Multimedia Accelerator"; + case EM_PCP: return "Siemens PCP"; + case EM_NCPU: return "Sony nCPU embedded RISC processor"; +- case EM_NDR1: return "Denso NDR1 microprocesspr"; ++ case EM_NDR1: return "Denso NDR1 microprocessor"; + case EM_STARCORE: return "Motorola Star*Core processor"; + case EM_ME16: return "Toyota ME16 processor"; + /* 60 */ +@@ -8403,6 +8739,115 @@ static struct + { "PLT", DT_JMPREL, DT_PLTRELSZ, reltype_unknown } + }; + ++static relocation_type ++rel_type_from_sh_type (unsigned int sh_type) ++{ ++ switch (sh_type) ++ { ++ case SHT_RELA: return reltype_rela; ++ case SHT_REL: return reltype_rel; ++ case SHT_RELR: return reltype_relr; ++ default: return reltype_unknown; ++ } ++} ++ ++static bool ++display_relocations (Elf_Internal_Shdr * section, ++ Filedata * filedata) ++{ ++ relocation_type rel_type = rel_type_from_sh_type (section->sh_type); ++ ++ if (rel_type == reltype_unknown) ++ return false; ++ ++ uint64_t rel_size = section->sh_size; ++ ++ if (rel_size == 0) ++ return false; ++ ++ if (filedata->is_separate) ++ printf (_("\nIn linked file '%s' relocation section "), ++ filedata->file_name); ++ else ++ printf (_("\nRelocation section ")); ++ ++ if (filedata->string_table == NULL) ++ printf ("%d", section->sh_name); ++ else ++ printf ("'%s'", printable_section_name (filedata, section)); ++ ++ uint64_t num_rela = rel_size / section->sh_entsize; ++ uint64_t rel_offset = section->sh_offset; ++ ++ if (rel_type == reltype_relr) ++ { ++ /* Just stating the 'number of entries' in a RELR section can be ++ misleading, since this is not the number of locations relocated, but ++ the number of words in the compressed RELR format. So also provide ++ the number of locations affected. */ ++ if (num_rela == 1) ++ /* This is unlikely, but possible. */ ++ printf (_(" at offset %#" PRIx64 ++ " contains 1 entry which relocates 1 location:\n"), ++ rel_offset); ++ else ++ printf (_(" at offset %#" PRIx64 " contains %" PRIu64 ++ " entries which relocate %" PRIu64 " locations:\n"), ++ rel_offset, num_rela, count_relr_relocations (filedata, section)); ++ } ++ else ++ { ++ printf (ngettext (" at offset %#" PRIx64 ++ " contains %" PRIu64 " entry:\n", ++ " at offset %#" PRIx64 ++ " contains %" PRIu64 " entries:\n", ++ num_rela), ++ rel_offset, num_rela); ++ } ++ ++ Elf_Internal_Shdr * symsec; ++ Elf_Internal_Sym * symtab = NULL; ++ uint64_t nsyms = 0; ++ uint64_t strtablen = 0; ++ char * strtab = NULL; ++ ++ if (section->sh_link == 0 ++ || section->sh_link >= filedata->file_header.e_shnum) ++ { ++ /* Symbol data not available. ++ This can happen, especially with RELR relocs. ++ See if there is a .symtab section present. ++ If so then use it. */ ++ symsec = find_section_by_name (filedata, ".symtab"); ++ } ++ else ++ { ++ symsec = filedata->section_headers + section->sh_link; ++ ++ if (symsec->sh_type != SHT_SYMTAB ++ && symsec->sh_type != SHT_DYNSYM) ++ return false; ++ } ++ ++ if (symsec != NULL ++ && !get_symtab (filedata, symsec, &symtab, &nsyms, &strtab, &strtablen)) ++ return false; ++ ++ bool res; ++ ++ if (rel_type == reltype_relr) ++ res = dump_relr_relocations (filedata, section, symtab, nsyms, strtab, strtablen); ++ else ++ res = dump_relocations (filedata, rel_offset, rel_size, ++ symtab, nsyms, strtab, strtablen, ++ rel_type, ++ symsec == NULL ? false : symsec->sh_type == SHT_DYNSYM); ++ free (strtab); ++ free (symtab); ++ ++ return res; ++} ++ + /* Process the reloc section. */ + + static bool +@@ -8494,72 +8939,8 @@ process_relocs (Filedata * filedata) + i < filedata->file_header.e_shnum; + i++, section++) + { +- if ( section->sh_type != SHT_RELA +- && section->sh_type != SHT_REL +- && section->sh_type != SHT_RELR) +- continue; +- +- rel_offset = section->sh_offset; +- rel_size = section->sh_size; +- +- if (rel_size) +- { +- relocation_type rel_type; +- uint64_t num_rela; +- +- if (filedata->is_separate) +- printf (_("\nIn linked file '%s' relocation section "), +- filedata->file_name); +- else +- printf (_("\nRelocation section ")); +- +- if (filedata->string_table == NULL) +- printf ("%d", section->sh_name); +- else +- printf ("'%s'", printable_section_name (filedata, section)); +- +- num_rela = rel_size / section->sh_entsize; +- printf (ngettext (" at offset %#" PRIx64 +- " contains %" PRIu64 " entry:\n", +- " at offset %#" PRIx64 +- " contains %" PRId64 " entries:\n", +- num_rela), +- rel_offset, num_rela); +- +- rel_type = section->sh_type == SHT_RELA ? reltype_rela : +- section->sh_type == SHT_REL ? reltype_rel : reltype_relr; +- +- if (section->sh_link != 0 +- && section->sh_link < filedata->file_header.e_shnum) +- { +- Elf_Internal_Shdr *symsec; +- Elf_Internal_Sym *symtab; +- uint64_t nsyms; +- uint64_t strtablen = 0; +- char *strtab = NULL; +- +- symsec = filedata->section_headers + section->sh_link; +- if (symsec->sh_type != SHT_SYMTAB +- && symsec->sh_type != SHT_DYNSYM) +- continue; +- +- if (!get_symtab (filedata, symsec, +- &symtab, &nsyms, &strtab, &strtablen)) +- continue; +- +- dump_relocations (filedata, rel_offset, rel_size, +- symtab, nsyms, strtab, strtablen, +- rel_type, +- symsec->sh_type == SHT_DYNSYM); +- free (strtab); +- free (symtab); +- } +- else +- dump_relocations (filedata, rel_offset, rel_size, +- NULL, 0, NULL, 0, rel_type, false /* is_dynamic */); +- +- found = true; +- } ++ if (display_relocations (section, filedata)) ++ found = true; + } + + if (! found) +@@ -8664,15 +9045,6 @@ find_symbol_for_address (Filedata *filed + *offset = addr.offset; + } + +-static /* signed */ int +-symcmp (const void *p, const void *q) +-{ +- Elf_Internal_Sym *sp = (Elf_Internal_Sym *) p; +- Elf_Internal_Sym *sq = (Elf_Internal_Sym *) q; +- +- return sp->st_value > sq->st_value ? 1 : (sp->st_value < sq->st_value ? -1 : 0); +-} +- + /* Process the unwind section. */ + + #include "unwind-ia64.h" +diff -rupN binutils,orig/ld/emulparams/aarch64elf.sh binutils-2.41/ld/emulparams/aarch64elf.sh +--- binutils,orig/ld/emulparams/aarch64elf.sh 2024-05-31 10:18:04.488951522 +0100 ++++ binutils-2.41/ld/emulparams/aarch64elf.sh 2024-05-31 10:24:13.371523114 +0100 +@@ -1,3 +1,5 @@ ++source_sh ${srcdir}/emulparams/dt-relr.sh ++ + ARCH=aarch64 + MACHINE= + NOP=0x1f2003d5 +diff -rupN binutils,orig/ld/emulparams/aarch64fbsd.sh binutils-2.41/ld/emulparams/aarch64fbsd.sh +--- binutils,orig/ld/emulparams/aarch64fbsd.sh 2024-05-31 10:18:04.488951522 +0100 ++++ binutils-2.41/ld/emulparams/aarch64fbsd.sh 2024-05-31 10:24:13.371523114 +0100 +@@ -1,3 +1,5 @@ ++source_sh ${srcdir}/emulparams/dt-relr.sh ++ + ARCH=aarch64 + MACHINE= + NOP=0x1f2003d5 +diff -rupN binutils,orig/ld/emulparams/aarch64linux.sh binutils-2.41/ld/emulparams/aarch64linux.sh +--- binutils,orig/ld/emulparams/aarch64linux.sh 2024-05-31 10:18:04.488951522 +0100 ++++ binutils-2.41/ld/emulparams/aarch64linux.sh 2024-05-31 10:24:13.372523116 +0100 +@@ -1,3 +1,5 @@ ++source_sh ${srcdir}/emulparams/dt-relr.sh ++ + ARCH=aarch64 + MACHINE= + NOP=0x1f2003d5 +diff -rupN binutils,orig/ld/ldlex.c binutils-2.41/ld/ldlex.c +--- binutils,orig/ld/ldlex.c 2024-05-31 10:18:04.506951548 +0100 ++++ binutils-2.41/ld/ldlex.c 2024-05-31 10:42:15.601508811 +0100 +@@ -1,5 +1,5 @@ + +-#line 2 "ldlex.c" ++#line 2 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.c" + + #define YY_INT_ALIGNED short int + +@@ -1339,8 +1339,8 @@ int yy_flex_debug = 0; + #define YY_MORE_ADJ 0 + #define YY_RESTORE_YY_MORE_OFFSET + char *yytext; +-#line 1 "ldlex.l" +-#line 4 "ldlex.l" ++#line 1 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" ++#line 4 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + + /* Copyright (C) 1991-2023 Free Software Foundation, Inc. + Written by Steve Chamberlain of Cygnus Support. +@@ -1427,9 +1427,9 @@ static void lex_warn_invalid (char *wher + */ + #define RTOKEN(x) { yylval.token = x; return x; } + +-#line 1430 "ldlex.c" ++#line 1430 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.c" + +-#line 1432 "ldlex.c" ++#line 1432 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.c" + + #define INITIAL 0 + #define SCRIPT 1 +@@ -1652,10 +1652,10 @@ YY_DECL + } + + { +-#line 114 "ldlex.l" ++#line 114 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + + +-#line 117 "ldlex.l" ++#line 117 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + if (parser_input != input_selected) + { + /* The first token of the input determines the initial parser state. */ +@@ -1663,16 +1663,17 @@ YY_DECL + parser_input = input_selected; + switch (t) + { +- case input_script: return INPUT_SCRIPT; break; +- case input_mri_script: return INPUT_MRI_SCRIPT; break; +- case input_version_script: return INPUT_VERSION_SCRIPT; break; +- case input_dynamic_list: return INPUT_DYNAMIC_LIST; break; +- case input_defsym: return INPUT_DEFSYM; break; ++ case input_script: return INPUT_SCRIPT; ++ case input_mri_script: return INPUT_MRI_SCRIPT; ++ case input_version_script: return INPUT_VERSION_SCRIPT; ++ case input_section_ordering_script: return INPUT_SECTION_ORDERING_SCRIPT; ++ case input_dynamic_list: return INPUT_DYNAMIC_LIST; ++ case input_defsym: return INPUT_DEFSYM; + default: abort (); + } + } + +-#line 1675 "ldlex.c" ++#line 1676 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.c" + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ + { +@@ -1731,13 +1732,13 @@ do_action: /* This label is used only to + + case 1: + YY_RULE_SETUP +-#line 133 "ldlex.l" ++#line 134 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + comment (); } + YY_BREAK + case 2: + YY_RULE_SETUP +-#line 136 "ldlex.l" ++#line 137 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + yylval.integer = bfd_scan_vma (yytext + 1, 0, 16); + yylval.bigint.str = NULL; +@@ -1746,7 +1747,7 @@ YY_RULE_SETUP + YY_BREAK + case 3: + YY_RULE_SETUP +-#line 142 "ldlex.l" ++#line 143 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + int ibase ; + switch (yytext[yyleng - 1]) { +@@ -1775,7 +1776,7 @@ YY_RULE_SETUP + YY_BREAK + case 4: + YY_RULE_SETUP +-#line 167 "ldlex.l" ++#line 168 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + char *s = yytext; + int ibase = 0; +@@ -1831,849 +1832,849 @@ YY_RULE_SETUP + */ + case 5: + YY_RULE_SETUP +-#line 220 "ldlex.l" ++#line 221 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(']'); } + YY_BREAK + case 6: + YY_RULE_SETUP +-#line 221 "ldlex.l" ++#line 222 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('['); } + YY_BREAK + case 7: + YY_RULE_SETUP +-#line 222 "ldlex.l" ++#line 223 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LSHIFTEQ); } + YY_BREAK + case 8: + YY_RULE_SETUP +-#line 223 "ldlex.l" ++#line 224 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(RSHIFTEQ); } + YY_BREAK + case 9: + YY_RULE_SETUP +-#line 224 "ldlex.l" ++#line 225 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(OROR); } + YY_BREAK + case 10: + YY_RULE_SETUP +-#line 225 "ldlex.l" ++#line 226 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(EQ); } + YY_BREAK + case 11: + YY_RULE_SETUP +-#line 226 "ldlex.l" ++#line 227 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(NE); } + YY_BREAK + case 12: + YY_RULE_SETUP +-#line 227 "ldlex.l" ++#line 228 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(GE); } + YY_BREAK + case 13: + YY_RULE_SETUP +-#line 228 "ldlex.l" ++#line 229 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LE); } + YY_BREAK + case 14: + YY_RULE_SETUP +-#line 229 "ldlex.l" ++#line 230 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LSHIFT); } + YY_BREAK + case 15: + YY_RULE_SETUP +-#line 230 "ldlex.l" ++#line 231 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(RSHIFT); } + YY_BREAK + case 16: + YY_RULE_SETUP +-#line 231 "ldlex.l" ++#line 232 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(PLUSEQ); } + YY_BREAK + case 17: + YY_RULE_SETUP +-#line 232 "ldlex.l" ++#line 233 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(MINUSEQ); } + YY_BREAK + case 18: + YY_RULE_SETUP +-#line 233 "ldlex.l" ++#line 234 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(MULTEQ); } + YY_BREAK + case 19: + YY_RULE_SETUP +-#line 234 "ldlex.l" ++#line 235 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(DIVEQ); } + YY_BREAK + case 20: + YY_RULE_SETUP +-#line 235 "ldlex.l" ++#line 236 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ANDEQ); } + YY_BREAK + case 21: + YY_RULE_SETUP +-#line 236 "ldlex.l" ++#line 237 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(OREQ); } + YY_BREAK + case 22: + YY_RULE_SETUP +-#line 237 "ldlex.l" ++#line 238 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ANDAND); } + YY_BREAK + case 23: + YY_RULE_SETUP +-#line 238 "ldlex.l" ++#line 239 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('>'); } + YY_BREAK + case 24: + YY_RULE_SETUP +-#line 239 "ldlex.l" ++#line 240 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(','); } + YY_BREAK + case 25: + YY_RULE_SETUP +-#line 240 "ldlex.l" ++#line 241 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('&'); } + YY_BREAK + case 26: + YY_RULE_SETUP +-#line 241 "ldlex.l" ++#line 242 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('|'); } + YY_BREAK + case 27: + YY_RULE_SETUP +-#line 242 "ldlex.l" ++#line 243 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('~'); } + YY_BREAK + case 28: + YY_RULE_SETUP +-#line 243 "ldlex.l" ++#line 244 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('!'); } + YY_BREAK + case 29: + YY_RULE_SETUP +-#line 244 "ldlex.l" ++#line 245 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('?'); } + YY_BREAK + case 30: + YY_RULE_SETUP +-#line 245 "ldlex.l" ++#line 246 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('*'); } + YY_BREAK + case 31: + YY_RULE_SETUP +-#line 246 "ldlex.l" ++#line 247 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('+'); } + YY_BREAK + case 32: + YY_RULE_SETUP +-#line 247 "ldlex.l" ++#line 248 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('-'); } + YY_BREAK + case 33: + YY_RULE_SETUP +-#line 248 "ldlex.l" ++#line 249 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('/'); } + YY_BREAK + case 34: + YY_RULE_SETUP +-#line 249 "ldlex.l" ++#line 250 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('%'); } + YY_BREAK + case 35: + YY_RULE_SETUP +-#line 250 "ldlex.l" ++#line 251 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('<'); } + YY_BREAK + case 36: + YY_RULE_SETUP +-#line 251 "ldlex.l" ++#line 252 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('='); } + YY_BREAK + case 37: + YY_RULE_SETUP +-#line 252 "ldlex.l" ++#line 253 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('}'); } + YY_BREAK + case 38: + YY_RULE_SETUP +-#line 253 "ldlex.l" ++#line 254 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('{'); } + YY_BREAK + case 39: + YY_RULE_SETUP +-#line 254 "ldlex.l" ++#line 255 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(')'); } + YY_BREAK + case 40: + YY_RULE_SETUP +-#line 255 "ldlex.l" ++#line 256 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN('('); } + YY_BREAK + case 41: + YY_RULE_SETUP +-#line 256 "ldlex.l" ++#line 257 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(':'); } + YY_BREAK + case 42: + YY_RULE_SETUP +-#line 257 "ldlex.l" ++#line 258 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(';'); } + YY_BREAK + case 43: + YY_RULE_SETUP +-#line 258 "ldlex.l" ++#line 259 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(MEMORY); } + YY_BREAK + case 44: + YY_RULE_SETUP +-#line 259 "ldlex.l" ++#line 260 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(REGION_ALIAS); } + YY_BREAK + case 45: + YY_RULE_SETUP +-#line 260 "ldlex.l" ++#line 261 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LD_FEATURE); } + YY_BREAK + case 46: + YY_RULE_SETUP +-#line 261 "ldlex.l" ++#line 262 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ORIGIN); } + YY_BREAK + case 47: + YY_RULE_SETUP +-#line 262 "ldlex.l" ++#line 263 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(VERSIONK); } + YY_BREAK + case 48: + YY_RULE_SETUP +-#line 263 "ldlex.l" ++#line 264 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(BLOCK); } + YY_BREAK + case 49: + YY_RULE_SETUP +-#line 264 "ldlex.l" ++#line 265 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(BIND); } + YY_BREAK + case 50: + YY_RULE_SETUP +-#line 265 "ldlex.l" ++#line 266 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LENGTH); } + YY_BREAK + case 51: + YY_RULE_SETUP +-#line 266 "ldlex.l" ++#line 267 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ALIGN_K); } + YY_BREAK + case 52: + YY_RULE_SETUP +-#line 267 "ldlex.l" ++#line 268 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(DATA_SEGMENT_ALIGN); } + YY_BREAK + case 53: + YY_RULE_SETUP +-#line 268 "ldlex.l" ++#line 269 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(DATA_SEGMENT_RELRO_END); } + YY_BREAK + case 54: + YY_RULE_SETUP +-#line 269 "ldlex.l" ++#line 270 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(DATA_SEGMENT_END); } + YY_BREAK + case 55: + YY_RULE_SETUP +-#line 270 "ldlex.l" ++#line 271 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ADDR); } + YY_BREAK + case 56: + YY_RULE_SETUP +-#line 271 "ldlex.l" ++#line 272 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LOADADDR); } + YY_BREAK + case 57: + YY_RULE_SETUP +-#line 272 "ldlex.l" ++#line 273 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ALIGNOF); } + YY_BREAK + case 58: + YY_RULE_SETUP +-#line 273 "ldlex.l" ++#line 274 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ABSOLUTE); } + YY_BREAK + case 59: + YY_RULE_SETUP +-#line 274 "ldlex.l" ++#line 275 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(MAX_K); } + YY_BREAK + case 60: + YY_RULE_SETUP +-#line 275 "ldlex.l" ++#line 276 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(MIN_K); } + YY_BREAK + case 61: + YY_RULE_SETUP +-#line 276 "ldlex.l" ++#line 277 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LOG2CEIL); } + YY_BREAK + case 62: + YY_RULE_SETUP +-#line 277 "ldlex.l" ++#line 278 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ASSERT_K); } + YY_BREAK + case 63: + YY_RULE_SETUP +-#line 278 "ldlex.l" ++#line 279 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ENTRY); } + YY_BREAK + case 64: + YY_RULE_SETUP +-#line 279 "ldlex.l" ++#line 280 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(EXTERN); } + YY_BREAK + case 65: + YY_RULE_SETUP +-#line 280 "ldlex.l" ++#line 281 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(NEXT); } + YY_BREAK + case 66: + YY_RULE_SETUP +-#line 281 "ldlex.l" ++#line 282 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SIZEOF_HEADERS); } + YY_BREAK + case 67: + YY_RULE_SETUP +-#line 282 "ldlex.l" ++#line 283 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SEGMENT_START); } + YY_BREAK + case 68: + YY_RULE_SETUP +-#line 283 "ldlex.l" ++#line 284 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(MAP); } + YY_BREAK + case 69: + YY_RULE_SETUP +-#line 284 "ldlex.l" ++#line 285 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SIZEOF); } + YY_BREAK + case 70: + YY_RULE_SETUP +-#line 285 "ldlex.l" ++#line 286 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(TARGET_K); } + YY_BREAK + case 71: + YY_RULE_SETUP +-#line 286 "ldlex.l" ++#line 287 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SEARCH_DIR); } + YY_BREAK + case 72: + YY_RULE_SETUP +-#line 287 "ldlex.l" ++#line 288 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(OUTPUT); } + YY_BREAK + case 73: + YY_RULE_SETUP +-#line 288 "ldlex.l" ++#line 289 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(INPUT); } + YY_BREAK + case 74: + YY_RULE_SETUP +-#line 289 "ldlex.l" ++#line 290 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(GROUP); } + YY_BREAK + case 75: + YY_RULE_SETUP +-#line 290 "ldlex.l" ++#line 291 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(AS_NEEDED); } + YY_BREAK + case 76: + YY_RULE_SETUP +-#line 291 "ldlex.l" ++#line 292 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(DEFINED); } + YY_BREAK + case 77: + YY_RULE_SETUP +-#line 292 "ldlex.l" ++#line 293 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(CREATE_OBJECT_SYMBOLS); } + YY_BREAK + case 78: + YY_RULE_SETUP +-#line 293 "ldlex.l" ++#line 294 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(CONSTRUCTORS); } + YY_BREAK + case 79: + YY_RULE_SETUP +-#line 294 "ldlex.l" ++#line 295 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(FORCE_COMMON_ALLOCATION); } + YY_BREAK + case 80: + YY_RULE_SETUP +-#line 295 "ldlex.l" ++#line 296 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(FORCE_GROUP_ALLOCATION); } + YY_BREAK + case 81: + YY_RULE_SETUP +-#line 296 "ldlex.l" ++#line 297 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(INHIBIT_COMMON_ALLOCATION); } + YY_BREAK + case 82: + YY_RULE_SETUP +-#line 297 "ldlex.l" ++#line 298 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SECTIONS); } + YY_BREAK + case 83: + YY_RULE_SETUP +-#line 298 "ldlex.l" ++#line 299 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(INSERT_K); } + YY_BREAK + case 84: + YY_RULE_SETUP +-#line 299 "ldlex.l" ++#line 300 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(AFTER); } + YY_BREAK + case 85: + YY_RULE_SETUP +-#line 300 "ldlex.l" ++#line 301 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(BEFORE); } + YY_BREAK + case 86: + YY_RULE_SETUP +-#line 301 "ldlex.l" ++#line 302 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(FILL); } + YY_BREAK + case 87: + YY_RULE_SETUP +-#line 302 "ldlex.l" ++#line 303 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(STARTUP); } + YY_BREAK + case 88: + YY_RULE_SETUP +-#line 303 "ldlex.l" ++#line 304 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(OUTPUT_FORMAT); } + YY_BREAK + case 89: + YY_RULE_SETUP +-#line 304 "ldlex.l" ++#line 305 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(OUTPUT_ARCH); } + YY_BREAK + case 90: + YY_RULE_SETUP +-#line 305 "ldlex.l" ++#line 306 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(HLL); } + YY_BREAK + case 91: + YY_RULE_SETUP +-#line 306 "ldlex.l" ++#line 307 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SYSLIB); } + YY_BREAK + case 92: + YY_RULE_SETUP +-#line 307 "ldlex.l" ++#line 308 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(FLOAT); } + YY_BREAK + case 93: + YY_RULE_SETUP +-#line 308 "ldlex.l" ++#line 309 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(QUAD); } + YY_BREAK + case 94: + YY_RULE_SETUP +-#line 309 "ldlex.l" ++#line 310 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SQUAD); } + YY_BREAK + case 95: + YY_RULE_SETUP +-#line 310 "ldlex.l" ++#line 311 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LONG); } + YY_BREAK + case 96: + YY_RULE_SETUP +-#line 311 "ldlex.l" ++#line 312 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SHORT); } + YY_BREAK + case 97: + YY_RULE_SETUP +-#line 312 "ldlex.l" ++#line 313 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(BYTE); } + YY_BREAK + case 98: + YY_RULE_SETUP +-#line 313 "ldlex.l" ++#line 314 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ASCIZ); } + YY_BREAK + case 99: + YY_RULE_SETUP +-#line 314 "ldlex.l" ++#line 315 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LINKER_VERSION); } + YY_BREAK + case 100: + YY_RULE_SETUP +-#line 315 "ldlex.l" ++#line 316 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(NOFLOAT); } + YY_BREAK + case 101: + YY_RULE_SETUP +-#line 316 "ldlex.l" ++#line 317 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(NOCROSSREFS); } + YY_BREAK + case 102: + YY_RULE_SETUP +-#line 317 "ldlex.l" ++#line 318 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(NOCROSSREFS_TO); } + YY_BREAK + case 103: + YY_RULE_SETUP +-#line 318 "ldlex.l" ++#line 319 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(OVERLAY); } + YY_BREAK + case 104: + YY_RULE_SETUP +-#line 319 "ldlex.l" ++#line 320 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SORT_BY_NAME); } + YY_BREAK + case 105: + YY_RULE_SETUP +-#line 320 "ldlex.l" ++#line 321 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SORT_BY_ALIGNMENT); } + YY_BREAK + case 106: + YY_RULE_SETUP +-#line 321 "ldlex.l" ++#line 322 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SORT_BY_NAME); } + YY_BREAK + case 107: + YY_RULE_SETUP +-#line 322 "ldlex.l" ++#line 323 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SORT_BY_INIT_PRIORITY); } + YY_BREAK + case 108: + YY_RULE_SETUP +-#line 323 "ldlex.l" ++#line 324 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SORT_NONE); } + YY_BREAK + case 109: + YY_RULE_SETUP +-#line 324 "ldlex.l" ++#line 325 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(NOLOAD); } + YY_BREAK + case 110: + YY_RULE_SETUP +-#line 325 "ldlex.l" ++#line 326 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(READONLY); } + YY_BREAK + case 111: + YY_RULE_SETUP +-#line 326 "ldlex.l" ++#line 327 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(DSECT); } + YY_BREAK + case 112: + YY_RULE_SETUP +-#line 327 "ldlex.l" ++#line 328 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(COPY); } + YY_BREAK + case 113: + YY_RULE_SETUP +-#line 328 "ldlex.l" ++#line 329 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(INFO); } + YY_BREAK + case 114: + YY_RULE_SETUP +-#line 329 "ldlex.l" ++#line 330 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(TYPE); } + YY_BREAK + case 115: + YY_RULE_SETUP +-#line 330 "ldlex.l" ++#line 331 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ONLY_IF_RO); } + YY_BREAK + case 116: + YY_RULE_SETUP +-#line 331 "ldlex.l" ++#line 332 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ONLY_IF_RW); } + YY_BREAK + case 117: + YY_RULE_SETUP +-#line 332 "ldlex.l" ++#line 333 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SPECIAL); } + YY_BREAK + case 118: + YY_RULE_SETUP +-#line 333 "ldlex.l" ++#line 334 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ORIGIN); } + YY_BREAK + case 119: + YY_RULE_SETUP +-#line 334 "ldlex.l" ++#line 335 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ORIGIN); } + YY_BREAK + case 120: + YY_RULE_SETUP +-#line 335 "ldlex.l" ++#line 336 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LENGTH); } + YY_BREAK + case 121: + YY_RULE_SETUP +-#line 336 "ldlex.l" ++#line 337 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LENGTH); } + YY_BREAK + case 122: + YY_RULE_SETUP +-#line 337 "ldlex.l" ++#line 338 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(INPUT_SECTION_FLAGS); } + YY_BREAK + case 123: + YY_RULE_SETUP +-#line 338 "ldlex.l" ++#line 339 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(INCLUDE);} + YY_BREAK + case 124: + YY_RULE_SETUP +-#line 339 "ldlex.l" ++#line 340 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(PHDRS); } + YY_BREAK + case 125: + YY_RULE_SETUP +-#line 340 "ldlex.l" ++#line 341 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(AT);} + YY_BREAK + case 126: + YY_RULE_SETUP +-#line 341 "ldlex.l" ++#line 342 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ALIGN_WITH_INPUT);} + YY_BREAK + case 127: + YY_RULE_SETUP +-#line 342 "ldlex.l" ++#line 343 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SUBALIGN);} + YY_BREAK + case 128: + YY_RULE_SETUP +-#line 343 "ldlex.l" ++#line 344 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(HIDDEN); } + YY_BREAK + case 129: + YY_RULE_SETUP +-#line 344 "ldlex.l" ++#line 345 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(PROVIDE); } + YY_BREAK + case 130: + YY_RULE_SETUP +-#line 345 "ldlex.l" ++#line 346 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(PROVIDE_HIDDEN); } + YY_BREAK + case 131: + YY_RULE_SETUP +-#line 346 "ldlex.l" ++#line 347 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(KEEP); } + YY_BREAK + case 132: + YY_RULE_SETUP +-#line 347 "ldlex.l" ++#line 348 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(EXCLUDE_FILE); } + YY_BREAK + case 133: + YY_RULE_SETUP +-#line 348 "ldlex.l" ++#line 349 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(CONSTANT);} + YY_BREAK + case 134: + /* rule 134 can match eol */ + YY_RULE_SETUP +-#line 350 "ldlex.l" ++#line 351 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { ++ lineno; } + YY_BREAK + case 135: + /* rule 135 can match eol */ + YY_RULE_SETUP +-#line 351 "ldlex.l" ++#line 352 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { ++ lineno; RTOKEN(NEWLINE); } + YY_BREAK + case 136: + YY_RULE_SETUP +-#line 352 "ldlex.l" ++#line 353 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { /* Mri comment line */ } + YY_BREAK + case 137: + YY_RULE_SETUP +-#line 353 "ldlex.l" ++#line 354 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { /* Mri comment line */ } + YY_BREAK + case 138: + YY_RULE_SETUP +-#line 354 "ldlex.l" ++#line 355 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ENDWORD); } + YY_BREAK + case 139: + YY_RULE_SETUP +-#line 355 "ldlex.l" ++#line 356 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ABSOLUTE); } + YY_BREAK + case 140: + YY_RULE_SETUP +-#line 356 "ldlex.l" ++#line 357 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ALIGNMOD);} + YY_BREAK + case 141: + YY_RULE_SETUP +-#line 357 "ldlex.l" ++#line 358 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ALIGN_K);} + YY_BREAK + case 142: + YY_RULE_SETUP +-#line 358 "ldlex.l" ++#line 359 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(CHIP); } + YY_BREAK + case 143: + YY_RULE_SETUP +-#line 359 "ldlex.l" ++#line 360 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(BASE); } + YY_BREAK + case 144: + YY_RULE_SETUP +-#line 360 "ldlex.l" ++#line 361 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ALIAS); } + YY_BREAK + case 145: + YY_RULE_SETUP +-#line 361 "ldlex.l" ++#line 362 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(TRUNCATE); } + YY_BREAK + case 146: + YY_RULE_SETUP +-#line 362 "ldlex.l" ++#line 363 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LOAD); } + YY_BREAK + case 147: + YY_RULE_SETUP +-#line 363 "ldlex.l" ++#line 364 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(PUBLIC); } + YY_BREAK + case 148: + YY_RULE_SETUP +-#line 364 "ldlex.l" ++#line 365 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ORDER); } + YY_BREAK + case 149: + YY_RULE_SETUP +-#line 365 "ldlex.l" ++#line 366 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(NAMEWORD); } + YY_BREAK + case 150: + YY_RULE_SETUP +-#line 366 "ldlex.l" ++#line 367 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(FORMAT); } + YY_BREAK + case 151: + YY_RULE_SETUP +-#line 367 "ldlex.l" ++#line 368 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(CASE); } + YY_BREAK + case 152: + YY_RULE_SETUP +-#line 368 "ldlex.l" ++#line 369 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(START); } + YY_BREAK + case 153: + YY_RULE_SETUP +-#line 369 "ldlex.l" ++#line 370 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LIST); /* LIST and ignore to end of line */ } + YY_BREAK + case 154: + YY_RULE_SETUP +-#line 370 "ldlex.l" ++#line 371 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SECT); } + YY_BREAK + case 155: + YY_RULE_SETUP +-#line 371 "ldlex.l" ++#line 372 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ENDWORD); } + YY_BREAK + case 156: + YY_RULE_SETUP +-#line 372 "ldlex.l" ++#line 373 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ABSOLUTE); } + YY_BREAK + case 157: + YY_RULE_SETUP +-#line 373 "ldlex.l" ++#line 374 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ALIGNMOD);} + YY_BREAK + case 158: + YY_RULE_SETUP +-#line 374 "ldlex.l" ++#line 375 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ALIGN_K);} + YY_BREAK + case 159: + YY_RULE_SETUP +-#line 375 "ldlex.l" ++#line 376 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(CHIP); } + YY_BREAK + case 160: + YY_RULE_SETUP +-#line 376 "ldlex.l" ++#line 377 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(BASE); } + YY_BREAK + case 161: + YY_RULE_SETUP +-#line 377 "ldlex.l" ++#line 378 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ALIAS); } + YY_BREAK + case 162: + YY_RULE_SETUP +-#line 378 "ldlex.l" ++#line 379 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(TRUNCATE); } + YY_BREAK + case 163: + YY_RULE_SETUP +-#line 379 "ldlex.l" ++#line 380 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LOAD); } + YY_BREAK + case 164: + YY_RULE_SETUP +-#line 380 "ldlex.l" ++#line 381 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(PUBLIC); } + YY_BREAK + case 165: + YY_RULE_SETUP +-#line 381 "ldlex.l" ++#line 382 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(ORDER); } + YY_BREAK + case 166: + YY_RULE_SETUP +-#line 382 "ldlex.l" ++#line 383 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(NAMEWORD); } + YY_BREAK + case 167: + YY_RULE_SETUP +-#line 383 "ldlex.l" ++#line 384 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(FORMAT); } + YY_BREAK + case 168: + YY_RULE_SETUP +-#line 384 "ldlex.l" ++#line 385 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(CASE); } + YY_BREAK + case 169: + YY_RULE_SETUP +-#line 385 "ldlex.l" ++#line 386 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(EXTERN); } + YY_BREAK + case 170: + YY_RULE_SETUP +-#line 386 "ldlex.l" ++#line 387 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(START); } + YY_BREAK + case 171: + YY_RULE_SETUP +-#line 387 "ldlex.l" ++#line 388 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LIST); /* LIST and ignore to end of line */ } + YY_BREAK + case 172: + YY_RULE_SETUP +-#line 388 "ldlex.l" ++#line 389 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(SECT); } + YY_BREAK + case 173: + YY_RULE_SETUP +-#line 390 "ldlex.l" ++#line 391 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + /* Filename without commas, needed to parse mri stuff */ + yylval.name = xstrdup (yytext); +@@ -2682,7 +2683,7 @@ YY_RULE_SETUP + YY_BREAK + case 174: + YY_RULE_SETUP +-#line 397 "ldlex.l" ++#line 398 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + yylval.name = xstrdup (yytext); + return NAME; +@@ -2690,7 +2691,7 @@ YY_RULE_SETUP + YY_BREAK + case 175: + YY_RULE_SETUP +-#line 401 "ldlex.l" ++#line 402 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + /* Filename to be prefixed by --sysroot or when non-sysrooted, nothing. */ + yylval.name = xstrdup (yytext); +@@ -2699,7 +2700,7 @@ YY_RULE_SETUP + YY_BREAK + case 176: + YY_RULE_SETUP +-#line 406 "ldlex.l" ++#line 407 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + yylval.name = xstrdup (yytext + 2); + return LNAME; +@@ -2707,7 +2708,7 @@ YY_RULE_SETUP + YY_BREAK + case 177: + YY_RULE_SETUP +-#line 410 "ldlex.l" ++#line 411 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + yylval.name = xstrdup (yytext); + return NAME; +@@ -2717,7 +2718,7 @@ YY_RULE_SETUP + section before /DISCARD/ interpreting the '/' as a divide. */ + case 178: + YY_RULE_SETUP +-#line 416 "ldlex.l" ++#line 417 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + yylval.name = xstrdup (yytext); + return NAME; +@@ -2725,7 +2726,7 @@ YY_RULE_SETUP + YY_BREAK + case 179: + YY_RULE_SETUP +-#line 420 "ldlex.l" ++#line 421 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + /* Annoyingly, this pattern can match comments, and we have + longest match issues to consider. So if the first two +@@ -2746,7 +2747,7 @@ YY_RULE_SETUP + case 180: + /* rule 180 can match eol */ + YY_RULE_SETUP +-#line 437 "ldlex.l" ++#line 438 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + /* No matter the state, quotes give what's inside. */ + yylval.name = xmemdup (yytext + 1, yyleng - 2, yyleng - 1); +@@ -2756,62 +2757,62 @@ YY_RULE_SETUP + case 181: + /* rule 181 can match eol */ + YY_RULE_SETUP +-#line 443 "ldlex.l" ++#line 444 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + lineno++; } + YY_BREAK + case 182: + YY_RULE_SETUP +-#line 445 "ldlex.l" ++#line 446 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + /* Eat up whitespace */ } + YY_BREAK + case 183: + YY_RULE_SETUP +-#line 447 "ldlex.l" ++#line 448 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + /* Eat up comments */ } + YY_BREAK + case 184: + YY_RULE_SETUP +-#line 450 "ldlex.l" ++#line 451 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { return *yytext; } + YY_BREAK + case 185: + YY_RULE_SETUP +-#line 452 "ldlex.l" ++#line 453 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(GLOBAL); } + YY_BREAK + case 186: + YY_RULE_SETUP +-#line 454 "ldlex.l" ++#line 455 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(LOCAL); } + YY_BREAK + case 187: + YY_RULE_SETUP +-#line 456 "ldlex.l" ++#line 457 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { RTOKEN(EXTERN); } + YY_BREAK + case 188: + YY_RULE_SETUP +-#line 458 "ldlex.l" ++#line 459 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { yylval.name = xstrdup (yytext); + return VERS_IDENTIFIER; } + YY_BREAK + case 189: + YY_RULE_SETUP +-#line 461 "ldlex.l" ++#line 462 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { yylval.name = xstrdup (yytext); + return VERS_TAG; } + YY_BREAK + case 190: + YY_RULE_SETUP +-#line 464 "ldlex.l" ++#line 465 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { BEGIN(VERS_SCRIPT); return *yytext; } + YY_BREAK + case 191: + YY_RULE_SETUP +-#line 466 "ldlex.l" ++#line 467 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { BEGIN(VERS_NODE); + vers_node_nesting = 0; + return *yytext; +@@ -2819,17 +2820,17 @@ YY_RULE_SETUP + YY_BREAK + case 192: + YY_RULE_SETUP +-#line 470 "ldlex.l" ++#line 471 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { return *yytext; } + YY_BREAK + case 193: + YY_RULE_SETUP +-#line 471 "ldlex.l" ++#line 472 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { vers_node_nesting++; return *yytext; } + YY_BREAK + case 194: + YY_RULE_SETUP +-#line 472 "ldlex.l" ++#line 473 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { if (--vers_node_nesting < 0) + BEGIN(VERS_SCRIPT); + return *yytext; +@@ -2844,7 +2845,7 @@ case YY_STATE_EOF(WILD): + case YY_STATE_EOF(VERS_START): + case YY_STATE_EOF(VERS_SCRIPT): + case YY_STATE_EOF(VERS_NODE): +-#line 477 "ldlex.l" ++#line 478 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + { + include_stack_ptr--; + if (include_stack_ptr == 0) +@@ -2863,20 +2864,20 @@ case YY_STATE_EOF(VERS_NODE): + YY_BREAK + case 195: + YY_RULE_SETUP +-#line 493 "ldlex.l" ++#line 494 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + lex_warn_invalid (_(" in script"), yytext); + YY_BREAK + case 196: + YY_RULE_SETUP +-#line 494 "ldlex.l" ++#line 495 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + lex_warn_invalid (_(" in expression"), yytext); + YY_BREAK + case 197: + YY_RULE_SETUP +-#line 496 "ldlex.l" ++#line 497 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + ECHO; + YY_BREAK +-#line 2879 "ldlex.c" ++#line 2880 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.c" + + case YY_END_OF_BUFFER: + { +@@ -3842,7 +3843,7 @@ void yyfree (void * ptr ) + + #define YYTABLES_NAME "yytables" + +-#line 496 "ldlex.l" ++#line 497 "/work/sources/binutils/centos/fork/c10s/binutils-2.41/ld/ldlex.l" + + + +diff -rupN binutils,orig/ld/testsuite/ld-aarch64/aarch64-elf.exp binutils-2.41/ld/testsuite/ld-aarch64/aarch64-elf.exp +--- binutils,orig/ld/testsuite/ld-aarch64/aarch64-elf.exp 2024-05-31 10:18:04.537951592 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/aarch64-elf.exp 2024-05-31 10:24:17.527529606 +0100 +@@ -467,6 +467,14 @@ run_dump_test "bti-far-1" + run_dump_test "bti-far-2" + run_dump_test "bti-far-opt" + ++run_dump_test_lp64 "relr-align" ++run_dump_test_lp64 "relr-data-pie" ++run_dump_test_lp64 "relr-data-shared" ++run_dump_test_lp64 "relr-got-pie" ++run_dump_test_lp64 "relr-got-shared" ++run_dump_test_lp64 "relr-text-pie" ++run_dump_test_lp64 "relr-text-shared" ++ + if { ![skip_sframe_tests] } { + run_dump_test "sframe-simple-1" + } +diff -rupN binutils,orig/ld/testsuite/ld-aarch64/relr-align.d binutils-2.41/ld/testsuite/ld-aarch64/relr-align.d +--- binutils,orig/ld/testsuite/ld-aarch64/relr-align.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-align.d 2024-05-31 10:24:17.528529607 +0100 +@@ -0,0 +1,22 @@ ++#source: relr-align.s ++#ld: -shared -z pack-relative-relocs -T relocs.ld ++#readelf: -rW ++ ++Relocation section '\.rela\.dyn' at offset 0x10090 contains 3 entries: ++ Offset Info Type Symbol's Value Symbol's Name \+ Addend ++0000000012340011 0000000000000403 R_AARCH64_RELATIVE 10000 ++0000000012340019 0000000000000403 R_AARCH64_RELATIVE 10000 ++0000000012340041 0000000000000403 R_AARCH64_RELATIVE 10000 ++ ++Relocation section '\.relr\.dyn' at offset 0x100d8 contains 9 entries which relocate 10 locations: ++Index: Entry Address Symbolic Address ++0000: 0000000012340000 0000000012340000 double_0 ++0001: 0000000000000003 0000000012340008 double_0 \+ 0x8 ++0002: 0000000012340022 0000000012340022 double_2 ++0003: 0000000000000003 000000001234002a double_2 \+ 0x8 ++0004: 0000000012340038 0000000012340038 single_0 ++0005: 000000001234004a 000000001234004a single_2 ++0006: 0000000012340058 0000000012340058 big ++0007: 8000000100000001 0000000012340158 big \+ 0x100 ++ 0000000012340250 big \+ 0x1f8 ++0008: 0000000000000003 0000000012340258 big \+ 0x200 +diff -rupN binutils,orig/ld/testsuite/ld-aarch64/relr-align.s binutils-2.41/ld/testsuite/ld-aarch64/relr-align.s +--- binutils,orig/ld/testsuite/ld-aarch64/relr-align.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-align.s 2024-05-31 10:24:17.528529607 +0100 +@@ -0,0 +1,106 @@ ++// Test DT_RELR with differently aligned relative relocs. ++ ++.text ++.global _start ++_start: ++foo: ++ ++.data ++.p2align 3 ++double_0: ++.xword foo ++.xword foo ++.byte 0 ++double_1: ++.xword foo ++.xword foo ++.byte 0 ++double_2: ++.xword foo ++.xword foo ++.byte 0 ++.byte 0 ++.byte 0 ++.byte 0 ++.byte 0 ++.byte 0 ++single_0: ++.xword foo ++.byte 0 ++single_1: ++.xword foo ++.byte 0 ++single_2: ++.xword foo ++.byte 0 ++.byte 0 ++.byte 0 ++.byte 0 ++.byte 0 ++.byte 0 ++big: ++.xword foo ++.xword 1 ++.xword 2 ++.xword 3 ++.xword 4 ++.xword 5 ++.xword 6 ++.xword 7 ++.xword 8 ++.xword 9 ++.xword 10 ++.xword 11 ++.xword 12 ++.xword 13 ++.xword 14 ++.xword 15 ++.xword 16 ++.xword 17 ++.xword 18 ++.xword 19 ++.xword 20 ++.xword 21 ++.xword 22 ++.xword 23 ++.xword 24 ++.xword 25 ++.xword 26 ++.xword 27 ++.xword 28 ++.xword 29 ++.xword 30 ++.xword 31 ++.xword foo + 32 ++.xword 33 ++.xword 34 ++.xword 35 ++.xword 36 ++.xword 37 ++.xword 38 ++.xword 39 ++.xword 40 ++.xword 41 ++.xword 42 ++.xword 43 ++.xword 44 ++.xword 45 ++.xword 46 ++.xword 47 ++.xword 48 ++.xword 49 ++.xword 50 ++.xword 51 ++.xword 52 ++.xword 53 ++.xword 54 ++.xword 55 ++.xword 56 ++.xword 57 ++.xword 58 ++.xword 59 ++.xword 60 ++.xword 61 ++.xword 62 ++.xword foo + 63 ++.xword foo + 64 +diff -rupN binutils,orig/ld/testsuite/ld-aarch64/relr-data-pie.d binutils-2.41/ld/testsuite/ld-aarch64/relr-data-pie.d +--- binutils,orig/ld/testsuite/ld-aarch64/relr-data-pie.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-data-pie.d 2024-05-31 10:24:17.528529607 +0100 +@@ -0,0 +1,18 @@ ++#source: relr-data.s ++#ld: -pie -z pack-relative-relocs -T relocs.ld ++#readelf: -rW ++ ++Relocation section '\.rela\.dyn' at offset 0x1.* contains 5 entries: ++ Offset Info Type Symbol's Value Symbol's Name \+ Addend ++0000000012340000 0000000000000403 R_AARCH64_RELATIVE 10004 ++0000000012340008 0000000000000403 R_AARCH64_RELATIVE 10008 ++0000000012340010 0000000000000403 R_AARCH64_RELATIVE 1000c ++0000000012340018 0000000000000403 R_AARCH64_RELATIVE 12340050 ++0000000012340040 0000000300000101 R_AARCH64_ABS64 0000000000000000 sym_weak_undef \+ 0 ++ ++Relocation section '\.relr\.dyn' at offset 0x1.* contains 2 entries which relocate 4 locations: ++Index: Entry Address Symbolic Address ++0000: 0000000012340020 0000000012340020 aligned_local ++0001: 0000000000000027 0000000012340028 aligned_hidden ++ 0000000012340030 aligned_global ++ 0000000012340048 aligned_DYNAMIC +diff -rupN binutils,orig/ld/testsuite/ld-aarch64/relr-data-shared.d binutils-2.41/ld/testsuite/ld-aarch64/relr-data-shared.d +--- binutils,orig/ld/testsuite/ld-aarch64/relr-data-shared.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-data-shared.d 2024-05-31 10:24:17.529529609 +0100 +@@ -0,0 +1,18 @@ ++#source: relr-data.s ++#ld: -shared -z pack-relative-relocs -T relocs.ld ++#readelf: -rW ++ ++Relocation section '\.rela\.dyn' at offset 0x10150 contains 6 entries: ++ Offset Info Type Symbol's Value Symbol's Name \+ Addend ++0000000012340000 0000000000000403 R_AARCH64_RELATIVE 10004 ++0000000012340008 0000000000000403 R_AARCH64_RELATIVE 10008 ++0000000012340018 0000000000000403 R_AARCH64_RELATIVE 12340050 ++0000000012340010 0000000400000101 R_AARCH64_ABS64 000000000001000c sym_global \+ 0 ++0000000012340030 0000000400000101 R_AARCH64_ABS64 000000000001000c sym_global \+ 0 ++0000000012340040 0000000300000101 R_AARCH64_ABS64 0000000000000000 sym_weak_undef \+ 0 ++ ++Relocation section '\.relr\.dyn' at offset 0x101e0 contains 2 entries which relocate 3 locations: ++Index: Entry Address Symbolic Address ++0000: 0000000012340020 0000000012340020 aligned_local ++0001: 0000000000000023 0000000012340028 aligned_hidden ++ 0000000012340048 aligned_DYNAMIC +diff -rupN binutils,orig/ld/testsuite/ld-aarch64/relr-data.s binutils-2.41/ld/testsuite/ld-aarch64/relr-data.s +--- binutils,orig/ld/testsuite/ld-aarch64/relr-data.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-data.s 2024-05-31 10:24:17.529529609 +0100 +@@ -0,0 +1,71 @@ ++// Test symbol references in .data when used with DT_RELR. ++// Relocations for unaligned sections are currently not packed. ++ ++.text ++.global _start ++_start: ++ nop ++ ++sym_local: ++ nop ++ ++.global sym_hidden ++.hidden sym_hidden ++sym_hidden: ++ nop ++ ++.global sym_global ++sym_global: ++ nop ++ ++.global sym_global_abs ++.set sym_global_abs, 42 ++ ++.global sym_weak_undef ++.weak sym_weak_undef ++ ++.section .data.unaligned_local ++unaligned_local: ++.xword sym_local ++ ++.section .data.unaligned_hidden ++unaligned_hidden: ++.xword sym_hidden ++ ++.section .data.unaligned_global ++unaligned_global: ++.xword sym_global ++ ++.section .data.unaligned_DYNAMIC ++unaligned_DYNAMIC: ++.xword _DYNAMIC ++ ++.section .data.aligned_local ++.p2align 1 ++aligned_local: ++.xword sym_local ++ ++.section .data.aligned_hidden ++.p2align 1 ++aligned_hidden: ++.xword sym_hidden ++ ++.section .data.aligned_global ++.p2align 1 ++aligned_global: ++.xword sym_global ++ ++.section .data.aligned_global_abs ++.p2align 1 ++aligned_global_abs: ++.xword sym_global_abs ++ ++.section .data.aligned_weak_undef ++.p2align 1 ++aligned_weak_undef: ++.xword sym_weak_undef ++ ++.section .data.aligned_DYNAMIC ++.p2align 1 ++aligned_DYNAMIC: ++.xword _DYNAMIC +diff -rupN binutils,orig/ld/testsuite/ld-aarch64/relr-got-pie.d binutils-2.41/ld/testsuite/ld-aarch64/relr-got-pie.d +--- binutils,orig/ld/testsuite/ld-aarch64/relr-got-pie.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-got-pie.d 2024-05-31 10:24:17.529529609 +0100 +@@ -0,0 +1,15 @@ ++#source: relr-got.s ++#ld: -pie -z pack-relative-relocs -T relocs.ld ++#readelf: -rW ++ ++Relocation section '\.rela\.dyn' at offset 0x1.* contains 2 entries: ++ Offset Info Type Symbol's Value Symbol's Name \+ Addend ++0000000000000000 0000000000000000 R_AARCH64_NONE 0 ++0000000000020030 0000000200000401 R_AARCH64_GLOB_DAT 0000000000000000 sym_weak_undef \+ 0 ++ ++Relocation section '\.relr\.dyn' at offset 0x1.* contains 2 entries which relocate 4 locations: ++Index: Entry Address Symbolic Address ++0000: 0000000000020008 0000000000020008 _GLOBAL_OFFSET_TABLE_ \+ 0x8 ++0001: 000000000000000f 0000000000020010 _GLOBAL_OFFSET_TABLE_ \+ 0x10 ++ 0000000000020018 _GLOBAL_OFFSET_TABLE_ \+ 0x18 ++ 0000000000020020 _GLOBAL_OFFSET_TABLE_ \+ 0x20 +diff -rupN binutils,orig/ld/testsuite/ld-aarch64/relr-got-shared.d binutils-2.41/ld/testsuite/ld-aarch64/relr-got-shared.d +--- binutils,orig/ld/testsuite/ld-aarch64/relr-got-shared.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-got-shared.d 2024-05-31 10:24:17.529529609 +0100 +@@ -0,0 +1,15 @@ ++#source: relr-got.s ++#ld: -shared -z pack-relative-relocs -T relocs.ld ++#readelf: -rW ++ ++Relocation section '\.rela\.dyn' at offset 0x10168 contains 3 entries: ++ Offset Info Type Symbol's Value Symbol's Name \+ Addend ++0000000000020020 0000000300000401 R_AARCH64_GLOB_DAT 0000000000010038 sym_global \+ 0 ++0000000000020028 0000000500000401 R_AARCH64_GLOB_DAT 000000000000002a sym_global_abs \+ 0 ++0000000000020030 0000000200000401 R_AARCH64_GLOB_DAT 0000000000000000 sym_weak_undef \+ 0 ++ ++Relocation section '\.relr\.dyn' at offset 0x101b0 contains 2 entries which relocate 3 locations: ++Index: Entry Address Symbolic Address ++0000: 0000000000020008 0000000000020008 _GLOBAL_OFFSET_TABLE_ \+ 0x8 ++0001: 0000000000000007 0000000000020010 _GLOBAL_OFFSET_TABLE_ \+ 0x10 ++ 0000000000020018 _GLOBAL_OFFSET_TABLE_ \+ 0x18 +diff -rupN binutils,orig/ld/testsuite/ld-aarch64/relr-got.s binutils-2.41/ld/testsuite/ld-aarch64/relr-got.s +--- binutils,orig/ld/testsuite/ld-aarch64/relr-got.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-got.s 2024-05-31 10:24:17.529529609 +0100 +@@ -0,0 +1,40 @@ ++// Test GOT relocations with DT_RELR. ++ ++.text ++.global _start ++_start: ++ adrp x0, :got:sym_local ++ ldr x0, [x0, :got_lo12:sym_local] ++ ++ adrp x0, :got:sym_hidden ++ ldr x0, [x0, :got_lo12:sym_hidden] ++ ++ adrp x0, :got:sym_global ++ ldr x0, [x0, :got_lo12:sym_global] ++ ++ adrp x0, :got:sym_global ++ ldr x0, [x0, :got_lo12:sym_global_abs] ++ ++ adrp x0, :got:sym_weak_undef ++ ldr x0, [x0, :got_lo12:sym_weak_undef] ++ ++ adrp x0, :got:_DYNAMIC ++ ldr x0, [x0, :got_lo12:_DYNAMIC] ++ ++sym_local: ++ nop ++ ++.global sym_hidden ++.hidden sym_hidden ++sym_hidden: ++ nop ++ ++.global sym_global ++sym_global: ++ nop ++ ++.global sym_global_abs ++.set sym_global_abs, 42 ++ ++.global sym_weak_undef ++.weak sym_weak_undef +diff -rupN binutils,orig/ld/testsuite/ld-aarch64/relr-text-pie.d binutils-2.41/ld/testsuite/ld-aarch64/relr-text-pie.d +--- binutils,orig/ld/testsuite/ld-aarch64/relr-text-pie.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-text-pie.d 2024-05-31 10:24:17.529529609 +0100 +@@ -0,0 +1,14 @@ ++#source: relr-text.s ++#ld: -pie -z pack-relative-relocs -T relocs.ld ++#readelf: -drW ++ ++#... ++ 0x0000000000000016 \(TEXTREL\) 0x0 ++#... ++ 0x0000000000000024 \(RELR\) 0x1.* ++ 0x0000000000000023 \(RELRSZ\) 8 \(bytes\) ++ 0x0000000000000025 \(RELRENT\) 8 \(bytes\) ++#... ++Relocation section '\.relr\.dyn' at offset 0x1.* contains 1 entry which relocates 1 location: ++Index: Entry Address Symbolic Address ++0000: 0000000000010000 0000000000010000 _start +diff -rupN binutils,orig/ld/testsuite/ld-aarch64/relr-text-shared.d binutils-2.41/ld/testsuite/ld-aarch64/relr-text-shared.d +--- binutils,orig/ld/testsuite/ld-aarch64/relr-text-shared.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-text-shared.d 2024-05-31 10:24:17.529529609 +0100 +@@ -0,0 +1,14 @@ ++#source: relr-text.s ++#ld: -shared -z pack-relative-relocs -T relocs.ld ++#readelf: -drW ++ ++#... ++ 0x0000000000000016 \(TEXTREL\) 0x0 ++#... ++ 0x0000000000000024 \(RELR\) 0x10098 ++ 0x0000000000000023 \(RELRSZ\) 8 \(bytes\) ++ 0x0000000000000025 \(RELRENT\) 8 \(bytes\) ++#... ++Relocation section '.relr.dyn' at offset 0x10098 contains 1 entry which relocates 1 location: ++Index: Entry Address Symbolic Address ++0000: 0000000000010000 0000000000010000 _start +diff -rupN binutils,orig/ld/testsuite/ld-aarch64/relr-text.s binutils-2.41/ld/testsuite/ld-aarch64/relr-text.s +--- binutils,orig/ld/testsuite/ld-aarch64/relr-text.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-text.s 2024-05-31 10:24:17.529529609 +0100 +@@ -0,0 +1,10 @@ ++// Test DT_RELR with DT_TEXTREL. ++ ++.text ++.p2align 3 ++.global _start ++_start: ++.global foo ++.hidden foo ++foo: ++.xword foo +diff -rupN binutils,orig/ld/testsuite/ld-elf/dt-relr-2b.d binutils-2.41/ld/testsuite/ld-elf/dt-relr-2b.d +--- binutils,orig/ld/testsuite/ld-elf/dt-relr-2b.d 2024-05-31 10:18:04.595951676 +0100 ++++ binutils-2.41/ld/testsuite/ld-elf/dt-relr-2b.d 2024-05-31 10:47:05.480989983 +0100 +@@ -12,6 +12,10 @@ Relocation section '\.rel(a|)\.dyn' at o + #... + [0-9a-f]+ +[0-9a-f]+ +R_.*_(RELATIVE|UADDR.*) .* + #... +-Relocation section '\.relr\.dyn' at offset 0x[0-9a-f]+ contains 2 entries: +- 4 offsets ++Relocation section '\.relr\.dyn' at offset 0x[0-9a-f]+ contains 2 entries which relocate [0-9]+ locations: ++#... ++0000: +[0-9a-f]+ [0-9a-f]+ +data ++0001: +[0-9a-f]+ [0-9a-f]+ +data \+ 0x[0-9a-f]+ ++ +[0-9a-f]+ +data \+ 0x[0-9a-f]+ ++ +[0-9a-f]+ +data \+ 0x[0-9a-f]+ + #pass +diff -rupN binutils,orig/ld/testsuite/ld-elf/dt-relr-2c.d binutils-2.41/ld/testsuite/ld-elf/dt-relr-2c.d +--- binutils,orig/ld/testsuite/ld-elf/dt-relr-2c.d 2024-05-31 10:18:04.595951676 +0100 ++++ binutils-2.41/ld/testsuite/ld-elf/dt-relr-2c.d 2024-05-31 10:48:54.367169332 +0100 +@@ -12,6 +12,9 @@ Relocation section '\.rel(a|)\.dyn' at o + #... + [0-9a-f]+ +[0-9a-f]+ +R_.*_(RELATIVE|UADDR.*) .* + #... +-Relocation section '\.relr\.dyn' at offset 0x[0-9a-f]+ contains 2 entries: +- 3 offsets ++Relocation section '\.relr\.dyn' at offset 0x[0-9a-f]+ contains 2 entries which relocate [0-9]+ locations: ++#... ++0000: +[0-9a-f]+ [0-9a-f]+ +.* ++0001: +[0-9a-f]+ [0-9a-f]+ +.* ++ +[0-9a-f]+ +.* + #pass +diff -rupN binutils,orig/ld/testsuite/ld-elf/dt-relr-2d.d binutils-2.41/ld/testsuite/ld-elf/dt-relr-2d.d +--- binutils,orig/ld/testsuite/ld-elf/dt-relr-2d.d 2024-05-31 10:18:04.595951676 +0100 ++++ binutils-2.41/ld/testsuite/ld-elf/dt-relr-2d.d 2024-05-31 10:49:24.208217983 +0100 +@@ -12,6 +12,11 @@ Relocation section '\.rel(a|)\.dyn' at o + #... + [0-9a-f]+ +[0-9a-f]+ +R_.*_(RELATIVE|UADDR.*) .* + #... +-Relocation section '\.relr\.dyn' at offset 0x[0-9a-f]+ contains 2 entries: +- 4 offsets ++Relocation section '\.relr\.dyn' at offset 0x[0-9a-f]+ contains 2 entries which relocate [0-9]+ locations: ++#... ++0000: +[0-9a-f]+ [0-9a-f]+ +data ++0001: +[0-9a-f]+ [0-9a-f]+ +data \+ 0x[0-9a-f]+ ++ +[0-9a-f]+ +data \+ 0x[0-9a-f]+ ++ +[0-9a-f]+ +data \+ 0x[0-9a-f]+ + #pass ++ +diff -rupN binutils,orig/ld/testsuite/ld-elf/dt-relr-2e.d binutils-2.41/ld/testsuite/ld-elf/dt-relr-2e.d +--- binutils,orig/ld/testsuite/ld-elf/dt-relr-2e.d 2024-05-31 10:18:04.595951676 +0100 ++++ binutils-2.41/ld/testsuite/ld-elf/dt-relr-2e.d 2024-05-31 10:49:50.783261306 +0100 +@@ -12,6 +12,10 @@ Relocation section '\.rel(a|)\.data' at + #... + [0-9a-f]+ +[0-9a-f]+ +R_.*_(RELATIVE|UADDR.*) .* + #... +-Relocation section '\.relr\.dyn' at offset 0x[0-9a-f]+ contains 2 entries: +- 4 offsets ++Relocation section '\.relr\.dyn' at offset 0x[0-9a-f]+ contains 2 entries which relocate [0-9]+ locations: ++#... ++0000: +[0-9a-f]+ [0-9a-f]+ +data ++0001: +[0-9a-f]+ [0-9a-f]+ +data \+ 0x[0-9a-f]+ ++ +[0-9a-f]+ +data \+ 0x[0-9a-f]+ ++ +[0-9a-f]+ +data \+ 0x[0-9a-f]+ + #pass +diff -rupN binutils,orig/ld/testsuite/ld-elf/dt-relr-2i.d binutils-2.41/ld/testsuite/ld-elf/dt-relr-2i.d +--- binutils,orig/ld/testsuite/ld-elf/dt-relr-2i.d 2024-05-31 10:18:04.595951676 +0100 ++++ binutils-2.41/ld/testsuite/ld-elf/dt-relr-2i.d 2024-05-31 10:50:16.624303428 +0100 +@@ -12,6 +12,10 @@ Relocation section '\.rel(a|)\.dyn' at o + #... + [0-9a-f]+ +[0-9a-f]+ +R_.*_(RELATIVE|UADDR.*) .* + #... +-Relocation section '\.relr\.dyn' at offset 0x[0-9a-f]+ contains 2 entries: +- 4 offsets ++Relocation section '\.relr\.dyn' at offset 0x[0-9a-f]+ contains 2 entries which relocate [0-9]+ locations: ++#... ++0000: +[0-9a-f]+ [0-9a-f]+ +data ++0001: +[0-9a-f]+ [0-9a-f]+ +data \+ 0x[0-9a-f]+ ++ +[0-9a-f]+ +data \+ 0x[0-9a-f]+ ++ +[0-9a-f]+ +data \+ 0x[0-9a-f]+ + #pass +diff -rupN binutils,orig/ld/testsuite/ld-i386/dt-relr-1a.d binutils-2.41/ld/testsuite/ld-i386/dt-relr-1a.d +--- binutils,orig/ld/testsuite/ld-i386/dt-relr-1a.d 2024-05-31 10:18:04.635951733 +0100 ++++ binutils-2.41/ld/testsuite/ld-i386/dt-relr-1a.d 2024-05-31 10:51:43.768445485 +0100 +@@ -13,12 +13,11 @@ Relocation section '\.rel\.plt' at offse + +Offset +Info +Type +Sym. Value +Symbol's Name + [0-9a-f]+ +[0-9a-f]+ +R_386_JUMP_SLOT +0+ +func1 + +-Relocation section '.relr.dyn' at offset 0x[a-f0-9]+ contains 2 entries: +- +3 offsets +-[a-f0-9]+ +-[a-f0-9]+ +-[a-f0-9]+ +- ++Relocation section '.relr.dyn' at offset 0x[a-f0-9]+ contains 2 entries which relocate [0-9]+ locations: ++#... ++0000: +[0-9a-f]+ [0-9a-f]+ +.* ++0001: +[0-9a-f]+ [0-9a-f]+ +.* ++ +[0-9a-f]+ +.* + #... + Symbol table '.symtab' contains [0-9]+ entries: + Num: Value Size Type Bind Vis Ndx Name +diff -rupN binutils,orig/ld/testsuite/ld-i386/dt-relr-1b.d binutils-2.41/ld/testsuite/ld-i386/dt-relr-1b.d +--- binutils,orig/ld/testsuite/ld-i386/dt-relr-1b.d 2024-05-31 10:18:04.635951733 +0100 ++++ binutils-2.41/ld/testsuite/ld-i386/dt-relr-1b.d 2024-05-31 10:52:16.055498118 +0100 +@@ -16,12 +16,11 @@ Relocation section '\.rel\.plt' at offse + +Offset +Info +Type +Sym. Value +Symbol's Name + [0-9a-f]+ +[0-9a-f]+ +R_386_JUMP_SLOT +0+ +func1 + +-Relocation section '.relr.dyn' at offset 0x[a-f0-9]+ contains 2 entries: +- +3 offsets +-[a-f0-9]+ +-[a-f0-9]+ +-[a-f0-9]+ +- ++Relocation section '.relr.dyn' at offset 0x[a-f0-9]+ contains 2 entries which relocate [0-9]+ locations: ++#... ++0000: +[0-9a-f]+ [0-9a-f]+ +.* ++0001: +[0-9a-f]+ [0-9a-f]+ +.* ++ +[0-9a-f]+ +.* + #... + Symbol table '.symtab' contains [0-9]+ entries: + Num: Value Size Type Bind Vis Ndx Name +diff -rupN binutils,orig/ld/testsuite/ld-powerpc/abs-pie-relr.r binutils-2.41/ld/testsuite/ld-powerpc/abs-pie-relr.r +--- binutils,orig/ld/testsuite/ld-powerpc/abs-pie-relr.r 2024-05-31 10:18:04.721951857 +0100 ++++ binutils-2.41/ld/testsuite/ld-powerpc/abs-pie-relr.r 2024-05-31 10:52:57.544565350 +0100 +@@ -3,6 +3,7 @@ + #ld: -melf64ppc -pie --hash-style=sysv -z pack-relative-relocs --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0 + #readelf: -rW + +-Relocation section '\.relr\.dyn' at offset .* contains 1 entry: +- 1 offset +-0+10338 ++Relocation section '\.relr\.dyn' at offset .* contains 1 entry which relocates 1 location: ++Index: Entry Address Symbolic Address ++0000: +[0-9a-f]+ [0-9a-f]+ +x ++ +diff -rupN binutils,orig/ld/testsuite/ld-powerpc/abs-shared-relr.r binutils-2.41/ld/testsuite/ld-powerpc/abs-shared-relr.r +--- binutils,orig/ld/testsuite/ld-powerpc/abs-shared-relr.r 2024-05-31 10:18:04.721951857 +0100 ++++ binutils-2.41/ld/testsuite/ld-powerpc/abs-shared-relr.r 2024-05-31 10:53:21.664603856 +0100 +@@ -12,6 +12,7 @@ Relocation section '\.rela\.dyn' at offs + 0+10428 0+400000014 R_PPC64_GLOB_DAT 123456789abcdef0 c \+ 0 + 0+10450 0+400000026 R_PPC64_ADDR64 123456789abcdef0 c \+ 0 + +-Relocation section '\.relr\.dyn' at offset .* contains 1 entry: +- 1 offset +-0+10438 ++Relocation section '\.relr\.dyn' at offset .* contains 1 entry which relocates 1 location: ++Index: Entry Address Symbolic Address ++0000: +[0-9a-f]+ [0-9a-f]+ +x ++ +diff -rupN binutils,orig/ld/testsuite/ld-x86-64/dt-relr-1a-x32.d binutils-2.41/ld/testsuite/ld-x86-64/dt-relr-1a-x32.d +--- binutils,orig/ld/testsuite/ld-x86-64/dt-relr-1a-x32.d 2024-05-31 10:18:04.781951943 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/dt-relr-1a-x32.d 2024-05-31 10:55:07.672773069 +0100 +@@ -13,12 +13,11 @@ Relocation section '.rela.plt' at offset + +Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend + [0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +0+ +func1 \+ 0 + +-Relocation section '.relr.dyn' at offset 0x[a-f0-9]+ contains 2 entries: +- +3 offsets +-[a-f0-9]+ +-[a-f0-9]+ +-[a-f0-9]+ +- ++Relocation section '.relr.dyn' at offset 0x[a-f0-9]+ contains 2 entries which relocate [0-9]+ locations: ++#... ++0000: +[0-9a-f]+ [0-9a-f]+ +.* ++0001: +[0-9a-f]+ [0-9a-f]+ +.* ++ +[0-9a-f]+ +.* + #... + Symbol table '.symtab' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +diff -rupN binutils,orig/ld/testsuite/ld-x86-64/dt-relr-1a.d binutils-2.41/ld/testsuite/ld-x86-64/dt-relr-1a.d +--- binutils,orig/ld/testsuite/ld-x86-64/dt-relr-1a.d 2024-05-31 10:18:04.781951943 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/dt-relr-1a.d 2024-05-31 10:54:21.440699272 +0100 +@@ -13,12 +13,11 @@ Relocation section '.rela.plt' at offset + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend + [0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +0+ +func1 \+ 0 + +-Relocation section '.relr.dyn' at offset 0x[a-f0-9]+ contains 2 entries: +- +3 offsets +-[a-f0-9]+ +-[a-f0-9]+ +-[a-f0-9]+ +- ++Relocation section '.relr.dyn' at offset 0x[a-f0-9]+ contains 2 entries which relocate [0-9]+ locations: ++#... ++0000: +[0-9a-f]+ [0-9a-f]+ +.* ++0001: +[0-9a-f]+ [0-9a-f]+ +.* ++ +[0-9a-f]+ +.* + #... + Symbol table '.symtab' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +diff -rupN binutils,orig/ld/testsuite/ld-x86-64/dt-relr-1b-x32.d binutils-2.41/ld/testsuite/ld-x86-64/dt-relr-1b-x32.d +--- binutils,orig/ld/testsuite/ld-x86-64/dt-relr-1b-x32.d 2024-05-31 10:18:04.781951943 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/dt-relr-1b-x32.d 2024-05-31 10:55:27.936805417 +0100 +@@ -16,12 +16,11 @@ Relocation section '.rela.plt' at offset + +Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend + [0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +0+ +func1 \+ 0 + +-Relocation section '.relr.dyn' at offset 0x[a-f0-9]+ contains 2 entries: +- +3 offsets +-[a-f0-9]+ +-[a-f0-9]+ +-[a-f0-9]+ +- ++Relocation section '.relr.dyn' at offset 0x[a-f0-9]+ contains 2 entries which relocate [0-9]+ locations: ++#... ++0000: +[0-9a-f]+ [0-9a-f]+ +.* ++0001: +[0-9a-f]+ [0-9a-f]+ +.* ++ +[0-9a-f]+ +.* + #... + Symbol table '.symtab' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +diff -rupN binutils,orig/ld/testsuite/ld-x86-64/dt-relr-1b.d binutils-2.41/ld/testsuite/ld-x86-64/dt-relr-1b.d +--- binutils,orig/ld/testsuite/ld-x86-64/dt-relr-1b.d 2024-05-31 10:18:04.781951943 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/dt-relr-1b.d 2024-05-31 10:54:44.649736317 +0100 +@@ -16,12 +16,11 @@ Relocation section '.rela.plt' at offset + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend + [0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +0+ +func1 \+ 0 + +-Relocation section '.relr.dyn' at offset 0x[a-f0-9]+ contains 2 entries: +- +3 offsets +-[a-f0-9]+ +-[a-f0-9]+ +-[a-f0-9]+ +- ++Relocation section '.relr.dyn' at offset 0x[a-f0-9]+ contains 2 entries which relocate [0-9]+ locations: ++#... ++0000: +[0-9a-f]+ [0-9a-f]+ +.* ++0001: +[0-9a-f]+ [0-9a-f]+ +.* ++ +[0-9a-f]+ +.* + #... + Symbol table '.symtab' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +diff -rup binutils.orig/bfd/elfnn-aarch64.c binutils-2.41/bfd/elfnn-aarch64.c +--- binutils.orig/bfd/elfnn-aarch64.c 2024-06-17 16:39:30.773928699 +0100 ++++ binutils-2.41/bfd/elfnn-aarch64.c 2024-06-17 16:40:31.696076282 +0100 +@@ -9330,6 +9330,8 @@ record_relr_non_got_relocs (bfd *input_b + return true; + if (sec->alignment_power == 0) + return true; ++ if (discarded_section (sec)) ++ return true; + sreloc = elf_section_data (sec)->sreloc; + if (sreloc == NULL) + return true; +@@ -9604,8 +9606,7 @@ elfNN_aarch64_size_dynamic_sections (bfd + for (p = (struct elf_dyn_relocs *) + (elf_section_data (s)->local_dynrel); p != NULL; p = p->next) + { +- if (!bfd_is_abs_section (p->sec) +- && bfd_is_abs_section (p->sec->output_section)) ++ if (discarded_section (p->sec)) + { + /* Input section has been discarded, either because + it is a copy of a linkonce section or due to +Only in binutils-2.41/bfd: elfnn-aarch64.c.orig +diff -rup binutils.orig/ld/testsuite/ld-aarch64/aarch64-elf.exp binutils-2.41/ld/testsuite/ld-aarch64/aarch64-elf.exp +--- binutils.orig/ld/testsuite/ld-aarch64/aarch64-elf.exp 2024-06-17 16:39:33.555935438 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/aarch64-elf.exp 2024-06-17 16:40:40.933098658 +0100 +@@ -474,6 +474,8 @@ run_dump_test_lp64 "relr-got-pie" + run_dump_test_lp64 "relr-got-shared" + run_dump_test_lp64 "relr-text-pie" + run_dump_test_lp64 "relr-text-shared" ++run_dump_test_lp64 "relr-discard-pie" ++run_dump_test_lp64 "relr-discard-shared" + + if { ![skip_sframe_tests] } { + run_dump_test "sframe-simple-1" +Only in binutils-2.41/ld/testsuite/ld-aarch64: aarch64-elf.exp.orig +Only in binutils-2.41/ld/testsuite/ld-aarch64: relr-discard-pie.d +Only in binutils-2.41/ld/testsuite/ld-aarch64: relr-discard-shared.d +Only in binutils-2.41/ld/testsuite/ld-aarch64: relr-discard.ld +Only in binutils-2.41/ld/testsuite/ld-aarch64: relr-discard.s +--- /dev/null 2024-06-17 07:14:45.537242699 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-discard-pie.d 2024-06-17 16:40:40.934098660 +0100 +@@ -0,0 +1,18 @@ ++#source: relr-discard.s ++#ld: -pie --no-apply-dynamic-relocs -z pack-relative-relocs -T relr-discard.ld ++#readelf: -rW ++ ++# Note: There are unnecessary GOT entries and *_NONE relocations ++# for those GOT entries and discarded locations, this is bug 31850. ++ ++Relocation section '\.rela\.dyn' at offset 0x1.* contains 4 entries: ++ Offset Info Type Symbol's Value Symbol's Name \+ Addend ++0000000000000000 0000000000000000 R_AARCH64_NONE 0 ++0000000000000000 0000000000000000 R_AARCH64_NONE 0 ++0000000000000000 0000000000000000 R_AARCH64_NONE 0 ++0000000000000000 0000000000000000 R_AARCH64_NONE 0 ++ ++Relocation section '\.relr\.dyn' at offset 0x1.* contains 2 entries which relocate 2 locations: ++Index: Entry Address Symbolic Address ++0000: 0000000000020008 0000000000020008 _GLOBAL_OFFSET_TABLE_ \+ 0x8 ++0001: 0000000000000003 0000000000020010 _GLOBAL_OFFSET_TABLE_ \+ 0x10 +--- /dev/null 2024-06-17 07:14:45.537242699 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-discard-shared.d 2024-06-17 16:40:40.934098660 +0100 +@@ -0,0 +1,18 @@ ++#source: relr-discard.s ++#ld: -shared --no-apply-dynamic-relocs -z pack-relative-relocs -T relr-discard.ld ++#readelf: -rW ++ ++# Note: There are unnecessary GOT entries and *_NONE relocations ++# for those GOT entries and discarded locations, this is bug 31850. ++ ++Relocation section '\.rela\.dyn' at offset 0x1.* contains 5 entries: ++ Offset Info Type Symbol's Value Symbol's Name \+ Addend ++0000000000000000 0000000000000000 R_AARCH64_NONE 0 ++0000000000000000 0000000000000000 R_AARCH64_NONE 0 ++0000000000000000 0000000000000000 R_AARCH64_NONE 0 ++0000000000000000 0000000000000000 R_AARCH64_NONE 0 ++0000000000020010 .* R_AARCH64_GLOB_DAT 000000000001000c sym_global \+ 0 ++ ++Relocation section '\.relr\.dyn' at offset 0x1.* contains 1 entry which relocates 1 location: ++Index: Entry Address Symbolic Address ++0000: 0000000000020008 0000000000020008 _GLOBAL_OFFSET_TABLE_ \+ 0x8 +--- /dev/null 2024-06-17 07:14:45.537242699 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-discard.ld 2024-06-17 16:40:40.935098663 +0100 +@@ -0,0 +1,13 @@ ++OUTPUT_ARCH(aarch64) ++ENTRY(_start) ++SECTIONS ++{ ++ /DISCARD/ : { *(.discard.*) } ++ ++ . = 0x10000; ++ .text : { *(.text) } ++ . = 0x20000; ++ .got : { *(.got) *(.got.plt)} ++ . = 0x30000; ++ .data : { *(.data) *(.data.*) } ++} +--- /dev/null 2024-06-17 07:14:45.537242699 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/relr-discard.s 2024-06-17 16:40:40.935098663 +0100 +@@ -0,0 +1,63 @@ ++// Test DT_RELR with references in discarded sections. ++ ++.text ++.p2align 3 ++.global _start ++_start: ++ nop ++ ++sym_local: ++ nop ++ ++.global sym_hidden ++.hidden sym_hidden ++sym_hidden: ++ nop ++ ++.global sym_global ++sym_global: ++ nop ++ ++.global sym_global_abs ++.set sym_global_abs, 42 ++ ++.global sym_weak_undef ++.weak sym_weak_undef ++ ++.section .discard.got_local,"ax" ++ adrp x0, :got:sym_local ++ ldr x0, [x0, :got_lo12:sym_local] ++ ++.section .discard.got_global,"ax" ++ adrp x0, :got:sym_global ++ ldr x0, [x0, :got_lo12:sym_global] ++ ++.section .discard.local,"a" ++.p2align 1 ++discard_local: ++.xword sym_local ++ ++.section .discard.hidden,"a" ++.p2align 1 ++discard_hidden: ++.xword sym_hidden ++ ++.section .discard.global,"a" ++.p2align 1 ++discard_global: ++.xword sym_global ++ ++.section .discard.global_abs,"a" ++.p2align 1 ++discard_global_abs: ++.xword sym_global_abs ++ ++.section .discard.weak_undef,"a" ++.p2align 1 ++discard_weak_undef: ++.xword sym_weak_undef ++ ++.section .discard._DYNAMIC,"a" ++.p2align 1 ++discard_DYNAMIC: ++.xword _DYNAMIC +--- binutils.orig/bfd/elfnn-aarch64.c 2024-07-03 11:30:06.253468451 +0100 ++++ binutils-2.41/bfd/elfnn-aarch64.c 2024-07-03 11:32:46.511868389 +0100 +@@ -5993,8 +5993,6 @@ elfNN_aarch64_final_link_relocate (reloc + { + /* Don't emit a relative relocation that is packed, only + apply the addend. */ +- if (globals->no_apply_dynamic_relocs) +- return bfd_reloc_ok; + return _bfd_final_link_relocate (howto, input_bfd, input_section, + contents, rel->r_offset, value, + signed_addend); diff --git a/SOURCES/binutils-aarch64-big-bti-programs.patch b/SOURCES/binutils-aarch64-big-bti-programs.patch new file mode 100644 index 0000000..b9e50bd --- /dev/null +++ b/SOURCES/binutils-aarch64-big-bti-programs.patch @@ -0,0 +1,139 @@ +diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c +index 4592bd6da27..4faf642b422 100644 +--- a/bfd/elfnn-aarch64.c ++++ b/bfd/elfnn-aarch64.c +@@ -3675,7 +3675,7 @@ group_sections (struct elf_aarch64_link_hash_table *htab, + /* True if the inserted stub does not break BTI compatibility. */ + + static bool +-aarch64_bti_stub_p (bfd *input_bfd, ++aarch64_bti_stub_p (struct bfd_link_info *info, + struct elf_aarch64_stub_hash_entry *stub_entry) + { + /* Stubs without indirect branch are BTI compatible. */ +@@ -3685,12 +3685,22 @@ aarch64_bti_stub_p (bfd *input_bfd, + + /* Return true if the target instruction is compatible with BR x16. */ + ++ struct elf_aarch64_link_hash_table *globals = elf_aarch64_hash_table (info); + asection *section = stub_entry->target_section; + bfd_byte loc[4]; + file_ptr off = stub_entry->target_value; + bfd_size_type count = sizeof (loc); + +- if (!bfd_get_section_contents (input_bfd, section, loc, off, count)) ++ /* PLT code is not generated yet, so treat it specially. ++ Note: Checking elf_aarch64_obj_tdata.plt_type & PLT_BTI is not ++ enough because it only implies BTI in the PLT0 and tlsdesc PLT ++ entries. Normal PLT entries don't have BTI in a shared library ++ (because such PLT is normally not called indirectly and adding ++ the BTI when a stub targets a PLT would change the PLT layout ++ and it's too late for that here). */ ++ if (section == globals->root.splt) ++ memcpy (loc, globals->plt_entry, count); ++ else if (!bfd_get_section_contents (section->owner, section, loc, off, count)) + return false; + + uint32_t insn = bfd_getl32 (loc); +@@ -4637,11 +4647,24 @@ _bfd_aarch64_add_call_stub_entries (bool *stub_changed, bfd *output_bfd, + + /* A stub with indirect jump may break BTI compatibility, so + insert another stub with direct jump near the target then. */ +- if (need_bti && !aarch64_bti_stub_p (input_bfd, stub_entry)) ++ if (need_bti && !aarch64_bti_stub_p (info, stub_entry)) + { ++ id_sec_bti = htab->stub_group[sym_sec->id].link_sec; ++ ++ /* If the stub with indirect jump and the BTI stub are in ++ the same stub group: change the indirect jump stub into ++ a BTI stub since a direct branch can reach the target. ++ The BTI landing pad is still needed in case another ++ stub indirectly jumps to it. */ ++ if (id_sec_bti == id_sec) ++ { ++ stub_entry->stub_type = aarch64_stub_bti_direct_branch; ++ goto skip_double_stub; ++ } ++ + stub_entry->double_stub = true; + htab->has_double_stub = true; +- id_sec_bti = htab->stub_group[sym_sec->id].link_sec; ++ + stub_name_bti = + elfNN_aarch64_stub_name (id_sec_bti, sym_sec, hash, irela); + if (!stub_name_bti) +@@ -4653,33 +4676,41 @@ _bfd_aarch64_add_call_stub_entries (bool *stub_changed, bfd *output_bfd, + stub_entry_bti = + aarch64_stub_hash_lookup (&htab->stub_hash_table, + stub_name_bti, false, false); +- if (stub_entry_bti == NULL) +- stub_entry_bti = +- _bfd_aarch64_add_stub_entry_in_group (stub_name_bti, +- sym_sec, htab); +- if (stub_entry_bti == NULL) ++ if (stub_entry_bti != NULL) ++ BFD_ASSERT (stub_entry_bti->stub_type ++ == aarch64_stub_bti_direct_branch); ++ else + { +- free (stub_name); +- free (stub_name_bti); +- goto error_ret_free_internal; +- } +- +- stub_entry_bti->target_value = sym_value + irela->r_addend; +- stub_entry_bti->target_section = sym_sec; +- stub_entry_bti->stub_type = aarch64_stub_bti_direct_branch; +- stub_entry_bti->h = hash; +- stub_entry_bti->st_type = st_type; ++ stub_entry_bti = ++ _bfd_aarch64_add_stub_entry_in_group (stub_name_bti, ++ sym_sec, htab); ++ if (stub_entry_bti == NULL) ++ { ++ free (stub_name); ++ free (stub_name_bti); ++ goto error_ret_free_internal; ++ } + +- len = sizeof (BTI_STUB_ENTRY_NAME) + strlen (sym_name); +- stub_entry_bti->output_name = bfd_alloc (htab->stub_bfd, len); +- if (stub_entry_bti->output_name == NULL) +- { +- free (stub_name); +- free (stub_name_bti); +- goto error_ret_free_internal; ++ stub_entry_bti->target_value = ++ sym_value + irela->r_addend; ++ stub_entry_bti->target_section = sym_sec; ++ stub_entry_bti->stub_type = ++ aarch64_stub_bti_direct_branch; ++ stub_entry_bti->h = hash; ++ stub_entry_bti->st_type = st_type; ++ ++ len = sizeof (BTI_STUB_ENTRY_NAME) + strlen (sym_name); ++ stub_entry_bti->output_name = bfd_alloc (htab->stub_bfd, ++ len); ++ if (stub_entry_bti->output_name == NULL) ++ { ++ free (stub_name); ++ free (stub_name_bti); ++ goto error_ret_free_internal; ++ } ++ snprintf (stub_entry_bti->output_name, len, ++ BTI_STUB_ENTRY_NAME, sym_name); + } +- snprintf (stub_entry_bti->output_name, len, +- BTI_STUB_ENTRY_NAME, sym_name); + + /* Update the indirect call stub to target the BTI stub. */ + stub_entry->target_value = 0; +@@ -4688,7 +4719,7 @@ _bfd_aarch64_add_call_stub_entries (bool *stub_changed, bfd *output_bfd, + stub_entry->h = NULL; + stub_entry->st_type = STT_FUNC; + } +- ++skip_double_stub: + *stub_changed = true; + } + diff --git a/SOURCES/binutils-autoconf-version.patch b/SOURCES/binutils-autoconf-version.patch new file mode 100644 index 0000000..f94fdad --- /dev/null +++ b/SOURCES/binutils-autoconf-version.patch @@ -0,0 +1,11 @@ +--- binutils.orig/config/override.m4 2021-08-31 14:20:17.275574804 +0100 ++++ binutils-2.37/config/override.m4 2021-08-31 14:36:37.793954247 +0100 +@@ -41,7 +41,7 @@ dnl Or for updating the whole tree at on + AC_DEFUN([_GCC_AUTOCONF_VERSION_CHECK], + [m4_if(m4_defn([_GCC_AUTOCONF_VERSION]), + m4_defn([m4_PACKAGE_VERSION]), [], +- [m4_fatal([Please use exactly Autoconf ]_GCC_AUTOCONF_VERSION[ instead of ]m4_defn([m4_PACKAGE_VERSION])[.])]) ++ []) + ]) + m4_define([AC_INIT], m4_defn([AC_INIT])[ + _GCC_AUTOCONF_VERSION_CHECK diff --git a/SOURCES/binutils-big-merge.patch b/SOURCES/binutils-big-merge.patch new file mode 100644 index 0000000..b177a3e --- /dev/null +++ b/SOURCES/binutils-big-merge.patch @@ -0,0 +1,29 @@ +--- binutils.orig/bfd/merge.c 2023-11-07 09:49:56.923358543 +0000 ++++ binutils-2.41/bfd/merge.c 2023-11-07 09:51:47.031552039 +0000 +@@ -167,7 +167,7 @@ static bool + sec_merge_maybe_resize (struct sec_merge_hash *table, unsigned added) + { + struct bfd_hash_table *bfdtab = &table->table; +- if (bfdtab->count + added > table->nbuckets * 2 / 3) ++ if (bfdtab->count + added > table->nbuckets / 3 * 2) + { + unsigned i; + unsigned long newnb = table->nbuckets * 2; +@@ -175,7 +175,7 @@ sec_merge_maybe_resize (struct sec_merge + uint64_t *newl; + unsigned long alloc; + +- while (bfdtab->count + added > newnb * 2 / 3) ++ while (bfdtab->count + added > newnb / 3 * 2) + { + newnb *= 2; + if (!newnb) +@@ -240,7 +240,7 @@ sec_merge_hash_insert (struct sec_merge_ + hashp->u.suffix = NULL; + hashp->next = NULL; + // We must not need resizing, otherwise _index is wrong +- BFD_ASSERT (bfdtab->count + 1 <= table->nbuckets * 2 / 3); ++ BFD_ASSERT (bfdtab->count + 1 <= table->nbuckets / 3 * 2); + bfdtab->count++; + table->key_lens[_index] = (hash << 32) | (uint32_t)len; + table->values[_index] = hashp; diff --git a/SOURCES/binutils-demangler-updates.patch b/SOURCES/binutils-demangler-updates.patch new file mode 100644 index 0000000..b752961 --- /dev/null +++ b/SOURCES/binutils-demangler-updates.patch @@ -0,0 +1,374 @@ +--- binutils.orig/include/demangle.h 2024-01-17 09:54:10.945686323 +0000 ++++ binutils-2.41/include/demangle.h 2024-01-17 09:54:55.696760281 +0000 +@@ -1,5 +1,5 @@ + /* Defs for interface to demanglers. +- Copyright (C) 1992-2023 Free Software Foundation, Inc. ++ Copyright (C) 1992-2024 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License +@@ -448,6 +448,8 @@ enum demangle_component_type + DEMANGLE_COMPONENT_TRANSACTION_SAFE, + /* A cloned function. */ + DEMANGLE_COMPONENT_CLONE, ++ /* A member-like friend function. */ ++ DEMANGLE_COMPONENT_FRIEND, + DEMANGLE_COMPONENT_NOEXCEPT, + DEMANGLE_COMPONENT_THROW_SPEC, + +@@ -464,6 +466,8 @@ enum demangle_component_type + DEMANGLE_COMPONENT_TEMPLATE_TEMPLATE_PARM, + DEMANGLE_COMPONENT_TEMPLATE_PACK_PARM, + ++ DEMANGLE_COMPONENT_CONSTRAINTS, ++ + /* A builtin type with argument. This holds the builtin type + information. */ + DEMANGLE_COMPONENT_EXTENDED_BUILTIN_TYPE +diff -rup binutils.orig/libiberty/cp-demangle.c binutils-2.41/libiberty/cp-demangle.c +--- binutils.orig/libiberty/cp-demangle.c 2024-01-17 09:54:11.323686947 +0000 ++++ binutils-2.41/libiberty/cp-demangle.c 2024-01-17 09:54:42.468738420 +0000 +@@ -1,5 +1,5 @@ + /* Demangler for g++ V3 ABI. +- Copyright (C) 2003-2023 Free Software Foundation, Inc. ++ Copyright (C) 2003-2024 Free Software Foundation, Inc. + Written by Ian Lance Taylor . + + This file is part of the libiberty library, which is part of GCC. +@@ -993,6 +993,7 @@ d_make_comp (struct d_info *di, enum dem + case DEMANGLE_COMPONENT_VECTOR_TYPE: + case DEMANGLE_COMPONENT_CLONE: + case DEMANGLE_COMPONENT_MODULE_ENTITY: ++ case DEMANGLE_COMPONENT_CONSTRAINTS: + if (left == NULL || right == NULL) + return NULL; + break; +@@ -1036,6 +1037,7 @@ d_make_comp (struct d_info *di, enum dem + case DEMANGLE_COMPONENT_TEMPLATE_NON_TYPE_PARM: + case DEMANGLE_COMPONENT_TEMPLATE_TEMPLATE_PARM: + case DEMANGLE_COMPONENT_TEMPLATE_PACK_PARM: ++ case DEMANGLE_COMPONENT_FRIEND: + if (left == NULL) + return NULL; + break; +@@ -1344,6 +1346,22 @@ is_ctor_dtor_or_conversion (struct deman + } + } + ++/* [ Q ] */ ++ ++static struct demangle_component * ++d_maybe_constraints (struct d_info *di, struct demangle_component *dc) ++{ ++ if (d_peek_char (di) == 'Q') ++ { ++ d_advance (di, 1); ++ struct demangle_component *expr = d_expression (di); ++ if (expr == NULL) ++ return NULL; ++ dc = d_make_comp (di, DEMANGLE_COMPONENT_CONSTRAINTS, dc, expr); ++ } ++ return dc; ++} ++ + /* ::= <(function) name> + ::= <(data) name> + ::= +@@ -1397,21 +1415,21 @@ d_encoding (struct d_info *di, int top_l + struct demangle_component *ftype; + + ftype = d_bare_function_type (di, has_return_type (dc)); +- if (ftype) +- { +- /* If this is a non-top-level local-name, clear the +- return type, so it doesn't confuse the user by +- being confused with the return type of whaever +- this is nested within. */ +- if (!top_level && dc->type == DEMANGLE_COMPONENT_LOCAL_NAME +- && ftype->type == DEMANGLE_COMPONENT_FUNCTION_TYPE) +- d_left (ftype) = NULL; ++ if (!ftype) ++ return NULL; + +- dc = d_make_comp (di, DEMANGLE_COMPONENT_TYPED_NAME, +- dc, ftype); +- } +- else +- dc = NULL; ++ /* If this is a non-top-level local-name, clear the ++ return type, so it doesn't confuse the user by ++ being confused with the return type of whaever ++ this is nested within. */ ++ if (!top_level && dc->type == DEMANGLE_COMPONENT_LOCAL_NAME ++ && ftype->type == DEMANGLE_COMPONENT_FUNCTION_TYPE) ++ d_left (ftype) = NULL; ++ ++ ftype = d_maybe_constraints (di, ftype); ++ ++ dc = d_make_comp (di, DEMANGLE_COMPONENT_TYPED_NAME, ++ dc, ftype); + } + } + } +@@ -1681,6 +1699,7 @@ d_maybe_module_name (struct d_info *di, + /* ::= [] [] + ::= [] [] + ::= [] [] ++ ::= [] F [] + ::= [] [] + ::= [] DC + E [] + ::= L [] +@@ -1692,11 +1711,18 @@ d_unqualified_name (struct d_info *di, s + { + struct demangle_component *ret; + char peek; ++ int member_like_friend = 0; + + if (!d_maybe_module_name (di, &module)) + return NULL; + + peek = d_peek_char (di); ++ if (peek == 'F') ++ { ++ member_like_friend = 1; ++ d_advance (di, 1); ++ peek = d_peek_char (di); ++ } + if (IS_DIGIT (peek)) + ret = d_source_name (di); + else if (IS_LOWER (peek)) +@@ -1773,6 +1799,8 @@ d_unqualified_name (struct d_info *di, s + ret = d_make_comp (di, DEMANGLE_COMPONENT_MODULE_ENTITY, ret, module); + if (d_peek_char (di) == 'B') + ret = d_abi_tags (di, ret); ++ if (member_like_friend) ++ ret = d_make_comp (di, DEMANGLE_COMPONENT_FRIEND, ret, NULL); + if (scope) + ret = d_make_comp (di, DEMANGLE_COMPONENT_QUAL_NAME, scope, ret); + +@@ -3012,7 +3040,7 @@ d_parmlist (struct d_info *di) + struct demangle_component *type; + + char peek = d_peek_char (di); +- if (peek == '\0' || peek == 'E' || peek == '.') ++ if (peek == '\0' || peek == 'E' || peek == '.' || peek == 'Q') + break; + if ((peek == 'R' || peek == 'O') + && d_peek_next_char (di) == 'E') +@@ -3248,7 +3276,7 @@ d_template_args (struct d_info *di) + return d_template_args_1 (di); + } + +-/* * E */ ++/* * [Q ] E */ + + static struct demangle_component * + d_template_args_1 (struct d_info *di) +@@ -3284,13 +3312,17 @@ d_template_args_1 (struct d_info *di) + return NULL; + pal = &d_right (*pal); + +- if (d_peek_char (di) == 'E') +- { +- d_advance (di, 1); +- break; +- } ++ char peek = d_peek_char (di); ++ if (peek == 'E' || peek == 'Q') ++ break; + } + ++ al = d_maybe_constraints (di, al); ++ ++ if (d_peek_char (di) != 'E') ++ return NULL; ++ d_advance (di, 1); ++ + di->last_name = hold_last_name; + + return al; +@@ -4431,6 +4463,7 @@ d_count_templates_scopes (struct d_print + case DEMANGLE_COMPONENT_PACK_EXPANSION: + case DEMANGLE_COMPONENT_TAGGED_NAME: + case DEMANGLE_COMPONENT_CLONE: ++ case DEMANGLE_COMPONENT_CONSTRAINTS: + recurse_left_right: + /* PR 89394 - Check for too much recursion. */ + if (dpi->recursion > DEMANGLE_RECURSION_LIMIT) +@@ -4459,6 +4492,7 @@ d_count_templates_scopes (struct d_print + case DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS: + case DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS: + case DEMANGLE_COMPONENT_MODULE_ENTITY: ++ case DEMANGLE_COMPONENT_FRIEND: + d_count_templates_scopes (dpi, d_left (dc)); + break; + +@@ -5189,6 +5223,22 @@ d_print_comp_inner (struct d_print_info + dpt.next = dpi->templates; + dpi->templates = &dpt; + dpt.template_decl = typed_name; ++ ++ /* Constraints are mangled as part of the template argument list, ++ so they wrap the _TEMPLATE_ARGLIST. But ++ d_lookup_template_argument expects the RHS of _TEMPLATE to be ++ the _ARGLIST, and constraints need to refer to these args. So ++ move the _CONSTRAINTS out of the _TEMPLATE and onto the type. ++ This will result in them being printed after the () like a ++ trailing requires-clause, but that seems like our best option ++ given that we aren't printing a template-head. */ ++ struct demangle_component *tnr = d_right (typed_name); ++ if (tnr->type == DEMANGLE_COMPONENT_CONSTRAINTS) ++ { ++ d_right (typed_name) = d_left (tnr); ++ d_left (tnr) = d_right (dc); ++ d_right (dc) = tnr; ++ } + } + + d_print_comp (dpi, options, d_right (dc)); +@@ -6197,6 +6247,11 @@ d_print_comp_inner (struct d_print_info + d_append_char (dpi, ']'); + return; + ++ case DEMANGLE_COMPONENT_FRIEND: ++ d_print_comp (dpi, options, d_left (dc)); ++ d_append_string (dpi, "[friend]"); ++ return; ++ + case DEMANGLE_COMPONENT_TEMPLATE_HEAD: + { + d_append_char (dpi, '<'); +@@ -6231,6 +6286,12 @@ d_print_comp_inner (struct d_print_info + d_append_string (dpi, "..."); + return; + ++ case DEMANGLE_COMPONENT_CONSTRAINTS: ++ d_print_comp (dpi, options, d_left (dc)); ++ d_append_string (dpi, " requires "); ++ d_print_comp (dpi, options, d_right (dc)); ++ return; ++ + default: + d_print_error (dpi); + return; +--- binutils.orig/include/demangle.h 2024-01-17 11:06:11.111229985 +0000 ++++ binutils-2.41/include/demangle.h 2024-01-17 11:06:21.281242709 +0000 +@@ -314,6 +314,8 @@ enum demangle_component_type + /* C++11: An rvalue reference modifying a member function. The one + subtree is the type which is being referenced. */ + DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS, ++ /* C++23: A member function with explict object parameter. */ ++ DEMANGLE_COMPONENT_XOBJ_MEMBER_FUNCTION, + /* A vendor qualifier. The left subtree is the type which is being + qualified, and the right subtree is the name of the + qualifier. */ +--- binutils.orig/libiberty/cp-demangle.c 2024-01-17 11:06:11.246230153 +0000 ++++ binutils-2.41/libiberty/cp-demangle.c 2024-01-17 11:06:21.282242710 +0000 +@@ -581,6 +581,7 @@ static char *d_demangle (const char *, i + case DEMANGLE_COMPONENT_CONST_THIS: \ + case DEMANGLE_COMPONENT_REFERENCE_THIS: \ + case DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS: \ ++ case DEMANGLE_COMPONENT_XOBJ_MEMBER_FUNCTION: \ + case DEMANGLE_COMPONENT_TRANSACTION_SAFE: \ + case DEMANGLE_COMPONENT_NOEXCEPT: \ + case DEMANGLE_COMPONENT_THROW_SPEC +@@ -749,6 +750,9 @@ d_dump (struct demangle_component *dc, i + case DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS: + printf ("rvalue reference this\n"); + break; ++ case DEMANGLE_COMPONENT_XOBJ_MEMBER_FUNCTION: ++ printf ("explicit object parameter\n"); ++ break; + case DEMANGLE_COMPONENT_TRANSACTION_SAFE: + printf ("transaction_safe this\n"); + break; +@@ -1547,6 +1551,8 @@ d_name (struct d_info *di, int substable + + /* ::= N [] [] E + ::= N [] [] E ++ ::= N H E ++ ::= N H E + */ + + static struct demangle_component * +@@ -1559,13 +1565,24 @@ d_nested_name (struct d_info *di) + if (! d_check_char (di, 'N')) + return NULL; + +- pret = d_cv_qualifiers (di, &ret, 1); +- if (pret == NULL) +- return NULL; ++ if (d_peek_char (di) == 'H') ++ { ++ d_advance (di, 1); ++ di->expansion += sizeof "this"; ++ pret = &ret; ++ rqual = d_make_comp (di, DEMANGLE_COMPONENT_XOBJ_MEMBER_FUNCTION, ++ NULL, NULL); ++ } ++ else ++ { ++ pret = d_cv_qualifiers (di, &ret, 1); ++ if (pret == NULL) ++ return NULL; + +- /* Parse the ref-qualifier now and then attach it +- once we have something to attach it to. */ +- rqual = d_ref_qualifier (di, NULL); ++ /* Parse the ref-qualifier now and then attach it ++ once we have something to attach it to. */ ++ rqual = d_ref_qualifier (di, NULL); ++ } + + *pret = d_prefix (di, 1); + if (*pret == NULL) +@@ -4427,6 +4444,7 @@ d_count_templates_scopes (struct d_print + case DEMANGLE_COMPONENT_CONST_THIS: + case DEMANGLE_COMPONENT_REFERENCE_THIS: + case DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS: ++ case DEMANGLE_COMPONENT_XOBJ_MEMBER_FUNCTION: + case DEMANGLE_COMPONENT_TRANSACTION_SAFE: + case DEMANGLE_COMPONENT_NOEXCEPT: + case DEMANGLE_COMPONENT_THROW_SPEC: +@@ -6521,6 +6539,8 @@ d_print_mod (struct d_print_info *dpi, i + case DEMANGLE_COMPONENT_RVALUE_REFERENCE: + d_append_string (dpi, "&&"); + return; ++ case DEMANGLE_COMPONENT_XOBJ_MEMBER_FUNCTION: ++ return; + case DEMANGLE_COMPONENT_COMPLEX: + d_append_string (dpi, " _Complex"); + return; +@@ -6559,11 +6579,13 @@ d_print_function_type (struct d_print_in + { + int need_paren; + int need_space; ++ int xobj_memfn; + struct d_print_mod *p; + struct d_print_mod *hold_modifiers; + + need_paren = 0; + need_space = 0; ++ xobj_memfn = 0; + for (p = mods; p != NULL; p = p->next) + { + if (p->printed) +@@ -6586,7 +6608,8 @@ d_print_function_type (struct d_print_in + need_space = 1; + need_paren = 1; + break; +- FNQUAL_COMPONENT_CASE: ++ case DEMANGLE_COMPONENT_XOBJ_MEMBER_FUNCTION: ++ xobj_memfn = 1; + break; + default: + break; +@@ -6617,6 +6640,8 @@ d_print_function_type (struct d_print_in + d_append_char (dpi, ')'); + + d_append_char (dpi, '('); ++ if (xobj_memfn) ++ d_append_string (dpi, "this "); + + if (d_right (dc) != NULL) + d_print_comp (dpi, options, d_right (dc)); diff --git a/SOURCES/binutils-do-not-link-with-static-libstdc++.patch b/SOURCES/binutils-do-not-link-with-static-libstdc++.patch new file mode 100644 index 0000000..af73925 --- /dev/null +++ b/SOURCES/binutils-do-not-link-with-static-libstdc++.patch @@ -0,0 +1,85 @@ +diff -rup binutils.orig/configure binutils-2.40/configure +--- binutils.orig/configure 2023-02-13 14:43:00.728877170 +0000 ++++ binutils-2.40/configure 2023-02-13 14:43:13.671864892 +0000 +@@ -5442,49 +5442,6 @@ if test -z "$LD"; then + fi + fi + +-# Check whether -static-libstdc++ -static-libgcc is supported. +-have_static_libs=no +-if test "$GCC" = yes; then +- saved_LDFLAGS="$LDFLAGS" +- +- LDFLAGS="$LDFLAGS -static-libstdc++ -static-libgcc" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether g++ accepts -static-libstdc++ -static-libgcc" >&5 +-$as_echo_n "checking whether g++ accepts -static-libstdc++ -static-libgcc... " >&6; } +- ac_ext=cpp +-ac_cpp='$CXXCPP $CPPFLAGS' +-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +- +- +-cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +- +-#if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) +-#error -static-libstdc++ not implemented +-#endif +-int main() {} +-_ACEOF +-if ac_fn_cxx_try_link "$LINENO"; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; }; have_static_libs=yes +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +-fi +-rm -f core conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +- ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +- +- +- LDFLAGS="$saved_LDFLAGS" +-fi +- +- + + + if test -n "$ac_tool_prefix"; then +diff -rup binutils.orig/configure.ac binutils-2.40/configure.ac +--- binutils.orig/configure.ac 2023-02-13 14:43:00.728877170 +0000 ++++ binutils-2.40/configure.ac 2023-02-13 14:43:13.671864892 +0000 +@@ -1435,26 +1435,6 @@ if test -z "$LD"; then + fi + fi + +-# Check whether -static-libstdc++ -static-libgcc is supported. +-have_static_libs=no +-if test "$GCC" = yes; then +- saved_LDFLAGS="$LDFLAGS" +- +- LDFLAGS="$LDFLAGS -static-libstdc++ -static-libgcc" +- AC_MSG_CHECKING([whether g++ accepts -static-libstdc++ -static-libgcc]) +- AC_LANG_PUSH(C++) +- AC_LINK_IFELSE([AC_LANG_SOURCE([ +-#if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) +-#error -static-libstdc++ not implemented +-#endif +-int main() {}])], +- [AC_MSG_RESULT([yes]); have_static_libs=yes], +- [AC_MSG_RESULT([no])]) +- AC_LANG_POP(C++) +- +- LDFLAGS="$saved_LDFLAGS" +-fi +- + ACX_PROG_GNAT + ACX_PROG_GDC + ACX_PROG_CMP_IGNORE_INITIAL +Only in binutils-2.40: configure.ac.orig +Only in binutils-2.40: configure.orig diff --git a/SOURCES/binutils-execstack-error.patch b/SOURCES/binutils-execstack-error.patch new file mode 100644 index 0000000..a87a795 --- /dev/null +++ b/SOURCES/binutils-execstack-error.patch @@ -0,0 +1,1481 @@ +diff -rupN binutils.orig/bfd/elf.c binutils-2.41/bfd/elf.c +--- binutils.orig/bfd/elf.c 2023-10-19 12:11:46.526939794 +0100 ++++ binutils-2.41/bfd/elf.c 2023-10-19 12:11:56.514949624 +0100 +@@ -7013,6 +7013,9 @@ assign_file_positions_except_relocs (bfd + { + if (link_info != NULL && ! link_info->no_warn_rwx_segments) + { ++ bool warned_tls = false; ++ bool warned_rwx = false; ++ + /* Memory resident segments with non-zero size and RWX + permissions are a security risk, so we generate a warning + here if we are creating any. */ +@@ -7025,16 +7028,47 @@ assign_file_positions_except_relocs (bfd + if (phdr->p_memsz == 0) + continue; + +- if (phdr->p_type == PT_TLS && (phdr->p_flags & PF_X)) +- _bfd_error_handler (_("warning: %pB has a TLS segment" +- " with execute permission"), +- abfd); +- else if (phdr->p_type == PT_LOAD ++ if (! warned_tls ++ && phdr->p_type == PT_TLS ++ && (phdr->p_flags & PF_X)) ++ { ++ if (link_info->warn_is_error_for_rwx_segments) ++ { ++ _bfd_error_handler (_("\ ++error: %pB has a TLS segment with execute permission"), ++ abfd); ++ return false; ++ } ++ ++ _bfd_error_handler (_("\ ++warning: %pB has a TLS segment with execute permission"), ++ abfd); ++ if (warned_rwx) ++ break; ++ ++ warned_tls = true; ++ } ++ else if (! warned_rwx ++ && phdr->p_type == PT_LOAD + && ((phdr->p_flags & (PF_R | PF_W | PF_X)) + == (PF_R | PF_W | PF_X))) +- _bfd_error_handler (_("warning: %pB has a LOAD segment" +- " with RWX permissions"), +- abfd); ++ { ++ if (link_info->warn_is_error_for_rwx_segments) ++ { ++ _bfd_error_handler (_("\ ++error: %pB has a LOAD segment with RWX permissions"), ++ abfd); ++ return false; ++ } ++ ++ _bfd_error_handler (_("\ ++warning: %pB has a LOAD segment with RWX permissions"), ++ abfd); ++ if (warned_tls) ++ break; ++ ++ warned_rwx = true; ++ } + } + } + +diff -rupN binutils.orig/bfd/elflink.c binutils-2.41/bfd/elflink.c +--- binutils.orig/bfd/elflink.c 2023-10-19 12:11:46.523939791 +0100 ++++ binutils-2.41/bfd/elflink.c 2023-10-19 12:11:56.515949625 +0100 +@@ -7149,9 +7149,20 @@ bfd_elf_size_dynamic_sections (bfd *outp + /* If the user has explicitly requested warnings, then generate one even + though the choice is the result of another command line option. */ + if (info->warn_execstack == 1) +- _bfd_error_handler +- (_("\ ++ { ++ if (info->error_execstack) ++ { ++ _bfd_error_handler ++ (_("\ ++error: creating an executable stack because of -z execstack command line option")); ++ return false; ++ } ++ ++ _bfd_error_handler ++ (_("\ + warning: enabling an executable stack because of -z execstack command line option")); ++ } ++ + elf_stack_flags (output_bfd) = PF_R | PF_W | PF_X; + } + else if (info->noexecstack) +@@ -7207,11 +7218,29 @@ warning: enabling an executable stack be + being enabled despite the fact that it was not requested + on the command line. */ + if (noteobj) +- _bfd_error_handler (_("\ ++ { ++ if (info->error_execstack) ++ { ++ _bfd_error_handler (_("\ ++error: %s: is triggering the generation of an executable stack (because it has an executable .note.GNU-stack section)"), ++ bfd_get_filename (noteobj)); ++ return false; ++ } ++ ++ _bfd_error_handler (_("\ + warning: %s: requires executable stack (because the .note.GNU-stack section is executable)"), + bfd_get_filename (noteobj)); ++ } + else if (emptyobj) + { ++ if (info->error_execstack) ++ { ++ _bfd_error_handler (_("\ ++error: %s: is triggering the generation of an executable stack because it does not have a .note.GNU-stack section"), ++ bfd_get_filename (emptyobj)); ++ return false; ++ } ++ + _bfd_error_handler (_("\ + warning: %s: missing .note.GNU-stack section implies executable stack"), + bfd_get_filename (emptyobj)); +diff -rupN binutils.orig/include/bfdlink.h binutils-2.41/include/bfdlink.h +--- binutils.orig/include/bfdlink.h 2023-10-19 12:11:47.238940495 +0100 ++++ binutils-2.41/include/bfdlink.h 2023-10-19 12:11:56.515949625 +0100 +@@ -484,26 +484,49 @@ struct bfd_link_info + --dynamic-list command line options. */ + unsigned int dynamic: 1; + +- /* TRUE if PT_GNU_STACK segment should be created with PF_R|PF_W|PF_X +- flags. */ ++ /* Set if the "-z execstack" option has been used to request that a ++ PT_GNU_STACK segment should be created with PF_R, PF_W and PF_X ++ flags set. ++ ++ Note - if performing a relocatable link then a .note.GNU-stack ++ section will be created instead, if one does not exist already. ++ The section will have the SHF_EXECINSTR flag bit set. */ + unsigned int execstack: 1; + +- /* TRUE if PT_GNU_STACK segment should be created with PF_R|PF_W +- flags. */ ++ /* Set if the "-z noexecstack" option has been used to request that a ++ PT_GNU_STACK segment should be created with PF_R and PF_W flags. Or ++ a non-executable .note.GNU-stack section for relocateable links. ++ ++ Note - this flag is not quite orthogonal to execstack, since both ++ of these flags can be 0. In this case a stack segment can still ++ be created, but it will only have the PF_X flag bit set if one or ++ more of the input files contains a .note.GNU-stack section with the ++ SHF_EXECINSTR flag bit set, or if the default behaviour for the ++ architecture is to create executable stacks. ++ ++ The execstack and noexecstack flags should never both be 1. */ + unsigned int noexecstack: 1; + + /* Tri-state variable: + 0 => do not warn when creating an executable stack. +- 1 => always warn when creating an executable stack. +- >1 => warn when creating an executable stack if execstack is 0. */ ++ 1 => always warn when creating an executable stack (for any reason). ++ 2 => only warn when an executable stack has been requested an object ++ file and execstack is 0 or noexecstack is 1. ++ 3 => not used. */ + unsigned int warn_execstack: 2; ++ /* TRUE if a warning generated because of warn_execstack should be instead ++ be treated as an error. */ ++ unsigned int error_execstack: 1; + +- /* TRUE if warnings should not be generated for TLS segments with eXecute ++ /* TRUE if warnings should NOT be generated for TLS segments with eXecute + permission or LOAD segments with RWX permissions. */ + unsigned int no_warn_rwx_segments: 1; + /* TRUE if the user gave either --warn-rwx-segments or +- --no-warn-rwx-segments. */ ++ --no-warn-rwx-segments on the linker command line. */ + unsigned int user_warn_rwx_segments: 1; ++ /* TRUE if warnings generated when no_warn_rwx_segements is 0 should ++ instead be treated as errors. */ ++ unsigned int warn_is_error_for_rwx_segments: 1; + + /* TRUE if the stack can be made executable because of the absence of a + .note.GNU-stack section in an input file. Note - even if this field +diff -rupN binutils.orig/ld/NEWS binutils-2.41/ld/NEWS +--- binutils.orig/ld/NEWS 2023-10-19 12:11:47.274940530 +0100 ++++ binutils-2.41/ld/NEWS 2023-10-19 12:11:56.515949625 +0100 +@@ -1,5 +1,14 @@ + -*- text -*- + ++* Added --warn-execstack-objects to warn about executable stacks only when an ++ input object file requests one. Also added --error-execstack and ++ --error-rxw-segments options to convert warnings about executable stacks and ++ segments into errors. ++ ++ Also added --enable-error-execstack=[yes|no] and ++ --enable-error-rwx-segments=[yes|no] configure options to set the default for ++ converting warnings into errors. ++ + Changes in 2.41: + + * The linker now accepts a command line option of --remap-inputs +diff -rupN binutils.orig/ld/config.in binutils-2.41/ld/config.in +--- binutils.orig/ld/config.in 2023-10-19 12:11:47.607940858 +0100 ++++ binutils-2.41/ld/config.in 2023-10-19 12:11:56.515949625 +0100 +@@ -19,6 +19,14 @@ + /* Define if you want compressed debug sections by default. */ + #undef DEFAULT_FLAG_COMPRESS_DEBUG + ++/* Define to 1 if you want to turn executable stack warnings into errors by ++ default. */ ++#undef DEFAULT_LD_ERROR_EXECSTACK ++ ++/* Define to 1 if you want to turn executable segment warnings into errors by ++ default. */ ++#undef DEFAULT_LD_ERROR_RWX_SEGMENTS ++ + /* Define to 0 if you want to disable the generation of an executable stack + when a .note-GNU-stack section is missing. */ + #undef DEFAULT_LD_EXECSTACK +diff -rupN binutils.orig/ld/configure binutils-2.41/ld/configure +--- binutils.orig/ld/configure 2023-10-19 12:11:47.607940858 +0100 ++++ binutils-2.41/ld/configure 2023-10-19 12:11:56.516949626 +0100 +@@ -848,7 +848,9 @@ enable_relro + enable_textrel_check + enable_separate_code + enable_warn_execstack ++enable_error_execstack + enable_warn_rwx_segments ++enable_error_rwx_segments + enable_default_execstack + enable_error_handling_script + enable_default_hash_style +@@ -15638,6 +15640,16 @@ esac + fi + + ++ac_default_ld_error_execstack=0 ++# Check whether --enable-error-execstack was given. ++if test "${enable_error_execstack+set}" = set; then : ++ enableval=$enable_error_execstack; case "${enableval}" in ++ yes) ac_default_ld_error_execstack=1 ;; ++ no) ac_default_ld_error_execstack=0 ;; ++esac ++fi ++ ++ + ac_default_ld_warn_rwx_segments=unset + # Check whether --enable-warn-rwx-segments was given. + if test "${enable_warn_rwx_segments+set}" = set; then : +@@ -15648,6 +15660,16 @@ esac + fi + + ++ac_default_ld_error_rwx_segments=0 ++# Check whether --enable-error-rwx-segments was given. ++if test "${enable_error_rwx_segments+set}" = set; then : ++ enableval=$enable_error_rwx_segments; case "${enableval}" in ++ yes) ac_default_ld_error_rwx_segments=1 ;; ++ no) ac_default_ld_error_rwx_segments=0 ;; ++esac ++fi ++ ++ + ac_default_ld_default_execstack=unset + # Check whether --enable-default-execstack was given. + if test "${enable_default_execstack+set}" = set; then : +@@ -17442,6 +17464,12 @@ cat >>confdefs.h <<_ACEOF + _ACEOF + + ++ ++cat >>confdefs.h <<_ACEOF ++#define DEFAULT_LD_ERROR_EXECSTACK $ac_default_ld_error_execstack ++_ACEOF ++ ++ + if test "${ac_default_ld_warn_rwx_segments}" = unset; then + ac_default_ld_warn_rwx_segments=1 + fi +@@ -17451,6 +17479,12 @@ cat >>confdefs.h <<_ACEOF + _ACEOF + + ++ ++cat >>confdefs.h <<_ACEOF ++#define DEFAULT_LD_ERROR_RWX_SEGMENTS $ac_default_ld_error_rwx_segments ++_ACEOF ++ ++ + if test "${ac_default_ld_default_execstack}" = unset; then + ac_default_ld_default_execstack=1 + fi +diff -rupN binutils.orig/ld/configure.ac binutils-2.41/ld/configure.ac +--- binutils.orig/ld/configure.ac 2023-10-19 12:11:47.607940858 +0100 ++++ binutils-2.41/ld/configure.ac 2023-10-19 12:11:56.516949626 +0100 +@@ -225,6 +225,15 @@ AC_ARG_ENABLE(warn-execstack, + no) ac_default_ld_warn_execstack=0 ;; + esac]) + ++ac_default_ld_error_execstack=0 ++AC_ARG_ENABLE(error-execstack, ++ AS_HELP_STRING([--enable-error-execstack], ++ [turn executable stack warnings into errors]), ++[case "${enableval}" in ++ yes) ac_default_ld_error_execstack=1 ;; ++ no) ac_default_ld_error_execstack=0 ;; ++esac]) ++ + ac_default_ld_warn_rwx_segments=unset + AC_ARG_ENABLE(warn-rwx-segments, + AS_HELP_STRING([--enable-warn-rwx-segments], +@@ -234,6 +243,15 @@ AC_ARG_ENABLE(warn-rwx-segments, + no) ac_default_ld_warn_rwx_segments=0 ;; + esac]) + ++ac_default_ld_error_rwx_segments=0 ++AC_ARG_ENABLE(error-rwx-segments, ++ AS_HELP_STRING([--enable-error-rwx-segments], ++ [turn executable segment warnings into errors]), ++[case "${enableval}" in ++ yes) ac_default_ld_error_rwx_segments=1 ;; ++ no) ac_default_ld_error_rwx_segments=0 ;; ++esac]) ++ + ac_default_ld_default_execstack=unset + AC_ARG_ENABLE(default-execstack, + AS_HELP_STRING([--enable-default-execstack], +@@ -568,6 +586,10 @@ AC_DEFINE_UNQUOTED(DEFAULT_LD_WARN_EXECS + $ac_default_ld_warn_execstack, + [Define to 1 if you want to enable --warn-execstack in ELF linker by default.]) + ++AC_DEFINE_UNQUOTED(DEFAULT_LD_ERROR_EXECSTACK, ++ $ac_default_ld_error_execstack, ++ [Define to 1 if you want to turn executable stack warnings into errors by default.]) ++ + if test "${ac_default_ld_warn_rwx_segments}" = unset; then + ac_default_ld_warn_rwx_segments=1 + fi +@@ -575,6 +597,10 @@ AC_DEFINE_UNQUOTED(DEFAULT_LD_WARN_RWX_S + $ac_default_ld_warn_rwx_segments, + [Define to 0 if you want to disable --warn-rwx-segments in ELF linker by default.]) + ++AC_DEFINE_UNQUOTED(DEFAULT_LD_ERROR_RWX_SEGMENTS, ++ $ac_default_ld_error_rwx_segments, ++ [Define to 1 if you want to turn executable segment warnings into errors by default.]) ++ + if test "${ac_default_ld_default_execstack}" = unset; then + ac_default_ld_default_execstack=1 + fi +diff -rupN binutils.orig/ld/emultempl/elf.em binutils-2.41/ld/emultempl/elf.em +--- binutils.orig/ld/emultempl/elf.em 2023-10-19 12:11:47.286940542 +0100 ++++ binutils-2.41/ld/emultempl/elf.em 2023-10-19 12:11:56.516949626 +0100 +@@ -95,6 +95,8 @@ fragment < + got_(NULL), plt_(NULL), got_plt_(NULL), got_irelative_(NULL), + got_tlsdesc_(NULL), global_offset_table_(NULL), rel_dyn_(NULL), + rel_irelative_(NULL), copy_relocs_(elfcpp::R_386_COPY), +- got_mod_index_offset_(-1U), tls_base_symbol_defined_(false) ++ got_mod_index_offset_(-1U), tls_base_symbol_defined_(false), ++ isa_1_used_(0), isa_1_needed_(0), ++ feature_1_(0), feature_2_used_(0), feature_2_needed_(0), ++ object_isa_1_used_(0), object_feature_1_(0), ++ object_feature_2_used_(0), seen_first_object_(false) + { } + + // Process the relocations to determine unreferenced sections for +@@ -859,6 +863,21 @@ class Target_i386 : public Sized_target<32, false> + this->rel_dyn_section(layout)); + } + ++ // Record a target-specific program property in the .note.gnu.property ++ // section. ++ void ++ record_gnu_property(unsigned int, unsigned int, size_t, ++ const unsigned char*, const Object*); ++ ++ // Merge the target-specific program properties from the current object. ++ void ++ merge_gnu_properties(const Object*); ++ ++ // Finalize the target-specific program properties and add them back to ++ // the layout. ++ void ++ do_finalize_gnu_properties(Layout*) const; ++ + // Information about this specific target which we pass to the + // general Target structure. + static const Target::Target_info i386_info; +@@ -898,6 +917,26 @@ class Target_i386 : public Sized_target<32, false> + unsigned int got_mod_index_offset_; + // True if the _TLS_MODULE_BASE_ symbol has been defined. + bool tls_base_symbol_defined_; ++ ++ // Target-specific program properties, from .note.gnu.property section. ++ // Each bit represents a specific feature. ++ uint32_t isa_1_used_; ++ uint32_t isa_1_needed_; ++ uint32_t feature_1_; ++ uint32_t feature_2_used_; ++ uint32_t feature_2_needed_; ++ // Target-specific properties from the current object. ++ // These bits get ORed into ISA_1_USED_ after all properties for the object ++ // have been processed. But if either is all zeroes (as when the property ++ // is absent from an object), the result should be all zeroes. ++ // (See PR ld/23486.) ++ uint32_t object_isa_1_used_; ++ // These bits get ANDed into FEATURE_1_ after all properties for the object ++ // have been processed. ++ uint32_t object_feature_1_; ++ uint32_t object_feature_2_used_; ++ // Whether we have seen our first object, for use in initializing FEATURE_1_. ++ bool seen_first_object_; + }; + + const Target::Target_info Target_i386::i386_info = +@@ -1042,6 +1081,126 @@ Target_i386::rel_irelative_section(Layout* layout) + return this->rel_irelative_; + } + ++// Record a target-specific program property from the .note.gnu.property ++// section. ++void ++Target_i386::record_gnu_property( ++ unsigned int, unsigned int pr_type, ++ size_t pr_datasz, const unsigned char* pr_data, ++ const Object* object) ++{ ++ uint32_t val = 0; ++ ++ switch (pr_type) ++ { ++ case elfcpp::GNU_PROPERTY_X86_COMPAT_ISA_1_USED: ++ case elfcpp::GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED: ++ case elfcpp::GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED: ++ case elfcpp::GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED: ++ case elfcpp::GNU_PROPERTY_X86_ISA_1_USED: ++ case elfcpp::GNU_PROPERTY_X86_ISA_1_NEEDED: ++ case elfcpp::GNU_PROPERTY_X86_FEATURE_1_AND: ++ case elfcpp::GNU_PROPERTY_X86_FEATURE_2_USED: ++ case elfcpp::GNU_PROPERTY_X86_FEATURE_2_NEEDED: ++ if (pr_datasz != 4) ++ { ++ gold_warning(_("%s: corrupt .note.gnu.property section " ++ "(pr_datasz for property %d is not 4)"), ++ object->name().c_str(), pr_type); ++ return; ++ } ++ val = elfcpp::Swap<32, false>::readval(pr_data); ++ break; ++ default: ++ gold_warning(_("%s: unknown program property type 0x%x " ++ "in .note.gnu.property section"), ++ object->name().c_str(), pr_type); ++ break; ++ } ++ ++ switch (pr_type) ++ { ++ case elfcpp::GNU_PROPERTY_X86_ISA_1_USED: ++ this->object_isa_1_used_ |= val; ++ break; ++ case elfcpp::GNU_PROPERTY_X86_ISA_1_NEEDED: ++ this->isa_1_needed_ |= val; ++ break; ++ case elfcpp::GNU_PROPERTY_X86_FEATURE_1_AND: ++ // If we see multiple feature props in one object, OR them together. ++ this->object_feature_1_ |= val; ++ break; ++ case elfcpp::GNU_PROPERTY_X86_FEATURE_2_USED: ++ this->object_feature_2_used_ |= val; ++ break; ++ case elfcpp::GNU_PROPERTY_X86_FEATURE_2_NEEDED: ++ this->feature_2_needed_ |= val; ++ break; ++ } ++} ++ ++// Merge the target-specific program properties from the current object. ++void ++Target_i386::merge_gnu_properties(const Object*) ++{ ++ if (this->seen_first_object_) ++ { ++ // If any object is missing the ISA_1_USED property, we must omit ++ // it from the output file. ++ if (this->object_isa_1_used_ == 0) ++ this->isa_1_used_ = 0; ++ else if (this->isa_1_used_ != 0) ++ this->isa_1_used_ |= this->object_isa_1_used_; ++ this->feature_1_ &= this->object_feature_1_; ++ // If any object is missing the FEATURE_2_USED property, we must ++ // omit it from the output file. ++ if (this->object_feature_2_used_ == 0) ++ this->feature_2_used_ = 0; ++ else if (this->feature_2_used_ != 0) ++ this->feature_2_used_ |= this->object_feature_2_used_; ++ } ++ else ++ { ++ this->isa_1_used_ = this->object_isa_1_used_; ++ this->feature_1_ = this->object_feature_1_; ++ this->feature_2_used_ = this->object_feature_2_used_; ++ this->seen_first_object_ = true; ++ } ++ this->object_isa_1_used_ = 0; ++ this->object_feature_1_ = 0; ++ this->object_feature_2_used_ = 0; ++} ++ ++static inline void ++add_property(Layout* layout, unsigned int pr_type, uint32_t val) ++{ ++ unsigned char buf[4]; ++ elfcpp::Swap<32, false>::writeval(buf, val); ++ layout->add_gnu_property(elfcpp::NT_GNU_PROPERTY_TYPE_0, pr_type, 4, buf); ++} ++ ++// Finalize the target-specific program properties and add them back to ++// the layout. ++void ++Target_i386::do_finalize_gnu_properties(Layout* layout) const ++{ ++ if (this->isa_1_used_ != 0) ++ add_property(layout, elfcpp::GNU_PROPERTY_X86_ISA_1_USED, ++ this->isa_1_used_); ++ if (this->isa_1_needed_ != 0) ++ add_property(layout, elfcpp::GNU_PROPERTY_X86_ISA_1_NEEDED, ++ this->isa_1_needed_); ++ if (this->feature_1_ != 0) ++ add_property(layout, elfcpp::GNU_PROPERTY_X86_FEATURE_1_AND, ++ this->feature_1_); ++ if (this->feature_2_used_ != 0) ++ add_property(layout, elfcpp::GNU_PROPERTY_X86_FEATURE_2_USED, ++ this->feature_2_used_); ++ if (this->feature_2_needed_ != 0) ++ add_property(layout, elfcpp::GNU_PROPERTY_X86_FEATURE_2_NEEDED, ++ this->feature_2_needed_); ++} ++ + // Write the first three reserved words of the .got.plt section. + // The remainder of the section is written while writing the PLT + // in Output_data_plt_i386::do_write. diff --git a/SOURCES/binutils-gold-ignore-execstack-error.patch b/SOURCES/binutils-gold-ignore-execstack-error.patch new file mode 100644 index 0000000..356f43b --- /dev/null +++ b/SOURCES/binutils-gold-ignore-execstack-error.patch @@ -0,0 +1,16 @@ +diff -rup binutils.orig/gold/options.h binutils-2.41/gold/options.h +--- binutils.orig/gold/options.h 2024-01-04 09:52:09.282002253 +0000 ++++ binutils-2.41/gold/options.h 2024-01-04 09:52:51.890972630 +0000 +@@ -855,6 +855,12 @@ class General_options + N_("(ARM only) Do not warn about objects with incompatible " + "enum sizes")); + ++ DEFINE_bool_ignore(error_execstack, options::TWO_DASHES, '\0', ++ N_("Ignored"), N_("Ignored")); ++ ++ DEFINE_bool_ignore(error_rwx_segments, options::TWO_DASHES, '\0', ++ N_("Ignored"), N_("Ignored")); ++ + DEFINE_special(exclude_libs, options::TWO_DASHES, '\0', + N_("Exclude libraries from automatic export"), + N_(("lib,lib ..."))); diff --git a/SOURCES/binutils-gold-mismatched-section-flags.patch b/SOURCES/binutils-gold-mismatched-section-flags.patch new file mode 100644 index 0000000..63dba2b --- /dev/null +++ b/SOURCES/binutils-gold-mismatched-section-flags.patch @@ -0,0 +1,19 @@ +diff -rup binutils.orig/gold/layout.cc binutils-2.32/gold/layout.cc +--- binutils.orig/gold/layout.cc 2019-06-24 14:37:36.013086899 +0100 ++++ binutils-2.32/gold/layout.cc 2019-06-24 14:41:40.054517479 +0100 +@@ -868,6 +868,7 @@ Layout::get_output_section(const char* n + && (same_name->flags() & elfcpp::SHF_TLS) == 0) + os = same_name; + } ++#if 0 /* BZ 1722715, PR 17556. */ + else if ((flags & elfcpp::SHF_TLS) == 0) + { + elfcpp::Elf_Xword zero_flags = 0; +@@ -878,6 +879,7 @@ Layout::get_output_section(const char* n + if (p != this->section_name_map_.end()) + os = p->second; + } ++#endif + } + + if (os == NULL) diff --git a/SOURCES/binutils-gold-pack-relative-relocs.patch b/SOURCES/binutils-gold-pack-relative-relocs.patch new file mode 100644 index 0000000..faa87fa --- /dev/null +++ b/SOURCES/binutils-gold-pack-relative-relocs.patch @@ -0,0 +1,27 @@ +diff --git a/gold/options.cc b/gold/options.cc +index c9834b66159..91d7802fffe 100644 +--- a/gold/options.cc ++++ b/gold/options.cc +@@ -989,7 +989,7 @@ parse_short_option(int argc, const char** argv, int pos_in_argv_i, + } + + // If we're a -z option, we need to parse our argument as a +- // long-option, e.g. "-z stacksize=8192". ++ // long-option, e.g. "-z stack-size=8192". + if (retval == &dash_z) + { + int dummy_i = 0; +diff --git a/gold/options.h b/gold/options.h +index 46f658f23ea..d16e38066da 100644 +--- a/gold/options.h ++++ b/gold/options.h +@@ -1110,6 +1110,9 @@ class General_options + N_("Generate package metadata note"), + N_("[=JSON]")); + ++ DEFINE_bool_ignore(pack_relative_relocs, options::DASH_Z, '\0', ++ N_("Ignored"), N_("Ignored")); ++ + DEFINE_bool(pie, options::ONE_DASH, '\0', false, + N_("Create a position independent executable"), + N_("Do not create a position independent executable")); diff --git a/SOURCES/binutils-gold-powerpc.patch b/SOURCES/binutils-gold-powerpc.patch new file mode 100644 index 0000000..a73decc --- /dev/null +++ b/SOURCES/binutils-gold-powerpc.patch @@ -0,0 +1,71 @@ +diff -rup binutils.orig/gold/powerpc.cc binutils-2.41/gold/powerpc.cc +--- binutils.orig/gold/powerpc.cc 2023-08-25 11:21:08.882071604 +0100 ++++ binutils-2.41/gold/powerpc.cc 2023-08-25 11:21:26.050081034 +0100 +@@ -3714,12 +3714,7 @@ Target_powerpc::do_rel + unsigned int prev_brlt_size = 0; + if (pass == 1) + { +- bool thread_safe +- = this->abiversion() < 2 && parameters->options().plt_thread_safe(); +- if (size == 64 +- && this->abiversion() < 2 +- && !thread_safe +- && !parameters->options().user_set_plt_thread_safe()) ++ if (size == 64 && this->abiversion() < 2) + { + static const char* const thread_starter[] = + { +@@ -3747,29 +3742,37 @@ Target_powerpc::do_rel + /* libgo */ + "__go_go", + }; ++ bool thread_safe = parameters->options().plt_thread_safe(); + +- if (parameters->options().shared()) +- thread_safe = true; +- else ++ if (!thread_safe ++ && !parameters->options().user_set_plt_thread_safe()) + { +- for (unsigned int i = 0; +- i < sizeof(thread_starter) / sizeof(thread_starter[0]); +- i++) ++ if (parameters->options().shared()) ++ thread_safe = true; ++ else + { +- Symbol* sym = symtab->lookup(thread_starter[i], NULL); +- thread_safe = (sym != NULL +- && sym->in_reg() +- && sym->in_real_elf()); +- if (thread_safe) +- break; ++ for (unsigned int i = 0; ++ i < sizeof(thread_starter) / sizeof(thread_starter[0]); ++ i++) ++ { ++ Symbol* sym = symtab->lookup(thread_starter[i], NULL); ++ thread_safe = (sym != NULL ++ && sym->in_reg() ++ && sym->in_real_elf()); ++ if (thread_safe) ++ break; ++ } + } + } ++ this->plt_thread_safe_ = thread_safe; + } +- this->plt_thread_safe_ = thread_safe; + +- if (parameters->options().output_is_position_independent()) +- this->rela_dyn_size_ +- = this->rela_dyn_section(layout)->current_data_size(); ++ if (size == 64 ++ && parameters->options().output_is_position_independent()) ++ { ++ gold_assert (this->rela_dyn_); ++ this->rela_dyn_size_ = this->rela_dyn_->current_data_size(); ++ } + + this->stub_group_size_ = parameters->options().stub_group_size(); + bool no_size_errors = true; diff --git a/SOURCES/binutils-gold-warn-unsupported.patch b/SOURCES/binutils-gold-warn-unsupported.patch new file mode 100644 index 0000000..8e00aa3 --- /dev/null +++ b/SOURCES/binutils-gold-warn-unsupported.patch @@ -0,0 +1,66 @@ +Only in binutils-2.34/gold: autom4te.cache +diff -rup binutils.orig/gold/configure binutils-2.34/gold/configure +--- binutils.orig/gold/configure 2020-04-20 12:35:13.048297305 +0100 ++++ binutils-2.34/gold/configure 2020-04-20 14:02:06.743725696 +0100 +@@ -5180,7 +5180,8 @@ for targ in $target $canon_targets; do + . ${srcdir}/configure.tgt + + if test "$targ_obj" = "UNKNOWN"; then +- as_fn_error $? "\"unsupported target $targ\"" "$LINENO" 5 ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"unsupported target $targ\"" >&5 ++$as_echo "$as_me: WARNING: \"unsupported target $targ\"" >&2;} + else + targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)" + if test "$targ_extra_obj" != ""; then +diff -rup binutils.orig/gold/configure.ac binutils-2.34/gold/configure.ac +--- binutils.orig/gold/configure.ac 2020-04-20 12:35:13.050297291 +0100 ++++ binutils-2.34/gold/configure.ac 2020-04-20 14:01:46.435868770 +0100 +@@ -181,7 +181,7 @@ for targ in $target $canon_targets; do + . ${srcdir}/configure.tgt + + if test "$targ_obj" = "UNKNOWN"; then +- AC_MSG_ERROR("unsupported target $targ") ++ AC_MSG_WARN("unsupported target $targ") + else + targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)" + if test "$targ_extra_obj" != ""; then +--- binutils.orig/ld/configure.tgt 2020-04-20 12:35:12.465301359 +0100 ++++ binutils-2.34/ld/configure.tgt 2020-04-20 14:17:52.123066333 +0100 +@@ -220,7 +220,7 @@ bfin-*-linux-uclibc*) targ_emul=elf32bfi + targ_extra_emuls="elf32bfin" + targ_extra_libpath=$targ_extra_emuls + ;; +-bpf-*-*) targ_emul=elf64bpf ++bpf-* | bpf-*-*) targ_emul=elf64bpf + ;; + cr16-*-elf*) targ_emul=elf32cr16 + ;; +@@ -1026,7 +1026,7 @@ z8k-*-coff) targ_emul=z8002 + targ_extra_ofiles= + ;; + *) +- echo 2>&1 "*** ld does not support target ${targ}" ++ echo 2>&1 "*** ld does not support target '${targ}' NO REALLY" + echo 2>&1 "*** see ld/configure.tgt for supported targets" + exit 1 + +--- binutils.orig/bfd/config.bfd 2020-04-20 12:35:13.038297375 +0100 ++++ binutils-2.34/bfd/config.bfd 2020-04-20 14:25:26.452869193 +0100 +@@ -473,7 +473,7 @@ case "${targ}" in + ;; + + #ifdef BFD64 +- bpf-*-none) ++ bpf-*-none | bpf-*) + targ_defvec=bpf_elf64_le_vec + targ_selvecs=bpf_elf64_be_vec + targ_underscore=yes +@@ -1427,7 +1427,7 @@ case "${targ}" in + ;; + + *) +- echo 1>&2 "*** BFD does not support target ${targ}." ++ echo 1>&2 "*** BFD does not support target '${targ}'. Honest." + echo 1>&2 "*** Look in bfd/config.bfd for supported targets." + exit 1 + ;; diff --git a/SOURCES/binutils-handle-corrupt-version-info.patch b/SOURCES/binutils-handle-corrupt-version-info.patch new file mode 100644 index 0000000..72e85f4 --- /dev/null +++ b/SOURCES/binutils-handle-corrupt-version-info.patch @@ -0,0 +1,29 @@ +--- binutils.orig/bfd/elf.c 2023-10-13 11:38:25.159530287 +0100 ++++ binutils-2.41/bfd/elf.c 2023-10-13 11:41:23.290898228 +0100 +@@ -9479,6 +9479,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd + if (elf_use_dt_symtab_p (abfd)) + iverneed->vn_filename + = elf_tdata (abfd)->dt_strtab + iverneed->vn_file; ++ else if (hdr == NULL) ++ goto error_return_bad_verref; + else + iverneed->vn_filename + = bfd_elf_string_from_elf_section (abfd, hdr->sh_link, +@@ -9516,6 +9518,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd + if (elf_use_dt_symtab_p (abfd)) + ivernaux->vna_nodename + = elf_tdata (abfd)->dt_strtab + ivernaux->vna_name; ++ else if (hdr == NULL) ++ goto error_return_bad_verref; + else + ivernaux->vna_nodename + = bfd_elf_string_from_elf_section (abfd, hdr->sh_link, +@@ -9546,7 +9550,7 @@ _bfd_elf_slurp_version_tables (bfd *abfd + iverneed->vn_nextref = NULL; + if (iverneed->vn_next == 0) + break; +- if (i + 1 < hdr->sh_info) ++ if (hdr != NULL && (i + 1 < hdr->sh_info)) + iverneed->vn_nextref = iverneed + 1; + + if (iverneed->vn_next diff --git a/SOURCES/binutils-libtool-lib64.patch b/SOURCES/binutils-libtool-lib64.patch new file mode 100644 index 0000000..142fc7e --- /dev/null +++ b/SOURCES/binutils-libtool-lib64.patch @@ -0,0 +1,236 @@ +diff -rcp ../binutils-2.20.51.0.7.original/bfd/configure ./bfd/configure +--- a/bfd/configure 2010-04-08 14:53:48.000000000 +0100 ++++ b/bfd/configure 2010-04-08 14:56:50.000000000 +0100 +@@ -10762,10 +10762,34 @@ + # before this can be enabled. + hardcode_into_libs=yes + ++ # find out which ABI we are using ++ libsuff= ++ case "$host_cpu" in ++ x86_64*|s390*|powerpc*|ppc*|sparc*) ++ echo 'int i;' > conftest.$ac_ext ++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ case `/usr/bin/file conftest.$ac_objext` in ++ *64-bit*) ++ libsuff=64 ++ if test x"$sys_lib_search_path_spec" = x"/lib /usr/lib /usr/local/lib"; then ++ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" ++ fi ++ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" ++ ;; ++ esac ++ fi ++ rm -rf conftest* ++ ;; ++ esac ++ + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` +- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" ++ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on +diff -rcp ../binutils-2.20.51.0.7.original/binutils/configure ./binutils/configure +--- a/binutils/configure 2010-04-08 14:53:45.000000000 +0100 ++++ b/binutils/configure 2010-04-08 14:56:21.000000000 +0100 +@@ -10560,10 +10560,34 @@ + # before this can be enabled. + hardcode_into_libs=yes + ++ # find out which ABI we are using ++ libsuff= ++ case "$host_cpu" in ++ x86_64*|s390*|powerpc*|ppc*|sparc*) ++ echo 'int i;' > conftest.$ac_ext ++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ case `/usr/bin/file conftest.$ac_objext` in ++ *64-bit*) ++ libsuff=64 ++ if test x"$sys_lib_search_path_spec" = x"/lib /usr/lib /usr/local/lib"; then ++ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" ++ fi ++ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" ++ ;; ++ esac ++ fi ++ rm -rf conftest* ++ ;; ++ esac ++ + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` +- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" ++ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on +diff -rcp ../binutils-2.20.51.0.7.original/gas/configure ./gas/configure +--- a/gas/configure 2010-04-08 14:53:47.000000000 +0100 ++++ b/gas/configure 2010-04-08 14:57:24.000000000 +0100 +@@ -10547,10 +10547,34 @@ + # before this can be enabled. + hardcode_into_libs=yes + ++ # find out which ABI we are using ++ libsuff= ++ case "$host_cpu" in ++ x86_64*|s390*|powerpc*|ppc*|sparc*) ++ echo 'int i;' > conftest.$ac_ext ++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ case `/usr/bin/file conftest.$ac_objext` in ++ *64-bit*) ++ libsuff=64 ++ if test x"$sys_lib_search_path_spec" = x"/lib /usr/lib /usr/local/lib"; then ++ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" ++ fi ++ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" ++ ;; ++ esac ++ fi ++ rm -rf conftest* ++ ;; ++ esac ++ + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` +- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" ++ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on +diff -rcp ../binutils-2.20.51.0.7.original/gprof/configure ./gprof/configure +--- a/gprof/configure 2010-04-08 14:53:45.000000000 +0100 ++++ b/gprof/configure 2010-04-08 14:57:50.000000000 +0100 +@@ -10485,10 +10485,34 @@ + # before this can be enabled. + hardcode_into_libs=yes + ++ # find out which ABI we are using ++ libsuff= ++ case "$host_cpu" in ++ x86_64*|s390*|powerpc*|ppc*|sparc*) ++ echo 'int i;' > conftest.$ac_ext ++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ case `/usr/bin/file conftest.$ac_objext` in ++ *64-bit*) ++ libsuff=64 ++ if test x"$sys_lib_search_path_spec" = x"/lib /usr/lib /usr/local/lib"; then ++ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" ++ fi ++ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" ++ ;; ++ esac ++ fi ++ rm -rf conftest* ++ ;; ++ esac ++ + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` +- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" ++ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on +diff -rcp ../binutils-2.20.51.0.7.original/ld/configure ./ld/configure +--- a/ld/configure 2010-04-08 14:53:44.000000000 +0100 ++++ b/ld/configure 2010-04-08 14:58:21.000000000 +0100 +@@ -10966,10 +10966,34 @@ + # before this can be enabled. + hardcode_into_libs=yes + ++ # find out which ABI we are using ++ libsuff= ++ case "$host_cpu" in ++ x86_64*|s390*|powerpc*|ppc*|sparc*) ++ echo 'int i;' > conftest.$ac_ext ++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ case `/usr/bin/file conftest.$ac_objext` in ++ *64-bit*) ++ libsuff=64 ++ if test x"$sys_lib_search_path_spec" = x"/lib /usr/lib /usr/local/lib"; then ++ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" ++ fi ++ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" ++ ;; ++ esac ++ fi ++ rm -rf conftest* ++ ;; ++ esac ++ + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` +- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" ++ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on +Only in .: .#libtool.m4 +Only in .: #libtool.m4# +diff -rcp ../binutils-2.20.51.0.7.original/opcodes/configure ./opcodes/configure +--- a/opcodes/configure 2010-04-08 14:53:45.000000000 +0100 ++++ b/opcodes/configure 2010-04-08 14:59:10.000000000 +0100 +@@ -10496,10 +10496,34 @@ + # before this can be enabled. + hardcode_into_libs=yes + ++ # find out which ABI we are using ++ libsuff= ++ case "$host_cpu" in ++ x86_64*|s390*|powerpc*|ppc*|sparc*) ++ echo 'int i;' > conftest.$ac_ext ++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ case `/usr/bin/file conftest.$ac_objext` in ++ *64-bit*) ++ libsuff=64 ++ if test x"$sys_lib_search_path_spec" = x"/lib /usr/lib /usr/local/lib"; then ++ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" ++ fi ++ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" ++ ;; ++ esac ++ fi ++ rm -rf conftest* ++ ;; ++ esac ++ + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` +- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" ++ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on diff --git a/SOURCES/binutils-libtool-no-rpath.patch b/SOURCES/binutils-libtool-no-rpath.patch new file mode 100644 index 0000000..a4f90a1 --- /dev/null +++ b/SOURCES/binutils-libtool-no-rpath.patch @@ -0,0 +1,28 @@ +diff -rup binutils.orig/ltmain.sh binutils-2.37/ltmain.sh +--- binutils.orig/ltmain.sh 2022-01-27 16:23:09.304207432 +0000 ++++ binutils-2.37/ltmain.sh 2022-01-27 16:23:18.380143759 +0000 +@@ -7103,6 +7103,7 @@ EOF + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then +@@ -7798,6 +7799,7 @@ EOF + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then +@@ -7849,6 +7851,7 @@ EOF + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then +Only in binutils-2.37: ltmain.sh.orig diff --git a/SOURCES/binutils-multilib.am.patch b/SOURCES/binutils-multilib.am.patch new file mode 100644 index 0000000..beca686 --- /dev/null +++ b/SOURCES/binutils-multilib.am.patch @@ -0,0 +1,49 @@ +diff -rupN binutils.orig/multilib.am binutils-2.41/multilib.am +--- binutils.orig/multilib.am 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/multilib.am 2024-02-12 16:41:56.899838085 +0000 +@@ -0,0 +1,45 @@ ++## automake - create Makefile.in from Makefile.am ++ ++## Copyright (C) 1994-2017 Free Software Foundation, Inc. ++## This Makefile.in is free software; the Free Software Foundation ++## gives unlimited permission to copy and/or distribute it, ++## with or without modifications, as long as this notice is preserved. ++ ++## This program is distributed in the hope that it will be useful, ++## but WITHOUT ANY WARRANTY; without even the implied warranty of ++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++## GNU General Public License for more details. ++ ++MULTISRCTOP = ++MULTIBUILDTOP = ++MULTIDIRS = ++MULTISUBDIR = ++MULTIDO = true ++MULTICLEAN = true ++ ++# GNU Make needs to see an explicit $(MAKE) variable in the command it ++# runs to enable its job server during parallel builds. Hence the ++# comments below. ++all-multi: ++ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE) ++install-multi: ++ $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE) ++mostlyclean-multi: ++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE) ++clean-multi: ++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE) ++distclean-multi: ++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE) ++maintainer-clean-multi: ++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE) ++ ++.MAKE .PHONY: all-multi clean-multi distclean-multi install-am \ ++ install-multi maintainer-clean-multi mostlyclean-multi ++ ++install-exec-local: install-multi ++ ++all-local: all-multi ++mostlyclean-local: mostlyclean-multi ++clean-local: clean-multi ++distclean-local: distclean-multi ++maintainer-clean-local: maintainer-clean-multi diff --git a/SOURCES/binutils-no-config-h-check.patch b/SOURCES/binutils-no-config-h-check.patch new file mode 100644 index 0000000..c89195a --- /dev/null +++ b/SOURCES/binutils-no-config-h-check.patch @@ -0,0 +1,28 @@ +--- a/bfd/bfd-in.h 2012-08-02 10:56:34.561769686 +0100 ++++ b/bfd/bfd-in.h 2012-08-02 11:13:27.134797755 +0100 +@@ -25,11 +25,6 @@ + #ifndef __BFD_H_SEEN__ + #define __BFD_H_SEEN__ + +-/* PR 14072: Ensure that config.h is included first. */ +-#if !defined PACKAGE && !defined PACKAGE_VERSION +-#error config.h must be included before this header +-#endif +- + #ifdef __cplusplus + extern "C" { + #endif +--- a/bfd/bfd-in2.h 2012-08-02 10:56:34.349769680 +0100 ++++ b/bfd/bfd-in2.h 2012-08-02 11:13:40.015798113 +0100 +@@ -32,11 +32,6 @@ + #ifndef __BFD_H_SEEN__ + #define __BFD_H_SEEN__ + +-/* PR 14072: Ensure that config.h is included first. */ +-#if !defined PACKAGE && !defined PACKAGE_VERSION +-#error config.h must be included before this header +-#endif +- + #ifdef __cplusplus + extern "C" { + #endif diff --git a/SOURCES/binutils-power-11.patch b/SOURCES/binutils-power-11.patch new file mode 100644 index 0000000..6852556 --- /dev/null +++ b/SOURCES/binutils-power-11.patch @@ -0,0 +1,83 @@ +diff -rup binutils,orig/binutils/doc/binutils.texi binutils-2.41/binutils/doc/binutils.texi +--- binutils,orig/binutils/doc/binutils.texi 2024-02-12 10:03:46.609677213 +0000 ++++ binutils-2.41/binutils/doc/binutils.texi 2024-02-12 10:03:55.976681219 +0000 +@@ -2651,11 +2651,12 @@ rather than @code{li}. All of the @opti + @option{e300}, @option{e500}, @option{e500mc}, @option{e500mc64}, + @option{e500x2}, @option{e5500}, @option{e6500}, @option{efs}, + @option{power4}, @option{power5}, @option{power6}, @option{power7}, +-@option{power8}, @option{power9}, @option{power10}, @option{ppc}, +-@option{ppc32}, @option{ppc64}, @option{ppc64bridge}, @option{ppcps}, +-@option{pwr}, @option{pwr2}, @option{pwr4}, @option{pwr5}, @option{pwr5x}, +-@option{pwr6}, @option{pwr7}, @option{pwr8}, @option{pwr9}, @option{pwr10}, +-@option{pwrx}, @option{titan}, @option{vle}, and @option{future}. ++@option{power8}, @option{power9}, @option{power10}, @option{power11}, ++@option{ppc}, @option{ppc32}, @option{ppc64}, @option{ppc64bridge}, ++@option{ppcps}, @option{pwr}, @option{pwr2}, @option{pwr4}, @option{pwr5}, ++@option{pwr5x}, @option{pwr6}, @option{pwr7}, @option{pwr8}, @option{pwr9}, ++@option{pwr10}, @option{pwr11}, @option{pwrx}, @option{titan}, @option{vle}, ++and @option{future}. + @option{32} and @option{64} modify the default or a prior CPU + selection, disabling and enabling 64-bit insns respectively. In + addition, @option{altivec}, @option{any}, @option{lsp}, @option{htm}, +Only in binutils-2.41/binutils/doc: binutils.texi.orig +diff -rup binutils,orig/gas/config/tc-ppc.c binutils-2.41/gas/config/tc-ppc.c +--- binutils,orig/gas/config/tc-ppc.c 2024-02-12 10:03:46.742677270 +0000 ++++ binutils-2.41/gas/config/tc-ppc.c 2024-02-12 10:03:55.977681219 +0000 +@@ -1392,6 +1392,8 @@ PowerPC options:\n")); + fprintf (stream, _("\ + -mpower10, -mpwr10 generate code for Power10 architecture\n")); + fprintf (stream, _("\ ++-mpower11, -mpwr11 generate code for Power11 architecture\n")); ++ fprintf (stream, _("\ + -mlibresoc generate code for Libre-SOC architecture\n")); + fprintf (stream, _("\ + -mfuture generate code for 'future' architecture\n")); +diff -rup binutils,orig/gas/doc/c-ppc.texi binutils-2.41/gas/doc/c-ppc.texi +--- binutils,orig/gas/doc/c-ppc.texi 2024-02-12 10:03:46.783677288 +0000 ++++ binutils-2.41/gas/doc/c-ppc.texi 2024-02-12 10:03:55.977681219 +0000 +@@ -156,6 +156,9 @@ Generate code for Power9 architecture. + @item -mpower10, -mpwr10 + Generate code for Power10 architecture. + ++@item -mpower11, -mpwr11 ++Generate code for Power11 architecture. ++ + @item -mfuture + Generate code for 'future' architecture. + +diff -rup binutils,orig/opcodes/ppc-dis.c binutils-2.41/opcodes/ppc-dis.c +--- binutils,orig/opcodes/ppc-dis.c 2024-02-12 10:03:47.836677739 +0000 ++++ binutils-2.41/opcodes/ppc-dis.c 2024-02-12 10:03:55.977681219 +0000 +@@ -208,6 +208,11 @@ struct ppc_mopt ppc_opts[] = { + | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9 + | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX), + 0 }, ++ { "power11", (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64 ++ | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6 ++ | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9 ++ | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX), ++ 0 }, + { "libresoc",(PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64 + | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6 + | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9 +@@ -267,6 +272,11 @@ struct ppc_mopt ppc_opts[] = { + | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9 + | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX), + 0 }, ++ { "pwr11", (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64 ++ | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6 ++ | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9 ++ | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX), ++ 0 }, + { "pwrx", PPC_OPCODE_POWER | PPC_OPCODE_POWER2, + 0 }, + { "raw", PPC_OPCODE_PPC, +@@ -396,7 +406,7 @@ powerpc_init_dialect (struct disassemble + break; + default: + if (info->arch == bfd_arch_powerpc) +- dialect = ppc_parse_cpu (dialect, &sticky, "power10") | PPC_OPCODE_ANY; ++ dialect = ppc_parse_cpu (dialect, &sticky, "power11") | PPC_OPCODE_ANY; + else + dialect = ppc_parse_cpu (dialect, &sticky, "pwr"); + break; diff --git a/SOURCES/binutils-ppc-dt_relr-relocs.patch b/SOURCES/binutils-ppc-dt_relr-relocs.patch new file mode 100644 index 0000000..fc8202a --- /dev/null +++ b/SOURCES/binutils-ppc-dt_relr-relocs.patch @@ -0,0 +1,114 @@ +--- binutils.orig/bfd/elf64-ppc.c 2024-01-16 10:39:26.903071936 +0000 ++++ binutils-2.41/bfd/elf64-ppc.c 2024-01-16 10:39:38.650127903 +0000 +@@ -4749,6 +4749,21 @@ is_8byte_reloc (enum elf_ppc64_reloc_typ + || r_type == R_PPC64_PLTCALL); + } + ++/* The RELR encoding doesn't allow odd addresses, so RELR_ALIGN must ++ be at least 1. R_PPC64_RELATIVE relocs require alignment of 2**3. ++ We use 3 here to avoid complexity in relocate_section. PR30824. */ ++#define RELR_ALIGN 3 ++ ++static bool ++maybe_relr (enum elf_ppc64_reloc_type r_type, ++ const Elf_Internal_Rela *rel, ++ const asection *sec) ++{ ++ return ((r_type == R_PPC64_ADDR64 || r_type == R_PPC64_TOC) ++ && (rel->r_offset & ((1 << RELR_ALIGN) - 1)) == 0 ++ && sec->alignment_power >= RELR_ALIGN); ++} ++ + /* Like bfd_reloc_offset_in_range but without a howto. Return true + iff a field of SIZE bytes at OFFSET is within SEC limits. */ + +@@ -5401,9 +5416,7 @@ ppc64_elf_check_relocs (bfd *abfd, struc + p->count += 1; + if (!must_be_dyn_reloc (info, r_type)) + p->pc_count += 1; +- if ((r_type == R_PPC64_ADDR64 || r_type == R_PPC64_TOC) +- && rel->r_offset % 2 == 0 +- && sec->alignment_power != 0) ++ if (maybe_relr (r_type, rel, sec)) + p->rel_count += 1; + } + else +@@ -5438,9 +5451,7 @@ ppc64_elf_check_relocs (bfd *abfd, struc + p->ifunc = is_ifunc; + } + p->count += 1; +- if ((r_type == R_PPC64_ADDR64 || r_type == R_PPC64_TOC) +- && rel->r_offset % 2 == 0 +- && sec->alignment_power != 0) ++ if (maybe_relr (r_type, rel, sec)) + p->rel_count += 1; + } + } +@@ -7291,9 +7302,7 @@ dec_dynrel_count (const Elf_Internal_Rel + { + if (!must_be_dyn_reloc (info, r_type)) + p->pc_count -= 1; +- if ((r_type == R_PPC64_ADDR64 || r_type == R_PPC64_TOC) +- && rel->r_offset % 2 == 0 +- && sec->alignment_power != 0) ++ if (maybe_relr (r_type, rel, sec)) + p->rel_count -= 1; + p->count -= 1; + if (p->count == 0) +@@ -7326,9 +7335,7 @@ dec_dynrel_count (const Elf_Internal_Rel + { + if (p->sec == sec && p->ifunc == is_ifunc) + { +- if ((r_type == R_PPC64_ADDR64 || r_type == R_PPC64_TOC) +- && rel->r_offset % 2 == 0 +- && sec->alignment_power != 0) ++ if (maybe_relr (r_type, rel, sec)) + p->rel_count -= 1; + p->count -= 1; + if (p->count == 0) +@@ -13869,6 +13876,9 @@ ppc64_elf_size_stubs (struct bfd_link_in + switch (r_type) + { + default: ++ if (info->enable_dt_relr ++ && maybe_relr (r_type, irela, section)) ++ break; + continue; + + case R_PPC64_REL24: +@@ -13880,14 +13890,6 @@ ppc64_elf_size_stubs (struct bfd_link_in + if ((section->flags & SEC_CODE) != 0) + break; + continue; +- +- case R_PPC64_ADDR64: +- case R_PPC64_TOC: +- if (info->enable_dt_relr +- && irela->r_offset % 2 == 0 +- && section->alignment_power != 0) +- break; +- continue; + } + + /* Now determine the call target, its name, value, +@@ -15272,7 +15274,7 @@ ppc64_elf_build_stubs (struct bfd_link_i + while (i < htab->relr_count) + { + bfd_vma base = relr_addr[i]; +- BFD_ASSERT (base % 2 == 0); ++ BFD_ASSERT ((base & ((1 << RELR_ALIGN) - 1)) == 0); + bfd_put_64 (htab->elf.dynobj, base, loc); + loc += 8; + i++; +@@ -17510,9 +17512,8 @@ ppc64_elf_relocate_section (bfd *output_ + + if (!(info->enable_dt_relr + && ELF64_R_TYPE (outrel.r_info) == R_PPC64_RELATIVE +- && rel->r_offset % 2 == 0 +- && input_section->alignment_power != 0 +- && ELF64_R_TYPE (orig_rel.r_info) != R_PPC64_UADDR64)) ++ && maybe_relr (ELF64_R_TYPE (orig_rel.r_info), ++ rel, input_section))) + { + sreloc = elf_section_data (input_section)->sreloc; + if (h != NULL diff --git a/SOURCES/binutils-revert-PLT-elision.patch b/SOURCES/binutils-revert-PLT-elision.patch new file mode 100644 index 0000000..b262e54 --- /dev/null +++ b/SOURCES/binutils-revert-PLT-elision.patch @@ -0,0 +1,167 @@ +diff -rup binutils.orig/ld/testsuite/ld-i386/pltgot-1.d binutils-2.29.1/ld/testsuite/ld-i386/pltgot-1.d +--- binutils.orig/ld/testsuite/ld-i386/pltgot-1.d 2017-11-15 13:32:39.335065263 +0000 ++++ binutils-2.29.1/ld/testsuite/ld-i386/pltgot-1.d 2017-11-15 15:03:55.649727195 +0000 +@@ -2,6 +2,7 @@ + #readelf: -S --wide + #as: --32 + ++#pass + #... + +\[ *[0-9]+\] \.plt +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+10 +.* + #... +diff -rup binutils.orig/ld/testsuite/ld-i386/pltgot-2.d binutils-2.29.1/ld/testsuite/ld-i386/pltgot-2.d +--- binutils.orig/ld/testsuite/ld-i386/pltgot-2.d 2017-11-15 13:32:39.329065335 +0000 ++++ binutils-2.29.1/ld/testsuite/ld-i386/pltgot-2.d 2017-11-15 15:04:20.803430034 +0000 +@@ -3,7 +3,6 @@ + #readelf: -d --wide + #as: --32 + +-#failif + #... + +0x[0-9a-f]+ +\(PLTREL.* + #... +diff -rup binutils.orig/ld/testsuite/ld-i386/pr19636-2d.d binutils-2.29.1/ld/testsuite/ld-i386/pr19636-2d.d +--- binutils.orig/ld/testsuite/ld-i386/pr19636-2d.d 2017-11-15 13:32:39.336065251 +0000 ++++ binutils-2.29.1/ld/testsuite/ld-i386/pr19636-2d.d 2017-11-15 15:03:00.413379749 +0000 +@@ -9,7 +9,7 @@ Relocation section '\.rel\.dyn' at offse + [0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +func + [0-9a-f]+ +[0-9a-f]+ +R_386_PC32 +0+ +func + [0-9a-f]+ +[0-9a-f]+ +R_386_GLOB_DAT +0+ +func +- ++#... + Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name + #... +diff -rup binutils.orig/ld/testsuite/ld-i386/pr19636-2e.d binutils-2.29.1/ld/testsuite/ld-i386/pr19636-2e.d +--- binutils.orig/ld/testsuite/ld-i386/pr19636-2e.d 2017-11-15 13:32:39.330065323 +0000 ++++ binutils-2.29.1/ld/testsuite/ld-i386/pr19636-2e.d 2017-11-15 15:03:28.928042882 +0000 +@@ -9,7 +9,7 @@ Relocation section '\.rel\.dyn' at offse + [0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +func + [0-9a-f]+ +[0-9a-f]+ +R_386_PC32 +0+ +func + [0-9a-f]+ +[0-9a-f]+ +R_386_GLOB_DAT +0+ +func +- ++#... + Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name + #... +diff -rup binutils.orig/ld/testsuite/ld-x86-64/pltgot-1.d binutils-2.29.1/ld/testsuite/ld-x86-64/pltgot-1.d +--- binutils.orig/ld/testsuite/ld-x86-64/pltgot-1.d 2017-11-15 13:32:39.415064300 +0000 ++++ binutils-2.29.1/ld/testsuite/ld-x86-64/pltgot-1.d 2017-11-15 15:08:39.333375801 +0000 +@@ -2,8 +2,4 @@ + #readelf: -S --wide + #as: --64 + +-#... +- +\[ *[0-9]+\] \.plt +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+10 +.* +-#... +- +\[ *[0-9]+\] \.got\.plt +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+18 +.* + #pass +diff -rup binutils.orig/ld/testsuite/ld-x86-64/pltgot-2.d binutils-2.29.1/ld/testsuite/ld-x86-64/pltgot-2.d +--- binutils.orig/ld/testsuite/ld-x86-64/pltgot-2.d 2017-11-15 13:32:39.404064432 +0000 ++++ binutils-2.29.1/ld/testsuite/ld-x86-64/pltgot-2.d 2017-11-15 15:08:59.031143095 +0000 +@@ -3,7 +3,6 @@ + #readelf: -d --wide + #as: --64 + +-#failif + #... + +0x[0-9a-f]+ +\(PLTREL.* + #... +diff -rup binutils.orig/ld/testsuite/ld-x86-64/plt-main.rd binutils-2.29.1/ld/testsuite/ld-x86-64/plt-main.rd +--- binutils.orig/ld/testsuite/ld-x86-64/plt-main.rd 2017-11-15 13:32:39.407064397 +0000 ++++ binutils-2.29.1/ld/testsuite/ld-x86-64/plt-main.rd 2017-11-15 15:06:17.244054423 +0000 +@@ -1,4 +1,3 @@ +-#failif + #... + [0-9a-f ]+R_X86_64_JUMP_SLOT +0+ +bar \+ 0 + #... +diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830a.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830a.d +--- binutils.orig/ld/testsuite/ld-x86-64/pr20830a.d 2017-11-15 13:32:39.412064336 +0000 ++++ binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830a.d 2017-11-15 15:15:09.918750288 +0000 +@@ -20,6 +20,7 @@ Contents of the .eh_frame section: + DW_CFA_offset: r16 \(rip\) at cfa-8 + DW_CFA_nop + DW_CFA_nop ++#pass + + 0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4 + DW_CFA_nop +diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830a-now.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830a-now.d +--- binutils.orig/ld/testsuite/ld-x86-64/pr20830a-now.d 2017-11-15 13:32:39.413064324 +0000 ++++ binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830a-now.d 2017-11-15 15:16:08.227055104 +0000 +@@ -20,6 +20,7 @@ Contents of the .eh_frame section: + DW_CFA_offset: r16 \(rip\) at cfa-8 + DW_CFA_nop + DW_CFA_nop ++#pass + + 0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4 + DW_CFA_nop +diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830b.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830b.d +--- binutils.orig/ld/testsuite/ld-x86-64/pr20830b.d 2017-11-15 13:32:39.413064324 +0000 ++++ binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830b.d 2017-11-15 15:16:20.115913358 +0000 +@@ -20,7 +20,8 @@ Contents of the .eh_frame section: + DW_CFA_offset: r16 \(rip\) at cfa-8 + DW_CFA_nop + DW_CFA_nop +- ++#pass ++ + 0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144 + DW_CFA_nop + DW_CFA_nop +diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830b-now.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830b-now.d +--- binutils.orig/ld/testsuite/ld-x86-64/pr20830b-now.d 2017-11-15 13:32:39.411064348 +0000 ++++ binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830b-now.d 2017-11-15 15:16:29.012807282 +0000 +@@ -20,7 +20,8 @@ Contents of the .eh_frame section: + DW_CFA_offset: r16 \(rip\) at cfa-8 + DW_CFA_nop + DW_CFA_nop +- ++#pass ++ + 0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144 + DW_CFA_nop + DW_CFA_nop +diff -rup binutils.orig/ld/testsuite/ld-x86-64/tlspic2.rd binutils-2.29.1/ld/testsuite/ld-x86-64/tlspic2.rd +--- binutils.orig/ld/testsuite/ld-x86-64/tlspic2.rd 2017-11-15 13:32:39.417064276 +0000 ++++ binutils-2.29.1/ld/testsuite/ld-x86-64/tlspic2.rd 2017-11-15 15:05:02.950932110 +0000 +@@ -14,6 +14,7 @@ Section Headers: + +\[[ 0-9]+\] .dynsym +.* + +\[[ 0-9]+\] .dynstr +.* + +\[[ 0-9]+\] .rela.dyn +.* ++#pass + +\[[ 0-9]+\] .plt +.* + +\[[ 0-9]+\] .plt.got +.* + +\[[ 0-9]+\] .text +PROGBITS +0+1000 0+1000 0+31a 00 +AX +0 +0 4096 +--- binutils.orig/bfd/elfxx-x86.c 2018-01-22 15:59:25.875788033 +0000 ++++ binutils-2.30.0/bfd/elfxx-x86.c 2018-01-22 16:00:20.789146597 +0000 +@@ -107,7 +107,7 @@ elf_x86_allocate_dynrelocs (struct elf_l + plt_entry_size = htab->plt.plt_entry_size; + + resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh); +- ++#if 0 + /* We can't use the GOT PLT if pointer equality is needed since + finish_dynamic_symbol won't clear symbol value and the dynamic + linker won't update the GOT slot. We will get into an infinite +@@ -125,7 +125,7 @@ elf_x86_allocate_dynrelocs (struct elf_l + /* Use the GOT PLT. */ + eh->plt_got.refcount = 1; + } +- ++#endif + /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it + here if it is defined and referenced in a non-shared object. */ + if (h->type == STT_GNU_IFUNC +--- binutils.orig/ld/testsuite/ld-i386/pr20830.d 2018-07-09 09:49:51.277239857 +0100 ++++ binutils-2.30.90/ld/testsuite/ld-i386/pr20830.d 2018-07-09 10:32:41.113356733 +0100 +@@ -19,7 +19,7 @@ Contents of the .eh_frame section: + DW_CFA_offset: r8 \(eip\) at cfa-4 + DW_CFA_nop + DW_CFA_nop +- ++#pass + 0+18 00000010 0000001c FDE cie=00000000 pc=00000128..00000133 + DW_CFA_nop + DW_CFA_nop diff --git a/SOURCES/binutils-riscv-SUB_ULEB128.patch b/SOURCES/binutils-riscv-SUB_ULEB128.patch new file mode 100644 index 0000000..16480cf --- /dev/null +++ b/SOURCES/binutils-riscv-SUB_ULEB128.patch @@ -0,0 +1,239 @@ +diff -rupN binutils.orig/bfd/elfnn-riscv.c binutils-2.41/bfd/elfnn-riscv.c +--- binutils.orig/bfd/elfnn-riscv.c 2024-01-02 17:35:07.412218130 +0000 ++++ binutils-2.41/bfd/elfnn-riscv.c 2024-01-02 17:36:52.274311071 +0000 +@@ -1737,7 +1737,10 @@ perform_relocation (const reloc_howto_ty + { + if (howto->pc_relative) + value -= sec_addr (input_section) + rel->r_offset; +- value += rel->r_addend; ++ ++ /* PR31179, ignore the non-zero addend of R_RISCV_SUB_ULEB128. */ ++ if (ELFNN_R_TYPE (rel->r_info) != R_RISCV_SUB_ULEB128) ++ value += rel->r_addend; + + switch (ELFNN_R_TYPE (rel->r_info)) + { +@@ -1818,10 +1821,7 @@ perform_relocation (const reloc_howto_ty + value = ENCODE_CITYPE_LUI_IMM (RISCV_CONST_HIGH_PART (value)); + break; + +- /* SUB_ULEB128 must be applied after SET_ULEB128, so we only write the +- value back for SUB_ULEB128 should be enough. */ +- case R_RISCV_SET_ULEB128: +- break; ++ /* R_RISCV_SET_ULEB128 won't go into here. */ + case R_RISCV_SUB_ULEB128: + { + unsigned int len = 0; +@@ -2514,7 +2514,7 @@ riscv_elf_relocate_section (bfd *output_ + else + { + msg = ("Mismatched R_RISCV_SET_ULEB128, it must be paired with" +- "and applied before R_RISCV_SUB_ULEB128"); ++ " and applied before R_RISCV_SUB_ULEB128"); + r = bfd_reloc_dangerous; + } + break; +@@ -2523,14 +2523,40 @@ riscv_elf_relocate_section (bfd *output_ + if (uleb128_set_rel != NULL + && uleb128_set_rel->r_offset == rel->r_offset) + { +- relocation = uleb128_set_vma - relocation; ++ relocation = uleb128_set_vma - relocation ++ + uleb128_set_rel->r_addend; + uleb128_set_vma = 0; + uleb128_set_rel = NULL; ++ ++ /* PR31179, the addend of SUB_ULEB128 should be zero if using ++ .uleb128, but we make it non-zero by accident in assembler, ++ so just ignore it in perform_relocation, and make assembler ++ continue doing the right thing. Don't reset the addend of ++ SUB_ULEB128 to zero here since it will break the --emit-reloc, ++ even though the non-zero addend is unexpected. ++ ++ We encourage people to rebuild their stuff to get the ++ non-zero addend of SUB_ULEB128, but that might need some ++ times, so report warnings to inform people need to rebuild ++ if --check-uleb128 is enabled. However, since the failed ++ .reloc cases for ADD/SET/SUB/ULEB128 are rarely to use, it ++ may acceptable that stop supproting them until people rebuld ++ their stuff, maybe half-year or one year later. I believe ++ this might be the least harmful option that we should go. ++ ++ Or maybe we should teach people that don't write the ++ .reloc R_RISCV_SUB* with non-zero constant, and report ++ warnings/errors in assembler. */ ++ if (htab->params->check_uleb128 ++ && rel->r_addend != 0) ++ _bfd_error_handler (_("%pB: warning: R_RISCV_SUB_ULEB128 with" ++ " non-zero addend, please rebuild by" ++ " Fedora 40 binutils or up"), input_bfd); + } + else + { + msg = ("Mismatched R_RISCV_SUB_ULEB128, it must be paired with" +- "and applied after R_RISCV_SET_ULEB128"); ++ " and applied after R_RISCV_SET_ULEB128"); + r = bfd_reloc_dangerous; + } + break; +@@ -5123,7 +5149,13 @@ _bfd_riscv_relax_section (bfd *abfd, ase + if (h != NULL && h->type == STT_GNU_IFUNC) + continue; + ++ /* Maybe we should check UNDEFWEAK_NO_DYNAMIC_RELOC here? But that ++ will break the undefweak relaxation testcases, so just make sure ++ we won't do relaxations for linker_def symbols in short-term. */ + if (h->root.type == bfd_link_hash_undefweak ++ /* The linker_def symbol like __ehdr_start that may be undefweak ++ for now, but will be guaranteed to be defined later. */ ++ && !h->root.linker_def + && (relax_func == _bfd_riscv_relax_lui + || relax_func == _bfd_riscv_relax_pc)) + { +diff -rupN binutils.orig/bfd/elfxx-riscv.h binutils-2.41/bfd/elfxx-riscv.h +--- binutils.orig/bfd/elfxx-riscv.h 2024-01-02 17:35:07.412218130 +0000 ++++ binutils-2.41/bfd/elfxx-riscv.h 2024-01-02 17:35:24.252233056 +0000 +@@ -31,6 +31,8 @@ struct riscv_elf_params + { + /* Whether to relax code sequences to GP-relative addressing. */ + bool relax_gp; ++ /* Whether to check if SUB_ULEB128 relocation has non-zero addend. */ ++ bool check_uleb128; + }; + + extern void riscv_elf32_set_options (struct bfd_link_info *, +diff -rupN binutils.orig/ld/NEWS binutils-2.41/ld/NEWS +--- binutils.orig/ld/NEWS 2024-01-02 17:35:08.012218662 +0000 ++++ binutils-2.41/ld/NEWS 2024-01-02 17:35:56.139261318 +0000 +@@ -1,5 +1,10 @@ + -*- text -*- + ++* On RISC-V, add ld target option --[no-]check-uleb128. Should rebuild the ++ objects by binutils 2.42 and up if enabling the option and get warnings, ++ since the non-zero addend of SUB_ULEB128 shouldn't be generated from .uleb128 ++ directives. ++ + * Added --warn-execstack-objects to warn about executable stacks only when an + input object file requests one. Also added --error-execstack and + --error-rxw-segments options to convert warnings about executable stacks and +diff -rupN binutils.orig/ld/emultempl/riscvelf.em binutils-2.41/ld/emultempl/riscvelf.em +--- binutils.orig/ld/emultempl/riscvelf.em 2024-01-02 17:35:07.699218385 +0000 ++++ binutils-2.41/ld/emultempl/riscvelf.em 2024-01-02 17:35:24.252233056 +0000 +@@ -25,7 +25,8 @@ fragment <fr_fix, 0, + exp_dup, 0, BFD_RELOC_RISCV_SET_ULEB128); + exp_dup->X_add_symbol = exp->X_op_symbol; ++ exp_dup->X_add_number = 0; /* Set addend of SUB_ULEB128 to zero. */ + fix_new_exp (fragP, fragP->fr_fix, 0, + exp_dup, 0, BFD_RELOC_RISCV_SUB_ULEB128); + } diff --git a/SOURCES/binutils-riscv-testsuite-fixes.patch b/SOURCES/binutils-riscv-testsuite-fixes.patch new file mode 100644 index 0000000..1d9f7f6 --- /dev/null +++ b/SOURCES/binutils-riscv-testsuite-fixes.patch @@ -0,0 +1,136 @@ +diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/attr-phdr.d binutils-2.40/ld/testsuite/ld-riscv-elf/attr-phdr.d +--- binutils.orig/ld/testsuite/ld-riscv-elf/attr-phdr.d 2023-02-16 10:11:38.656875289 +0000 ++++ binutils-2.40/ld/testsuite/ld-riscv-elf/attr-phdr.d 2023-02-16 10:49:26.786573665 +0000 +@@ -12,8 +12,8 @@ Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + RISCV_ATTRIBUT .* + LOAD .* +- ++#... + Section to Segment mapping: + Segment Sections... + 00 .riscv.attributes +- 01 .text ++#pass +diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d binutils-2.40/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d +--- binutils.orig/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d 2023-02-16 10:11:38.659875285 +0000 ++++ binutils-2.40/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d 2023-02-16 10:42:54.803431287 +0000 +@@ -8,7 +8,7 @@ + Disassembly of section \.text: + + 0+[0-9a-f]+ <_start>: +-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,a0,[0-9]+ ++.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,a0,\-[0-9]+ + .*:[ ]+[0-9a-f]+[ ]+jal[ ]+ra,[0-9a-f]+ <_start> + .*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,gp,\-[0-9]+ # [0-9a-f]+ + .*:[ ]+[0-9a-f]+[ ]+addi[ ]+a2,gp,\-[0-9]+ # [0-9a-f]+ +diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d binutils-2.40/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d +--- binutils.orig/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d 2023-02-16 10:11:38.659875285 +0000 ++++ binutils-2.40/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d 2023-02-16 10:43:49.540306593 +0000 +@@ -11,5 +11,5 @@ Disassembly of section .text: + [0-9a-f]+ <_start>: + .*:[ ]+[0-9a-f]+[ ]+auipc[ ]+a1.* + .*:[ ]+[0-9a-f]+[ ]+addi?[ ]+a0,gp.* +-.*:[ ]+[0-9a-f]+[ ]+addi?[ ]+a1,a1.* ++.*:[ ]+[0-9a-f]+[ ]+mv[ ]+a1,a1 + #pass +diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d binutils-2.40/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d +--- binutils.orig/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d 2023-02-16 10:11:38.659875285 +0000 ++++ binutils-2.40/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d 2023-02-16 10:46:55.570899994 +0000 +@@ -2,4 +2,5 @@ + #source: pcrel-lo-addend-2a.s + #as: -march=rv32ic + #ld: -m[riscv_choose_ilp32_emul] --no-relax ++#skip: *-*-* + #error: .*dangerous relocation: %pcrel_lo overflow with an addend, the value of %pcrel_hi is 0x1000 without any addend, but may be 0x2000 after adding the %pcrel_lo addend +diff -rup binutils.orig/ld/testsuite/ld-elf/dwarf.exp binutils-2.40/ld/testsuite/ld-elf/dwarf.exp +--- binutils.orig/ld/testsuite/ld-elf/dwarf.exp 2023-02-16 10:11:38.515875516 +0000 ++++ binutils-2.40/ld/testsuite/ld-elf/dwarf.exp 2023-02-16 11:08:52.209377332 +0000 +@@ -29,6 +29,10 @@ if ![is_elf_format] { + return + } + ++if { [istarget riscv*-*-*] } then { ++ return ++} ++ + # Skip targets where -shared is not supported + + if ![check_shared_lib_support] { +diff -rup binutils.orig/ld/testsuite/ld-elf/tls.exp binutils-2.40/ld/testsuite/ld-elf/tls.exp +--- binutils.orig/ld/testsuite/ld-elf/tls.exp 2023-02-16 10:11:38.540875476 +0000 ++++ binutils-2.40/ld/testsuite/ld-elf/tls.exp 2023-02-16 11:08:56.944369374 +0000 +@@ -28,6 +28,10 @@ if { !([istarget *-*-linux*] + return + } + ++if { [istarget riscv*-*-*] } then { ++ return ++} ++ + # Check to see if the C compiler works. + if { ![check_compiler_available] } { + return +--- binutils.orig/binutils/testsuite/binutils-all/objcopy.exp 2023-08-24 07:48:30.429195480 +0100 ++++ binutils-2.41/binutils/testsuite/binutils-all/objcopy.exp 2023-08-24 07:57:05.535302711 +0100 +@@ -1409,6 +1409,8 @@ proc objcopy_test_without_global_symbol + # The AArch64 and ARM targets preserve mapping symbols + # in object files, so they will fail this test. + setup_xfail aarch64*-*-* arm*-*-* ++# The RISC-V target compiles with annotation enabled and these symbols remain after stripping. ++setup_xfail riscv*-*-* + + objcopy_test_without_global_symbol + +--- binutils.orig/ld/testsuite/ld-plugin/plugin.exp 2023-08-24 07:48:31.808196076 +0100 ++++ binutils-2.41/ld/testsuite/ld-plugin/plugin.exp 2023-08-24 07:59:30.285716568 +0100 +@@ -132,6 +132,10 @@ if [is_pecoff_format] { + append libs " --image-base=0x10000000" + } + ++if { [istarget riscv*-*-*] } then { ++ return ++} ++ + set plugin_tests [list \ + [list "load plugin" "-plugin $plugin_path \ + $testobjfiles $libs" "" "" "" {{ld plugin-1.d}} "main.x" ] \ +--- binutils.orig/binutils/testsuite/binutils-all/compress.exp 2023-12-11 10:09:16.923374463 +0000 ++++ binutils-2.41/binutils/testsuite/binutils-all/compress.exp 2023-12-12 09:00:15.150036675 +0000 +@@ -818,6 +818,10 @@ proc test_gnu_debuglink {} { + } + } + ++if { [istarget riscv*-*-*] } then { ++ return ++} ++ + if {[is_elf_format]} then { + test_gnu_debuglink + } +--- binutils-2.41/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d 2023-07-03 00:00:00.000000000 +0100 ++++ binutils.new/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d 2023-12-12 11:52:54.564057931 +0000 +@@ -8,10 +8,10 @@ + Disassembly of section \.text: + + 0+[0-9a-f]+ <_start>: +-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,a0,[0-9]+ ++.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,a0,\-[0-9]+ + .*:[ ]+[0-9a-f]+[ ]+jal[ ]+ra,[0-9a-f]+ <_start> + .*:[ ]+[0-9a-f]+[ ]+auipc[ ]+a1,0x[0-9a-f]+ +-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,a1,[0-9]+ # [0-9a-f]+ ++.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,a1,\-[0-9]+ # [0-9a-f]+ + .*:[ ]+[0-9a-f]+[ ]+lui[ ]+a2,0x[0-9a-f]+ + .*:[ ]+[0-9a-f]+[ ]+addi[ ]+a2,a2,[0-9]+ # [0-9a-f]+ + .*:[ ]+[0-9a-f]+[ ]+addi[ ]+a3,tp,0 # 0 +--- binutils.orig/binutils/testsuite/binutils-all/objcopy.exp 2023-12-12 14:21:10.225342926 +0000 ++++ binutils-2.41/binutils/testsuite/binutils-all/objcopy.exp 2023-12-12 14:22:12.453421499 +0000 +@@ -1410,7 +1410,7 @@ proc objcopy_test_without_global_symbol + # in object files, so they will fail this test. + setup_xfail aarch64*-*-* arm*-*-* + # The RISC-V target compiles with annotation enabled and these symbols remain after stripping. +-setup_xfail riscv*-*-* ++# setup_xfail riscv*-*-* + + objcopy_test_without_global_symbol + diff --git a/SOURCES/binutils-section-ordering.patch b/SOURCES/binutils-section-ordering.patch new file mode 100644 index 0000000..6632da6 --- /dev/null +++ b/SOURCES/binutils-section-ordering.patch @@ -0,0 +1,26973 @@ +diff -rupN binutils.orig/ld/NEWS binutils-2.41/ld/NEWS +--- binutils.orig/ld/NEWS 2024-05-13 13:03:48.141602288 +0100 ++++ binutils-2.41/ld/NEWS 2024-05-13 13:04:43.757681506 +0100 +@@ -1,5 +1,8 @@ + -*- text -*- + ++* Add --section-ordering-file option to add extra mapping of input ++ sections to output sections. ++ + * On RISC-V, add ld target option --[no-]check-uleb128. Should rebuild the + objects by binutils 2.42 and up if enabling the option and get warnings, + since the non-zero addend of SUB_ULEB128 shouldn't be generated from .uleb128 +diff -rupN binutils.orig/ld/NEWS.orig binutils-2.41/ld/NEWS.orig +--- binutils.orig/ld/NEWS.orig 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/NEWS.orig 2024-05-13 13:04:08.590633292 +0100 +@@ -0,0 +1,991 @@ ++-*- text -*- ++ ++* On RISC-V, add ld target option --[no-]check-uleb128. Should rebuild the ++ objects by binutils 2.42 and up if enabling the option and get warnings, ++ since the non-zero addend of SUB_ULEB128 shouldn't be generated from .uleb128 ++ directives. ++ ++* Added --warn-execstack-objects to warn about executable stacks only when an ++ input object file requests one. Also added --error-execstack and ++ --error-rxw-segments options to convert warnings about executable stacks and ++ segments into errors. ++ ++ Also added --enable-error-execstack=[yes|no] and ++ --enable-error-rwx-segments=[yes|no] configure options to set the default for ++ converting warnings into errors. ++ ++Changes in 2.41: ++ ++* The linker now accepts a command line option of --remap-inputs ++ = to relace any input file that matches with ++ . In addition the option --remap-inputs-file= can be used to ++ specify a file containing any number of these remapping directives. ++ ++* The linker command line option --print-map-locals can be used to include ++ local symbols in a linker map. (ELF targets only). ++ ++* For most ELF based targets, if the --enable-linker-version option is used ++ then the version of the linker will be inserted as a string into the .comment ++ section. ++ ++* The linker script syntax has a new command for output sections: ASCIZ "string" ++ This will insert a zero-terminated string at the current location. ++ ++* Add command-line option, -z nosectionheader, to omit ELF section ++ header. ++ ++Changes in 2.40: ++ ++* The linker has a new command line option to suppress the generation of any ++ warning or error messages. This can be useful when there is a need to create ++ a known non-working binary. The option is -w or --no-warnings. ++ ++* ld now supports zstd compressed debug sections. The new option ++ --compress-debug-sections=zstd compresses debug sections with zstd. ++ ++* Add --enable-default-compressed-debug-sections-algorithm={zlib,zstd} ++ that selects the default compression algorithm ++ for --enable-compressed-debug-sections. ++ ++* Remove support for -z bndplt (MPX prefix instructions). ++ ++Changes in 2.39: ++ ++* The ELF linker will now generate a warning message if the stack is made ++ executable. By default this warning is not issued if the user has ++ specifically requested an executable stack via the "-z execstack" ++ command line option, but the warning can be forced via the new ++ "--warn-execstack" option. Alternatively all warnings about creating ++ an executable stack can be suppressed via the "--no-warn-execstack" ++ option. ++ ++ In addition the ELF linker will also warn if it creates a memory resident ++ segment with all three of the Read, Write and eXecute permissions set, or ++ if it creates a thread local data segment with the eXecute permission set. ++ These warnings can be disabled via --no-warn-rwx-segments option and ++ re-enabled via the --warn-rwx-segments option. ++ ++ New configure options can also control these new features: ++ ++ --enable-warn-execstack=no ++ will disable the warnings about creating an executable stack. ++ ++ --enable-warn-execstack=yes ++ will make --warn-execstack enabled by default. ++ ++ --enable-warn-rwx-segments=no ++ will make --no-warn-rwx-segments enabled by default. ++ ++ --enable-default-execstack=no ++ will stop the creation of an executable stack simply because an input file ++ is missing a .note.GNU-stack section, even on architectures where this ++ behaviour is the default. ++ ++* TYPE= is now supported in an output section description to set the ++ section type value. ++ ++* Remove (rudimentary) support for the x86-64 sub-architectures Intel L1OM and ++ Intel K1OM. ++ ++* The ELF linker now supports a new --package-metadata option that allows ++ embedding a JSON payload in accordance to the Package Metadata specification. ++ If support for libjansson is enabled at build time, the linker will use it to ++ validate the input. This can be enabled with --enable-jansson. ++ For more details, see: https://systemd.io/ELF_PACKAGE_METADATA/ ++ ++Changes in 2.38: ++ ++* Add -z pack-relative-relocs/-z no pack-relative-relocs to x86 ELF ++ linker to pack relative relocations in the DT_RELR section. ++ ++* Add support for the LoongArch architecture. ++ ++* Add -z indirect-extern-access/-z noindirect-extern-access to x86 ELF ++ linker to control canonical function pointers and copy relocation. ++ ++* Add --max-cache-size=SIZE to set the the maximum cache size to SIZE ++ bytes. ++ ++Changes in 2.37: ++ ++* arm-symbianelf support removed. ++ ++* Add -z report-relative-reloc to x86 ELF linker to report dynamic ++ relative relocations. ++ ++* Add -z start-stop-gc to disable special treatment of __start_*/__stop_* ++ references when --gc-sections. ++ ++* Add -Bno-symbolic to cancel -Bsymbolic and -Bsymbolic-functions. ++ ++Changes in 2.36: ++ ++* Add libdep plugin, for linking dependencies of static libraries that ++ were recorded by ar in the __.LIBDEP archive member. ++ ++* Add --error-handling-script= command line option to allow a helper ++ script to be invoked when an undefined symbol or a missing library is ++ encountered. This option can be suppressed via the configure time ++ switch: --enable-error-handling-script=no. ++ ++* Add -z lam-u48 to x86-64 ELF linker to generate LAM_U48 property. ++ ++* Add -z lam-u57 to x86-64 ELF linker to enerate LAM_U57 property. ++ ++* Add -z lam-u48-report=[none|warning|error] to report missing LAM_U48 ++ property. ++ ++* Add -z lam-u57-report=[none|warning|error] to report missing LAM_U57 ++ property. ++ ++* Add -z lam-report=[none|warning|error] to report missing LAM_U48 and ++ LAM_U57 properties. ++ ++* Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark ++ x86-64-{baseline|v[234]} ISA level as needed. ++ ++* Add -z unique-symbol to avoid duplicated local symbol names. ++ ++* The creation of PE format DLLs now defaults to using a more secure set of DLL ++ characteristics. ++ ++* The linker now deduplicates the types in .ctf sections. The new ++ command-line option --ctf-share-types describes how to do this: ++ its default value, share-unconflicted, produces the most compact ++ output. ++ ++* The linker now omits the "variable section" from .ctf sections by ++ default, saving space. This is almost certainly what you want ++ unless you are working on a project that has its own analogue ++ of symbol tables that are not reflected in the ELF symtabs. ++ ++* Add support for the SHF_GNU_RETAIN ELF section flag. ++ This flag specifies that the section should not be garbage collected by the ++ linker. ++ ++Changes in 2.35: ++ ++* X86 NaCl target support is removed. ++ ++* Add ELF linker command-line options, --export-dynamic-symbol and ++ --export-dynamic-symbol-list, to make symbols dynamic. ++ ++* Add a configure option, --enable-textrel-check=[no|yes|warning|error], ++ to decide what ELF linker should do by default with DT_TEXTREL in an ++ executable or shared library. Default to yes for Linux/x86 targets. ++ ++* The -Map= command line option has been extended so that if ++ is a directory then /.map will be ++ created. ++ ++* Add a command-line option for ELF linker, --warn-textrel, to warn that ++ DT_TEXTREL is set in a position-independent executable or shared object. ++ ++* Add command-line options --enable-non-contiguous-regions and ++ --enable-non-contiguous-regions-warnings. ++ ++* Add command-line option --imagic for the pdp11-aout target to output format ++ IMAGIC (0411) for separate instruction and data spaces, and change the ++ default format option for pdp11-aout to be --omagic. ++ ++* Relative pathnames in INPUT() and GROUP() directives in linker scripts are ++ searched relative to the directory of the linker script before other search ++ paths. ++ ++* Add ELF linker command-line option `-z start-stop-visibility=...' to control ++ the visibility of synthetic `__start_SECNAME` and `__stop_SECNAME` symbols. ++ ++* Add command-line option --dependency-file to write a Make-style dependency ++ file listing the input files consulted by the linker, like the files written ++ by the compiler's -M -MP options. ++ ++Changes in 2.34: ++ ++* The ld check for "PHDR segment not covered by LOAD segment" is more ++ effective, catching cases that were wrongly allowed by previous versions of ++ ld. If you see this error it is likely you are linking with a bad linker ++ script or the binary you are building is not intended to be loaded by a ++ dynamic loader. In the latter case --no-dynamic-linker is appropriate. ++ ++* cr16c support removed. ++ ++* Add support for z80-elf. ++ ++* Add support for relocation of each byte or word of multibyte value to Z80 ++ targets. ++ ++* Add support for Zilog eZ80 (both ADL and Z80 mode) and Zilog Z180 CPUs. ++ ++Changes in 2.33: ++ ++* Add command-line option --no-print-map-discarded. ++ ++* The Cortex-A53 Erratum 843419 workaround now supports a choice of which ++ workaround to use. The option --fix-cortex-a53-843419 now takes an ++ optional argument --fix-cortex-a53-843419[=full|adr|adrp] which can be ++ used to force a particular workaround to be used. See --help for AArch64 ++ for more details. ++ ++* Add target handlers for AArch64 for ELF GNU program properties. ++ ++* Add support for GNU_PROPERTY_AARCH64_FEATURE_1_BTI in ELF GNU program ++ properties in the AArch64 ELF linker. ++ ++* Add support for GNU_PROPERTY_AARCH64_FEATURE_1_PAC in ELF GNU program ++ properties in the AArch64 ELF linker. ++ ++* Add -z force-bti for AArch64 to enable GNU_PROPERTY_AARCH64_FEATURE_1_BTI ++ on output while warning about missing GNU_PROPERTY_AARCH64_FEATURE_1_BTI ++ on inputs and use PLTs protected with BTI. ++ ++* Add -z pac-plt for AArch64 to pick PAC enabled PLTs. ++ ++Changes in 2.32: ++ ++* Report property change in linker map file when merging GNU properties. ++ ++* Add support for the C-SKY processor series. ++ ++* -t now doesn't report members within archives, unless -t is given twice. ++ A single -t is now more useful when generating a list of files that should be ++ packaged for a linker bug report. For example: ++ gcc hello.c -save-temps -Wl,-t | xargs realpath | sort | uniq > files ++ tar cJf test.tar.xz `cat files` ++ ++Changes in 2.31: ++ ++* Speed up direct linking with DLLs for Cygwin and Mingw targets. ++ ++* Add a configure option --enable-separate-code to decide whether ++ -z separate-code should be enabled in ELF linker by default. Default ++ to yes for Linux/x86 targets. Note that -z separate-code can increase ++ disk and memory size. ++ ++Changes in 2.30: ++ ++* Add -z separate-code to generate separate code PT_LOAD segment. ++ ++* Add "-z undefs" command-line option as the inverse of the "-z defs" option. ++ ++* Add -z globalaudit command-line option to force audit libraries to be run ++ for every dynamic object loaded by an executable - provided that the loader ++ supports this functionality. ++ ++* Tighten linker script grammar around file name specifiers to prevent the use ++ of SORT_BY_ALIGNMENT and SORT_BY_INIT_PRIORITY on filenames. These would ++ previously be accepted but had no effect. ++ ++* The EXCLUDE_FILE directive can now be placed within any SORT_* directive ++ within input section lists. ++ ++Changes in 2.29: ++ ++* Support for -z shstk in the x86 ELF linker to generate ++ GNU_PROPERTY_X86_FEATURE_1_SHSTK in ELF GNU program properties. ++ ++* Add support for GNU_PROPERTY_X86_FEATURE_1_SHSTK in ELF GNU program ++ properties in the x86 ELF linker. ++ ++* Add support for GNU_PROPERTY_X86_FEATURE_1_IBT in ELF GNU program ++ properties in the x86 ELF linker. ++ ++* Support for -z ibtplt in the x86 ELF linker to generate IBT-enabled ++ PLT. ++ ++* Support for -z ibt in the x86 ELF linker to generate IBT-enabled ++ PLT as well as GNU_PROPERTY_X86_FEATURE_1_IBT in ELF GNU program ++ properties. ++ ++* Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX. ++ ++* Add support for ELF GNU program properties. ++ ++* Add support for the Texas Instruments PRU processor. ++ ++* When configuring for arc*-*-linux* targets the default linker emulation will ++ change if --with-cpu=nps400 is used at configure time. ++ ++* Improve assignment of LMAs to orphan sections in some edge cases where a ++ mixture of both AT>LMA_REGION and AT(LMA) are used. ++ ++* Orphan sections placed after an empty section that has an AT(LMA) will now ++ take an load memory address starting from LMA. ++ ++* Section groups can now be resolved (the group deleted and the group members ++ placed like normal sections) at partial link time either using the new linker ++ option --force-group-allocation or by placing FORCE_GROUP_ALLOCATION into the ++ linker script. ++ ++Changes in 2.28: ++ ++* The EXCLUDE_FILE linker script construct can now be applied outside of the ++ section list in order for the exclusions to apply over all input sections in ++ the list. ++ ++* Add support for the RISC-V architecture. ++ ++* The command-line option --no-eh-frame-hdr can now be used in ELF based ++ linkers to disable the automatic generation of .eh_frame_hdr sections. ++ ++* Add --in-implib= to the ARM linker to enable specifying a set of ++ Secure Gateway veneers that must exist in the output import library specified ++ by --out-implib= and the address they must have. As such, ++ --in-implib is only supported in combination with --cmse-implib. ++ ++* Extended the --out-implib= option, previously restricted to x86 PE ++ targets, to any ELF based target. This allows the generation of an import ++ library for an ELF executable, which can then be used by another application ++ to link against the executable. ++ ++Changes in 2.27: ++ ++* Add a configure option --enable-relro to decide whether -z relro should ++ be enabled in ELF linker by default. Default to yes for all Linux ++ targets except FRV, HPPA, IA64 and MIPS. Note that -z relro can increase ++ disk and memory size. ++ ++* Support for -z noreloc-overflow in the x86-64 ELF linker to disable ++ relocation overflow check. ++ ++* Add -z common/-z nocommon options for ELF targets to control whether to ++ convert common symbols to the STT_COMMON type during a relocatable link. ++ ++* Support for -z nodynamic-undefined-weak in the x86 ELF linker, which ++ avoids dynamic relocations against undefined weak symbols in executable. ++ ++* The NOCROSSREFSTO command was added to the linker script language. ++ ++* Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply link-time ++ values for dynamic relocations. ++ ++Changes in 2.26: ++ ++* Add --fix-stm32l4xx-629360 to the ARM linker to enable a link-time ++ workaround for a bug in the bus matrix / memory controller for some of ++ the STM32 Cortex-M4 based products (STM32L4xx) ++ ++* Add a configure option --enable-compressed-debug-sections={all,ld} to ++ decide whether DWARF debug sections should be compressed by default. ++ ++* Add support for the ARC EM/HS, and ARC600/700 architectures. ++ ++* Experimental support for linker garbage collection (--gc-sections) ++ has been enabled for COFF and PE based targets. ++ ++* New command-line option for ELF targets to compress DWARF debug ++ sections, --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]. ++ ++* New command-line option, --orphan-handling=[place|warn|error|discard], to ++ adjust how orphan sections are handled. The default is 'place' which gives ++ the current behaviour, 'warn' and 'error' issue a warning or error ++ respectively when orphan sections are found, and 'discard' will discard all ++ orphan sections. ++ ++* Add support for LLVM plugin. ++ ++* Add --print-memory-usage option to report memory blocks usage. ++ ++* Add --require-defined option, it's like --undefined except the new symbol ++ must be defined by the end of the link. ++ ++Changes in 2.25: ++ ++* PE binaries now once again contain real timestamps by default. To disable ++ the inclusion of a timestamp in a PE binary, use the --no-insert-timestamp ++ command-line option. ++ ++* Replace support for openrisc and or32 with support for or1k. ++ ++* Add support for the --build-id command-line option to COFF based targets. ++ ++* x86/x86_64 pe-coff now supports the --build-id option. ++ ++* Add support for the Andes NDS32. ++ ++Changes in 2.24: ++ ++* Add LOG2CEIL() builtin function to the linker script language ++ ++* Add support for the Texas Instruments MSP430X processor. ++ ++* Add support for Altera Nios II. ++ ++* Add support for the V850E3V5 architecture. ++ ++* Add support for the Imagination Technologies Meta processor. ++ ++* --enable-new-dtags no longer generates old dtags in addition to new dtags. ++ ++* Remove linker support for MIPS ECOFF targets. ++ ++* Add ALIGN_WITH_INPUT to the linker script language to force the alignment of ++ an output section to use the maximum alignment of all its input sections. ++ ++Changes in 2.23: ++ ++* Enable compressed debug section feature for x86/x86_64 pe-coff. ++ ++* Add support for the 64-bit ARM architecture: AArch64. ++ ++* Added SORT_NONE to the linker script language to disable section sorting. ++ ++* Add a linker-provided symbol when producing ELF output, '__ehdr_start' ++ to point to the ELF file header (and nearby program headers) in the ++ program's memory image. ++ ++* Add support for S12X processor. ++ ++* Add support for the VLE extension to the PowerPC architecture. ++ ++* Add support for the Freescale XGATE architecture. ++ ++* Add option -f FILE on AIX (for response file). ++ ++* Add support for the Renesas RL78 architecture. ++ ++* Add support for the Adapteva EPIPHANY architecture. ++ ++Changes in 2.22: ++ ++* --copy-dt-needed-entries is no longer enabled by default. Instead ++ --no-copy-dt-needed-entries is the default. ++ ++* INPUT_SECTION_FLAGS has been added to the linker script language ++ to allow selection of input sections by section header section flags. ++ ++* Add support for the Tilera TILEPro and TILE-Gx architectures. ++ ++* Added SORT_BY_INIT_PRIORITY to the linker script language to permit ++ sorting sections by numerical value of the GCC init_priority attribute ++ encoded in the section name. ++ ++Changes in 2.21: ++ ++* Linker script expression evaluation is somewhat more sane. This may ++ break scripts that depend on quirks of the old expression evaluation. ++ ++* Turn off underscoring for x86_64 PE+-COFF targets. For old behavior the ++ option --enable-leading-mingw64-underscores can be used on configure of ++ bfd. ++ ++* Add support for the TMS320C6000 (TI C6X) processor family. ++ ++* --add-needed renamed to --copy-dt-needed-entries in order to avoid confusion ++ with --as-needed option. ++ ++* Extend .def file syntax by '== ' for imports and exports. This allows ++ to alias the import/export table name written in PE image. ++ ++* Add --exclude-all-symbols option to PE based linkers. This prevents all ++ symbols from automatically being exported. ++ ++* Add support for the Renesas RX processor. ++ ++* Add support for alpha-vms target. ++ ++Changes in 2.20: ++ ++* GNU/Linux targets now support the STB_GNU_UNIQUE symbol binding. This is a ++ GNU extension to the standard set of ELF symbol bindings. The binding will ++ be passed on to the dynamic linker which will make sure that in the entire ++ process there is just one symbol with the given name and type in use. ++ ++* PE targets now support a GNU extension to allow the alignment of common ++ common symbols to be specified. This support uses custom options in ++ the .drectve section, which will be disregarded by the native tools. ++ ++* PE targets now add primitive support for ELF version scripts; symbols ++ are not versioned, but the local and global symbol visibility directives ++ are respected when filtering symbols in auto-export mode. ++ ++* New option --no-export-dynamic to undo the effect of the -E and ++ --export-dynamic options. ++ ++* ELF: --warn-alternate-em option to warn if an object has alternate ++ ELF machine code. ++ ++* New script function REGION_ALIAS to add alias names to memory regions. ++ ++* PE targets no longer make use of the long section names PE extension to ++ the COFF format when generating executable images, by default. The old ++ (slightly non-conformant) behaviour can still be invoked by using the ++ new '--enable-long-section-names' command-line option. It is also enabled ++ automatically in the presence of un-stripped debug information, as GDB ++ needs to be able to find the debug info sections by their full names. ++ ++* For GNU/Linux systems the linker will now avoid processing any relocations ++ made against symbols of the STT_GNU_IFUNC type and instead emit them into ++ the resulting binary for processing by the loader. ++ ++* --as-needed now links in a dynamic library if it satisfies undefined ++ symbols in regular objects, or in other dynamic libraries. In the ++ latter case the library is not linked if it is found in a DT_NEEDED ++ entry of one of the libraries already linked. ++ ++* Add a new command-line option, -Ttext-segment ADDR, for ELF targets ++ to set the address of the first byte of the text segment. ++ ++* Add support for Sunplus score architecture. ++ ++* Add new option --use-nul-prefixed-import-tables to ld for PE targets to ++ allow fallback to old import table generation with null element prefix. ++ ++* Windows PE systems now support a new --exclude-modules-for-implib option, ++ allowing users to partition object files and archive members between a DLL ++ and its associated import library as they are generated during linking. ++ ++* Add support for Lattice Mico32 (lm32) architecture. ++ ++* Add CR16 ELF --embedded-relocs (used to embedded relocations into binaries ++ for Embedded-PIC code) option. ++ ++* Add to the PE/PE+ targets the support of two different kinds of ++ pseudo-relocations. They can be selected by the switches ++ --enable-runtime-pseudo-reloc-v1 and --enable-runtime-pseudo-reloc-v2. ++ For the switch --enable-runtime-pseudo-reloc it uses for 32-bit ++ runtime pseudo relocation version one, for 64-bit the version two. ++ ++Changes in 2.19: ++ ++* Linker scripts support a new INSERT command that makes it easier to ++ augment the default script. ++ ++* Linker script input section filespecs may now specify a file within an ++ archive by writing "archive:file". ++ ++* The --sort-common switch now has an optional argument which specifies the ++ direction of sorting. ++ ++* The M68K linker now supports multiple GOT generation schemes controlled via ++ the --got= command-line option. ++ ++* The ARM EABI linker will now generate stubs for function calls to symbols ++ that are too far away. The placement of the stubs is controlled by a new ++ linker command-line option: --stub-group-size=N. ++ ++Changes in 2.18: ++ ++* Linker sources now released under version 3 of the GNU General Public ++ License. ++ ++* ELF: New --build-id option to generate a unique per-binary identifier ++ embedded in a note section. ++ ++* Added support for National Semicondutor CompactRISC (ie CR16) target. ++ ++* -l:foo now searches the library path for a filename called foo, ++ without converting it to libfoo.a or libfoo.so. ++ ++* Add a new command-line option '--default-script=FILE' or '-dT FILE' ++ which specifies a replacement for the built in, default linker ++ script. ++ ++* ELF: Add -Bsymbolic-functions, --dynamic-list-cpp-new, which puts C++ ++ operator new and delete on the dynamic list, and --dynamic-list-data, ++ builtin list for --dynamic-list, which puts global data symbols on the ++ dynamic list. ++ ++* Add support for x86_64 PE+ target. ++ ++* Add support for Score target. ++ ++* ELF: Add --dynamic-list option to specify a list of global symbols ++ whose references shouldn't be bound to the definition within the ++ shared library, or a list of symbols which should be added to the ++ symbol table in the executable. ++ ++* The default output section LMA has changed for allocatable sections from ++ being equal to VMA, to keeping the difference between LMA and VMA the same as ++ the previous output section in the same region. This is a more useful ++ default when using overlays and other cases where you specify an LMA ++ differing from the VMA for some sections. ++ ++* New switch: --print-gc-sections to list any sections removed by garabge ++ collection. ++ ++* ARM: Added --vfp11-denorm-fix option to work around an erratum in current ++ VFP11 coprocessors. ++ ++Changes in 2.17: ++ ++* Support for the Infineon XC16X has been added by KPIT Cummins Infosystems. ++ ++* Modify the Linux linker search order to better match ld.so search order. ++ Look for DT_NEEDED libraries in paths specified by ld.so.conf before ++ searching the default directories, rather than vice versa. ++ Use $prefix/etc/ld.so.conf if it exists, otherwise /etc/ld.so.conf. ++ ++* PE-COFF: Forward exports from DLL's can now be specified in .def files ++ passed directly to ld. ++ ++* Support for the Z80 processor family has been added. ++ ++* Add support for the "@" syntax to the command line, so that extra ++ switches can be read from . ++ ++Changes in 2.16: ++ ++* Support for the R_ARM_V4BX relocation as defined in the ARM AAELF ++ specification has been added via the --fix-v4bx command-line option. ++ ++* New linker script construct AS_NEEDED(), which sets the --as-needed flag ++ for input files listed inside of it. ++ ++* A new command-line option, --sysroot, can be used to override the ++ default sysroot location. It only applies to toolchains that were ++ configured using --with-sysroot. ++ ++* New linker script functions: ORIGIN() and LENGTH() which return information ++ about a specified memory region. ++ ++* Port to MAXQ processor contributed by HCL Tech. ++ ++* Added SEGMENT_START to the linker script language to permit the user to ++ override the base address for a segment from the command-line. ++ ++* ELF: --warn-shared-textrel option to warn if adding a DT_TEXTREL to a shared ++ object. ++ ++* Added SORT_BY_NAME and SORT_BY_ALIGNMENT to the linker script ++ language to permit sorting sections by section name or section ++ maximum alignment. ++ ++* Added a new linker command-line switch, --sort-section name|alignment, ++ to sort sections by section name or maximum alignment. ++ ++* ELF: --add-needed/--no-add-needed options to control if a DT_NEEDED tag ++ should be added when a shared library comes from DT_NEEDED tags. ++ ++* Support for the crx-elf target added. ++ ++* Support for the sh-symbianelf target added. ++ ++* A new linker command-line switch has been added which allows the hash table ++ size to be set to a suitable prime value near to its argument. This switch ++ is --hash-size=. Also if the switch --reduce-memory-overheads is ++ used, and --hash-size has not been used, then the default value will be set ++ to 1021. ++ ++* Linker map files are now generated with an O(N) algorithm for finding symbols ++ that are defined in each section. This uses about 40% more memory for ++ symbols than the old O(N^2) algorithm. You can use the new ++ --reduce-memory-overheads option to select the old algorithm; this option ++ might also be used in the future to select similar tradeoffs. ++ ++Changes in 2.15: ++ ++* ELF: --as-needed/--no-as-needed options to control if a DT_NEEDED tag should ++ be added only when a shared library is referenced. ++ ++* PE: --large-address-aware option to indicate executables support virtual ++ addresses greater than 2 gigabytes. ++ ++* DWARF 2 support for i386pe added. ++ ++* The linker script operator DEFINED() will now yield 1 only for a symbol that ++ is defined before the statement where DEFINED is used. ++ ++* The MIPS --embedded-relocs (used to embed relocations into binaries for ++ Embedded-PIC code) is deprecated and will be removed in a future release. ++ ++* cr16c support added by NSC. ++ ++* m32r Linux (ELF) support added by Renesas. ++ ++* Improved linker's handling of unresolved symbols. The switch ++ --unresolved-symbols= has been added to tell the linker when it ++ should report them and the switch --warn-unresolved-symbols has been added to ++ make reports be issued as warning messages rather than errors. ++ ++Changes in 2.14: ++ ++* Added support for Xtensa architecture. ++ ++* Added --with-sysroot configure switch to specify a target system root, for ++ linking against a target filesystem image. ++ ++* Added --accept-unknown-linker-format to restore old linker behaviour (pre ++ 2.14) of silently accepting and linking in any files in an unknown binary ++ file format. ++ ++* Added --no-omagic to undo the effects of the -N option. ++ ++* Support for Texas Instruments TMS320C4x and TMS320C3x series of ++ DSP's contributed by Michael Hayes and Svein E. Seldal. ++ ++* Added --with-lib-path configure switch to specify default value for ++ LIB_PATH. ++ ++* ARM port to QNX operating system added by Graeme Peterson. ++ ++* IP2K support added by Denis Chertykov. ++ ++Changes in 2.13: ++ ++* Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400 ++ and FR500 included. ++ ++Changes in version 2.13: ++ ++* DEC VAX ELF support, by Matt Thomas. ++ ++Changes in version 2.12: ++ ++* Support for Don Knuth's MMIX, by Hans-Peter Nilsson. ++ ++* Support for the OpenRISC 32-bit embedded processor by OpenCores. ++ ++* Support for -z nocopyreloc in the x86 ELF linker, which disables ++ production of copy relocs. Warning: using this option may result in ++ non-sharable applications. ++ ++* Support for -z combreloc in the ELF linker, which puts dynamic ++ relocations against the same symbol together, so that dynamic linker ++ can use an one-entry symbol lookup cache. ++ ++* Support for ELF SHF_MERGE section merging, by Jakub Jelinek. ++ ++Changes in version 2.11: ++ ++* Support for AMD x86-64 architecture, by Jan Hubicka, SuSE Labs. ++ ++* Support added for eliminating duplicate DWARF2 debug information by ++ having the compiler generate the information in sections called ++ .gnu.linkonce.wi.XXXX where XXXX is a checksum for the contents. The ++ linker then merges these sections together into the normal .debug_info ++ section. ++ ++* The native ELF linker now searches the directories in DT_RUNPATH or ++ DT_RPATH of a shared library for shared libraries needed by it. ++ ++* TI C54x support, by Timothy Wall. ++ ++* Added command-line switch --section-start to set the start address of any ++ specified section. ++ ++* Added ability to emit full relocation information in linked executables, ++ enabled by --emit-relocs. Some post-linkage optimization tools need ++ this information in order to be able to correctly identify and perform ++ symbol relative addressing in the event of changes in section contents ++ (instructions being added or deleted, extending data sections, etc.) ++ ++* Support for i860, by Jason Eckhardt (preliminary, alpha quality). ++ ++* Support for CRIS (Axis Communications ETRAX series). ++ ++* Support for PDP-11 and 2.11BSD a.out format, by Lars Brinkhoff. ++ ++Changes in version 2.10: ++ ++* Added AT> to the linker script language to allow load-time allocation of ++ sections into regions. ++ ++* Added garbage collection of unused sections, enabled by --gc-sections. ++ It does require a bit of backend support; currently implemented are ++ arm-elf, avr-elf, d10v-elf, fr30-elf, i386-elf, m32r-elf, m68k-elf, ++ mcore-elf, mips-elf, mn10300-elf, ppc-elf, sh-elf, sparc-elf, and v850-elf. ++ Others will ignore the option. ++ ++* Added SORT to the linker script language to permit sorting sections by file ++ name or section name. ++ ++* Added EXTERN to the linker script language as an equivalent to the -u ++ command-line option. ++ ++* Added ASSERT to the linker script language. ++ ++* Added EXCLUDE_FILE to the linker script language for further control over ++ wildcard file names. ++ ++* Added -O option to optimize linker output (as of this writing, this only ++ affects ELF shared library generation). ++ ++* The -e option now accepts a number as well as a symbol name. ++ ++* Added --no-undefined option to disallow undefined symbols when creating a ++ shared library. ++ ++* The linker now issues a warning, not an error, for an undefined symbol when ++ using -Bsymbolic; use the new --no-undefined option to get the old ++ behaviour. ++ ++* Added --demangle and --no-demangle options. ++ ++Changes in version 2.9: ++ ++* Added SQUAD to the linker script language. ++ ++* New option --no-warn-mismatch. ++ ++* The MEMORY command now parses the attributes to determine where sections that ++ are not placed in a specific memory region are placed. ++ ++Changes in version 2.8: ++ ++* Linker scripts may now contain shell wildcard characters for file and section ++ names. ++ ++* The linker now supports symbol versions in ELF. ++ ++* The NOCROSSREFS command was added to the linker script language. ++ ++* The LOADADDR expression was added to the linker script language. ++ ++* MAX and MIN functions were added to the linker script language. ++ ++* The OVERLAY construct was added to the linker script language. ++ ++* New option --warn-section-align to warn when the address of an output section ++ changes due to alignment of an input section. ++ ++* New options --filter/-F and --auxiliary/-f. ++ ++Changes in version 2.7: ++ ++* New option --cref to print out a cross reference table. ++ ++* New option --wrap SYMBOL. ++ ++* New option --no-whole-archive, to turn off the effect of --whole-archive. ++ ++* Input sections assigned to the output section /DISCARD/ in the linker script ++ are not included in the output file. ++ ++* The SunOS and ELF linkers now merge stabs debugging information which uses ++ the N_BINCL and N_EINCL stab types. This reduces the amount of debugging ++ information generated. ++ ++Changes in version 2.6: ++ ++* When an ELF section name is representable as a C identifier (this is not true ++of most ELF section names), the linker will automatically define symbols ++__start_SECNAME and __stop_SECNAME, where SECNAME is the section name, at the ++beginning and the end of the section. This is used by glibc. ++ ++ Addendum: Current versions of the linker (at least for version 2.18 onwards ++and possibly much earlier as well) place two restrictions on this feature: The ++symbols are only implemented for orphaned sections, not for explicitly placed ++sections and they are PROVIDEd rather than being defined. ++ ++* When an ELF section named .gnu.warning is encountered in an input file, the ++contents of the section are displayed as an error message, and the section is ++not copied into the output file. This is used by glibc. ++ ++* When an ELF section named .gnu.warning.SYMBOL is encountered in an input ++file, and the symbol SYMBOL is referenced by some object file, the contents of ++the section are displayed as an error message. The section is not copied into ++the output file, unless doing a relocatable or shared link. This is used by ++glibc. ++ ++* New options -split-by-reloc and -split-by-file. ++ ++* The linker now supports linking PIC compiled code on SPARC SunOS. It can ++also create SPARC SunOS shared libraries, and, like the native SunOS linker, ++will do so whenever there is an undefined symbol in the link and neither the -e ++nor the -r option was used. ++ ++* The -rpath option may be used on SunOS to set the list of directories to be ++searched at run time. This overrides the default of building the list from the ++-L options. ++ ++* The COFF linker now combines debugging information for structs, unions, and ++enums, so that even if the same type is defined in multiple input files it will ++only be defined once in the output file. The --traditional-format switch will ++prevent this optimization. ++ ++Changes in version 2.5: ++ ++* The linker now supports linking against SunOS shared libraries. It still can ++not link SunOS PIC (Position Independent Code) files, so it can not be used to ++generate shared libraries. ++ ++* The linker now supports linking against ELF shared libraries for the i386 ++(UnixWare) and SPARC (Solaris). It can also link ELF PIC files, and can be ++used to generate shared libraries. Shared library generation is not well ++tested; please report any problems encountered. The linker is now enabled for ++Solaris again. ++ ++* Eric Youngdale has contributed Linux support code, including linking against ++Linux a.out shared libraries. The linker produces Linux QMAGIC binaries. ++ ++* The ELF backend has been converted to the new linker code. To use the new ++ELF linker, each particular target requires a relocation function. So far, ++this function has been written for i386 (UnixWare), SPARC (Solaris) MIPS (Irix ++5), and HPPA ELF targets. ++ ++* The -( (--start-group) and -) (--end-group) options have been added to ++support searching a group of archives as though they were a single archive. ++This can also be used in a linker script, as GROUP ( files ). ++ ++* When a file is named on the command line, and the linker does not recognize ++it as an object file, the linker will now treat the file as a linker script ++file. A linker script named in this way augments, but does not replace, the ++default linker script. ++ ++* The -warn-once option was added. It causes the linker to only warn once per ++undefined symbol, rather than once per reference. ++ ++* The COFF backend has been converted to the new linker code. As with ELF, to ++use the new linker, each particular target requires a relocation function. So ++far, this function has been written for the i386, m68k, a29k and SH targets. ++ ++* The -V flag was made a synonym for -v, for SVR4 compatibility. The old -V ++behaviour is available via --verbose. ++ ++Changes in version 2.4: ++ ++* New linker code, by Steve Chamberlain and Ian Taylor. For a.out and ecoff ++ formats (so far), this should result in considerable savings in time ++ and memory used while linking; slightly poorer performance than ++ before for formats not converted yet. ++ ++* Command-line parsing is no longer done with flex. This means ++ oddball characters in filenames won't get treated as argument ++ separators. ++ ++* HP-PA ELF support, by Jeff Law. (No SOM support yet.) ++ ++* Mach i386 support, by David Mackenzie. ++ ++* Irix 4 shared libraries are now supported (Irix 5 uses ELF, and ELF shared ++ libraries are not yet supported). ++ ++* COFF shared libraries (as on SCO) should work as well. ++ ++* The linker is disabled for Solaris. (Actually, it was in 2.3 also, I just ++ forgot to note it.) Some of their C library routines don't work when ++ statically linked, and the GNU linker doesn't support dynamic linking yet. ++ ++Changes in version 2.3: ++ ++* Weak symbols are now supported. ++ ++* ELF support has been added. The linker has been bootstrapped on ++ UnixWare and Solaris. ++ ++* Alpha OSF/1 support has been added (non dynamic linking only). ++ ++Changes in version 2.2: ++ ++* The `bfd' library has been updated to reduce a.out-format string ++ table size. The effect of this is that files linked from many input ++ files with duplicate symbols (`-g' debugging records, or identical ++ static symbols) should be much smaller. ++ ++Changes in version 2.1: ++ ++* The ld -ySYMBOL flag (to trace references to SYMBOL) is now implemented. ++ ++* There is now support for writing ECOFF files, so ld and the ++ other utilities should work on Risc/Ultrix and Irix. ++ ++ ++Copyright (C) 2012-2023 Free Software Foundation, Inc. ++ ++Copying and distribution of this file, with or without modification, ++are permitted in any medium without royalty provided the copyright ++notice and this notice are preserved. ++ ++Local variables: ++fill-column: 79 ++End: +diff -rupN binutils.orig/ld/NEWS.rej binutils-2.41/ld/NEWS.rej +--- binutils.orig/ld/NEWS.rej 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/NEWS.rej 2024-05-13 13:04:08.590633292 +0100 +@@ -0,0 +1,11 @@ ++--- ld/NEWS +++++ ld/NEWS ++@@ -1,5 +1,8 @@ ++ -*- text -*- ++ +++* Add --section-ordering-file option to add extra mapping of input +++ sections to output sections. +++ ++ * Add -plugin-save-temps to store plugin intermediate files permanently. ++ ++ Changes in 2.42: +diff -rupN binutils.orig/ld/ld.h binutils-2.41/ld/ld.h +--- binutils.orig/ld/ld.h 2024-05-13 13:03:47.798601768 +0100 ++++ binutils-2.41/ld/ld.h 2024-05-13 13:04:08.591633294 +0100 +@@ -193,6 +193,9 @@ typedef struct + + /* Default linker script. */ + char *default_script; ++ ++ /* Linker script fragment provided by the --section-order command line option. */ ++ char *section_ordering_file; + } args_type; + + extern args_type command_line; +@@ -319,6 +322,7 @@ extern ld_config_type config; + + extern FILE * saved_script_handle; + extern bool force_make_executable; ++extern bool in_section_ordering; + + extern int yyparse (void); + extern void add_cref (const char *, bfd *, asection *, bfd_vma); +diff -rupN binutils.orig/ld/ld.h.orig binutils-2.41/ld/ld.h.orig +--- binutils.orig/ld/ld.h.orig 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/ld.h.orig 2023-07-03 00:00:00.000000000 +0100 +@@ -0,0 +1,338 @@ ++/* ld.h -- general linker header file ++ Copyright (C) 1991-2023 Free Software Foundation, Inc. ++ ++ This file is part of the GNU Binutils. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, ++ MA 02110-1301, USA. */ ++ ++#ifndef LD_H ++#define LD_H ++ ++#ifndef SEEK_CUR ++#define SEEK_CUR 1 ++#endif ++#ifndef SEEK_END ++#define SEEK_END 2 ++#endif ++ ++#ifndef ENABLE_NLS ++ /* The Solaris version of locale.h always includes libintl.h. If we have ++ been configured with --disable-nls then ENABLE_NLS will not be defined ++ and the dummy definitions of bindtextdomain (et al) below will conflict ++ with the defintions in libintl.h. So we define these values to prevent ++ the bogus inclusion of libintl.h. */ ++# define _LIBINTL_H ++# define _LIBGETTEXT_H ++#endif ++#include ++ ++#ifdef ENABLE_NLS ++# include ++# define _(String) gettext (String) ++# ifdef gettext_noop ++# define N_(String) gettext_noop (String) ++# else ++# define N_(String) (String) ++# endif ++#else ++# define gettext(Msgid) (Msgid) ++# define dgettext(Domainname, Msgid) (Msgid) ++# define dcgettext(Domainname, Msgid, Category) (Msgid) ++# define ngettext(Msgid1, Msgid2, n) \ ++ (n == 1 ? Msgid1 : Msgid2) ++# define dngettext(Domainname, Msgid1, Msgid2, n) \ ++ (n == 1 ? Msgid1 : Msgid2) ++# define dcngettext(Domainname, Msgid1, Msgid2, n, Category) \ ++ (n == 1 ? Msgid1 : Msgid2) ++# define textdomain(Domainname) do {} while (0) ++# define bindtextdomain(Domainname, Dirname) do {} while (0) ++# define _(String) (String) ++# define N_(String) (String) ++#endif ++ ++/* Look in this environment name for the linker to pretend to be */ ++#define EMULATION_ENVIRON "LDEMULATION" ++/* If in there look for the strings: */ ++ ++/* Look in this variable for a target format */ ++#define TARGET_ENVIRON "GNUTARGET" ++ ++/* Input sections which are put in a section of this name are actually ++ discarded. */ ++#define DISCARD_SECTION_NAME "/DISCARD/" ++ ++/* A file name list. */ ++typedef struct name_list ++{ ++ const char *name; ++ struct name_list *next; ++} ++name_list; ++ ++typedef enum {sort_none, sort_ascending, sort_descending} sort_order; ++ ++/* A wildcard specification. */ ++ ++typedef enum ++{ ++ none, by_name, by_alignment, by_name_alignment, by_alignment_name, ++ by_none, by_init_priority ++} sort_type; ++ ++extern sort_type sort_section; ++ ++struct wildcard_spec ++{ ++ const char *name; ++ struct name_list *exclude_name_list; ++ struct flag_info *section_flag_list; ++ size_t namelen, prefixlen, suffixlen; ++ sort_type sorted; ++}; ++ ++struct wildcard_list ++{ ++ struct wildcard_list *next; ++ struct wildcard_spec spec; ++}; ++ ++#define BYTE_SIZE (1) ++#define SHORT_SIZE (2) ++#define LONG_SIZE (4) ++#define QUAD_SIZE (8) ++ ++enum endian_enum { ENDIAN_UNSET = 0, ENDIAN_BIG, ENDIAN_LITTLE }; ++ ++typedef struct ++{ ++ /* 1 => assign space to common symbols even if `relocatable_output'. */ ++ bool force_common_definition; ++ ++ /* If TRUE, build MIPS embedded PIC relocation tables in the output ++ file. */ ++ bool embedded_relocs; ++ ++ /* If TRUE, force generation of a file with a .exe file. */ ++ bool force_exe_suffix; ++ ++ /* If TRUE, generate a cross reference report. */ ++ bool cref; ++ ++ /* If TRUE (which is the default), warn about mismatched input ++ files. */ ++ bool warn_mismatch; ++ ++ /* Warn on attempting to open an incompatible library during a library ++ search. */ ++ bool warn_search_mismatch; ++ ++ /* If non-zero check section addresses, once computed, ++ for overlaps. Relocatable links only check when this is > 0. */ ++ signed char check_section_addresses; ++ ++ /* If TRUE allow the linking of input files in an unknown architecture ++ assuming that the user knows what they are doing. This was the old ++ behaviour of the linker. The new default behaviour is to reject such ++ input files. */ ++ bool accept_unknown_input_arch; ++ ++ /* Name of the import library to generate. */ ++ char *out_implib_filename; ++ ++ /* If TRUE we'll just print the default output on stdout. */ ++ bool print_output_format; ++ ++ /* If set, display the target memory usage (per memory region). */ ++ bool print_memory_usage; ++ ++ /* Should we force section groups to be resolved? Controlled with ++ --force-group-allocation on the command line or FORCE_GROUP_ALLOCATION ++ in the linker script. */ ++ bool force_group_allocation; ++ ++ /* Big or little endian as set on command line. */ ++ enum endian_enum endian; ++ ++ /* Name of runtime interpreter to invoke. */ ++ char *interpreter; ++ ++ /* Name to give runtime library from the -soname argument. */ ++ char *soname; ++ ++ /* Runtime library search path from the -rpath argument. */ ++ char *rpath; ++ ++ /* Link time runtime library search path from the -rpath-link ++ argument. */ ++ char *rpath_link; ++ ++ /* Name of shared object whose symbol table should be filtered with ++ this shared object. From the --filter option. */ ++ char *filter_shlib; ++ ++ /* Name of shared object for whose symbol table this shared object ++ is an auxiliary filter. From the --auxiliary option. */ ++ char **auxiliary_filters; ++ ++ /* A version symbol to be applied to the symbol names found in the ++ .exports sections. */ ++ char *version_exports_section; ++ ++ /* Default linker script. */ ++ char *default_script; ++} args_type; ++ ++extern args_type command_line; ++ ++typedef int token_code_type; ++ ++/* Different ways we can handle orphan sections. */ ++ ++enum orphan_handling_enum ++{ ++ /* The classic strategy, find a suitable section to place the orphan ++ into. */ ++ orphan_handling_place = 0, ++ ++ /* Discard any orphan sections as though they were assign to the section ++ /DISCARD/. */ ++ orphan_handling_discard, ++ ++ /* Find somewhere to place the orphan section, as with ++ ORPHAN_HANDLING_PLACE, but also issue a warning. */ ++ orphan_handling_warn, ++ ++ /* Issue a fatal error if any orphan sections are found. */ ++ orphan_handling_error, ++}; ++ ++typedef struct ++{ ++ bool magic_demand_paged; ++ bool make_executable; ++ ++ /* If TRUE, -shared is supported. */ ++ /* ??? A better way to do this is perhaps to define this in the ++ ld_emulation_xfer_struct since this is really a target dependent ++ parameter. */ ++ bool has_shared; ++ ++ /* If TRUE, build constructors. */ ++ bool build_constructors; ++ ++ /* If TRUE, warn about any constructors. */ ++ bool warn_constructors; ++ ++ /* If TRUE, warn about merging common symbols with others. */ ++ bool warn_common; ++ ++ /* If TRUE, only warn once about a particular undefined symbol. */ ++ bool warn_once; ++ ++ /* How should we deal with orphan sections. */ ++ enum orphan_handling_enum orphan_handling; ++ ++ /* If TRUE, warn if multiple global-pointers are needed (Alpha ++ only). */ ++ bool warn_multiple_gp; ++ ++ /* If TRUE, warn if the starting address of an output section ++ changes due to the alignment of an input section. */ ++ bool warn_section_align; ++ ++ /* If TRUE, warning messages are fatal. */ ++ bool fatal_warnings; ++ ++ /* If TRUE, warning and error messages are ignored. */ ++ bool no_warnings; ++ ++ sort_order sort_common; ++ ++ bool text_read_only; ++ ++ bool stats; ++ ++ /* If set, orphan input sections will be mapped to separate output ++ sections. */ ++ bool unique_orphan_sections; ++ ++ /* If set, only search library directories explicitly selected ++ on the command line. */ ++ bool only_cmd_line_lib_dirs; ++ ++ /* If set, numbers and absolute symbols are simply treated as ++ numbers everywhere. */ ++ bool sane_expr; ++ ++ /* If set, code and non-code sections should never be in one segment. */ ++ bool separate_code; ++ ++ /* If set, generation of ELF section header should be suppressed. */ ++ bool no_section_header; ++ ++ /* The rpath separation character. Usually ':'. */ ++ char rpath_separator; ++ ++ char *map_filename; ++ FILE *map_file; ++ ++ char *dependency_file; ++ ++ unsigned int split_by_reloc; ++ bfd_size_type split_by_file; ++ ++ /* The size of the hash table to use. */ ++ unsigned long hash_table_size; ++ ++ /* If set, print discarded sections in map file output. */ ++ bool print_map_discarded; ++ ++ /* If set, print local symbols in map file output. */ ++ bool print_map_locals; ++ ++ /* If set, emit the names and types of statically-linked variables ++ into the CTF. */ ++ bool ctf_variables; ++ ++ /* If set, share only duplicated types in CTF, rather than sharing ++ all types that are not in conflict. */ ++ bool ctf_share_duplicated; ++ ++ /* Compress DWARF debug sections. */ ++ enum compressed_debug_section_type compress_debug; ++} ld_config_type; ++ ++extern ld_config_type config; ++ ++extern FILE * saved_script_handle; ++extern bool force_make_executable; ++ ++extern int yyparse (void); ++extern void add_cref (const char *, bfd *, asection *, bfd_vma); ++extern bool handle_asneeded_cref (bfd *, enum notice_asneeded_action); ++extern void output_cref (FILE *); ++extern void check_nocrossrefs (void); ++extern void ld_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; ++ ++/* If gcc >= 2.6, we can give a function name, too. */ ++#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) ++#define __PRETTY_FUNCTION__ NULL ++#endif ++ ++#undef abort ++#define abort() ld_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__) ++ ++#endif +diff -rupN binutils.orig/ld/ld.texi binutils-2.41/ld/ld.texi +--- binutils.orig/ld/ld.texi 2024-05-13 13:03:48.141602288 +0100 ++++ binutils-2.41/ld/ld.texi 2024-05-13 13:04:08.594633298 +0100 +@@ -301,6 +301,7 @@ and the script command language. If @em + are specified, the linker does not produce any output, and issues the + message @samp{No input files}. + ++@anchor{unrecognised-input-files} + If the linker cannot recognize the format of an object file, it will + assume that it is a linker script. A script specified in this way + augments the main linker script used for the link (either the default +@@ -1146,18 +1147,32 @@ a linker bug report. + @itemx --script=@var{scriptfile} + Use @var{scriptfile} as the linker script. This script replaces + @command{ld}'s default linker script (rather than adding to it), +-unless the script contains @code{INSERT}, so +-@var{commandfile} must specify everything necessary to describe the +-output file. @xref{Scripts}. If @var{scriptfile} does not exist in +-the current directory, @code{ld} looks for it in the directories +-specified by any preceding @samp{-L} options. Multiple @samp{-T} +-options accumulate. ++unless the script contains @code{INSERT}, so @var{commandfile} must ++specify everything necessary to describe the output file. ++@xref{Scripts}. ++ ++If @var{scriptfile} does not exist in the current directory, @code{ld} ++looks for it in the directories specified by any preceding @samp{-L} ++options. ++ ++Command line options that appear before the @option{-T} option can ++affect the script, but command line options that appear after it do ++not. ++ ++Multiple @samp{-T} options will accumulate if they are augmenting the ++current script, otherwise the last, non-augmenting, @option{-T} option ++will be used. ++ ++There are other ways of specifying linker scripts. See ++@xref{--default-script}, @xref{--section-ordering-file} and ++@xref{unrecognised-input-files}. + + @kindex -dT @var{script} + @kindex --default-script=@var{script} + @cindex script files + @item -dT @var{scriptfile} + @itemx --default-script=@var{scriptfile} ++@anchor{--default-script} + Use @var{scriptfile} as the default linker script. @xref{Scripts}. + + This option is similar to the @option{--script} option except that +@@ -2487,6 +2502,51 @@ warning and continue with the link. + + @end ifset + ++@kindex --section-ordering-file ++@item --section-ordering-file=@var{script} ++@anchor{--section-ordering-file} ++This option is used to augment the current linker script with ++additional mapping of input sections to output sections. This file ++must use the same syntax for @code{SECTIONS} as is used in normal ++linker scripts, but it should not do anything other than place input ++sections into output sections. @pxref{SECTIONS} ++ ++A second constraint on the section ordering script is that it can only ++reference output sections that are already defined by whichever linker ++script is currently in use. (Ie the default linker script or a script ++specified on the command line). The benefit of the section ordering ++script however is that the input sections are mapped to the start of ++the output sections, so that they can ensure the ordering of sections ++in the output section. For example, imagine that the default linker ++script looks like this: ++ ++@smallexample ++SECTIONS @{ ++ .text : @{ *(.text.hot) ; *(.text .text.*) @} ++ .data : @{ *(.data.big) ; *(.data .data.*) @} ++ @} ++@end smallexample ++ ++Then if a section ordering file like this is used: ++ ++@smallexample ++ .text : @{ *(.text.first) ; *(.text.z*) @} ++ .data : @{ foo.o(.data.first) ; *(.data.small) @} ++@end smallexample ++ ++This would be equivalent to a linker script like this: ++ ++@smallexample ++SECTIONS @{ ++ .text : @{ *(.text.first) ; *(.text.z*) ; *(.text.hot) ; *(.text .text.*) @} ++ .data : @{ foo.o(.data.first) ; *(.data.small) ; *(.data.big) ; *(.data .data.*) @} ++ @} ++@end smallexample ++ ++The advantage of the section ordering file is that it can be used to ++order those sections that matter to the user without having to worry ++about any other sections, or memory regions, or anything else. ++ + @kindex -shared + @kindex -Bshareable + @item -shared +diff -rupN binutils.orig/ld/ld.texi.orig binutils-2.41/ld/ld.texi.orig +--- binutils.orig/ld/ld.texi.orig 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/ld.texi.orig 2024-05-13 13:03:26.615569650 +0100 +@@ -0,0 +1,9639 @@ ++\input texinfo ++@setfilename ld.info ++@c Copyright (C) 1991-2023 Free Software Foundation, Inc. ++@syncodeindex ky cp ++@c man begin INCLUDE ++@include configdoc.texi ++@c (configdoc.texi is generated by the Makefile) ++@include bfdver.texi ++@c man end ++ ++@c @smallbook ++ ++@macro gcctabopt{body} ++@code{\body\} ++@end macro ++ ++@c man begin NAME ++@ifset man ++@c Configure for the generation of man pages ++@set UsesEnvVars ++@set GENERIC ++@set ARM ++@set C6X ++@set CSKY ++@set H8300 ++@set HPPA ++@set M68HC11 ++@set M68K ++@set MIPS ++@set MMIX ++@set MSP430 ++@set NDS32 ++@set NIOSII ++@set PDP11 ++@set POWERPC ++@set POWERPC64 ++@set Renesas ++@set S/390 ++@set SPU ++@set TICOFF ++@set WIN32 ++@set XTENSA ++@end ifset ++@c man end ++ ++@ifnottex ++@dircategory Software development ++@direntry ++* Ld: (ld). The GNU linker. ++@end direntry ++@end ifnottex ++ ++@copying ++This file documents the @sc{gnu} linker LD ++@ifset VERSION_PACKAGE ++@value{VERSION_PACKAGE} ++@end ifset ++version @value{VERSION}. ++ ++Copyright @copyright{} 1991-2023 Free Software Foundation, Inc. ++ ++Permission is granted to copy, distribute and/or modify this document ++under the terms of the GNU Free Documentation License, Version 1.3 ++or any later version published by the Free Software Foundation; ++with no Invariant Sections, with no Front-Cover Texts, and with no ++Back-Cover Texts. A copy of the license is included in the ++section entitled ``GNU Free Documentation License''. ++@end copying ++@iftex ++@finalout ++@setchapternewpage odd ++@settitle The GNU linker ++@titlepage ++@title The GNU linker ++@sp 1 ++@subtitle @code{ld} ++@ifset VERSION_PACKAGE ++@subtitle @value{VERSION_PACKAGE} ++@end ifset ++@subtitle Version @value{VERSION} ++@author Steve Chamberlain ++@author Ian Lance Taylor ++@page ++ ++@tex ++{\parskip=0pt ++\hfill Red Hat Inc\par ++\hfill nickc\@redhat.com, doc\@redhat.com\par ++\hfill {\it The GNU linker}\par ++\hfill Edited by Jeffrey Osier (jeffrey\@cygnus.com)\par ++} ++\global\parindent=0pt % Steve likes it this way. ++@end tex ++ ++@vskip 0pt plus 1filll ++@c man begin COPYRIGHT ++Copyright @copyright{} 1991-2023 Free Software Foundation, Inc. ++ ++Permission is granted to copy, distribute and/or modify this document ++under the terms of the GNU Free Documentation License, Version 1.3 ++or any later version published by the Free Software Foundation; ++with no Invariant Sections, with no Front-Cover Texts, and with no ++Back-Cover Texts. A copy of the license is included in the ++section entitled ``GNU Free Documentation License''. ++@c man end ++ ++@end titlepage ++@end iftex ++@contents ++@c FIXME: Talk about importance of *order* of args, cmds to linker! ++ ++@ifnottex ++@node Top ++@top LD ++This file documents the @sc{gnu} linker ld ++@ifset VERSION_PACKAGE ++@value{VERSION_PACKAGE} ++@end ifset ++version @value{VERSION}. ++ ++This document is distributed under the terms of the GNU Free ++Documentation License version 1.3. A copy of the license is included ++in the section entitled ``GNU Free Documentation License''. ++ ++@menu ++* Overview:: Overview ++* Invocation:: Invocation ++* Scripts:: Linker Scripts ++* Plugins:: Linker Plugins ++@ifset GENERIC ++* Machine Dependent:: Machine Dependent Features ++@end ifset ++@ifclear GENERIC ++@ifset H8300 ++* H8/300:: ld and the H8/300 ++@end ifset ++@ifset Renesas ++* Renesas:: ld and other Renesas micros ++@end ifset ++@ifset ARM ++* ARM:: ld and the ARM family ++@end ifset ++@ifset M68HC11 ++* M68HC11/68HC12:: ld and the Motorola 68HC11 and 68HC12 families ++@end ifset ++@ifset HPPA ++* HPPA ELF32:: ld and HPPA 32-bit ELF ++@end ifset ++@ifset M68K ++* M68K:: ld and Motorola 68K family ++@end ifset ++@ifset MIPS ++* MIPS:: ld and MIPS family ++@end ifset ++@ifset POWERPC ++* PowerPC ELF32:: ld and PowerPC 32-bit ELF Support ++@end ifset ++@ifset POWERPC64 ++* PowerPC64 ELF64:: ld and PowerPC64 64-bit ELF Support ++@end ifset ++@ifset S/390 ++* S/390 ELF:: ld and S/390 ELF Support ++@end ifset ++@ifset SPU ++* SPU ELF:: ld and SPU ELF Support ++@end ifset ++@ifset TICOFF ++* TI COFF:: ld and the TI COFF ++@end ifset ++@ifset WIN32 ++* Win32:: ld and WIN32 (cygwin/mingw) ++@end ifset ++@ifset XTENSA ++* Xtensa:: ld and Xtensa Processors ++@end ifset ++@end ifclear ++@ifclear SingleFormat ++* BFD:: BFD ++@end ifclear ++@c Following blank line required for remaining bug in makeinfo conds/menus ++ ++* Reporting Bugs:: Reporting Bugs ++* MRI:: MRI Compatible Script Files ++* GNU Free Documentation License:: GNU Free Documentation License ++* LD Index:: LD Index ++@end menu ++@end ifnottex ++ ++@node Overview ++@chapter Overview ++ ++@cindex @sc{gnu} linker ++@cindex what is this? ++ ++@ifset man ++@c man begin SYNOPSIS ++ld [@b{options}] @var{objfile} @dots{} ++@c man end ++ ++@c man begin SEEALSO ++ar(1), nm(1), objcopy(1), objdump(1), readelf(1) and ++the Info entries for @file{binutils} and ++@file{ld}. ++@c man end ++@end ifset ++ ++@c man begin DESCRIPTION ++ ++@command{ld} combines a number of object and archive files, relocates ++their data and ties up symbol references. Usually the last step in ++compiling a program is to run @command{ld}. ++ ++@command{ld} accepts Linker Command Language files written in ++a superset of AT&T's Link Editor Command Language syntax, ++to provide explicit and total control over the linking process. ++ ++@ifset man ++@c For the man only ++This man page does not describe the command language; see the ++@command{ld} entry in @code{info} for full details on the command ++language and on other aspects of the GNU linker. ++@end ifset ++ ++@ifclear SingleFormat ++This version of @command{ld} uses the general purpose BFD libraries ++to operate on object files. This allows @command{ld} to read, combine, and ++write object files in many different formats---for example, COFF or ++@code{a.out}. Different formats may be linked together to produce any ++available kind of object file. @xref{BFD}, for more information. ++@end ifclear ++ ++Aside from its flexibility, the @sc{gnu} linker is more helpful than other ++linkers in providing diagnostic information. Many linkers abandon ++execution immediately upon encountering an error; whenever possible, ++@command{ld} continues executing, allowing you to identify other errors ++(or, in some cases, to get an output file in spite of the error). ++ ++@c man end ++ ++@node Invocation ++@chapter Invocation ++ ++@c man begin DESCRIPTION ++ ++The @sc{gnu} linker @command{ld} is meant to cover a broad range of situations, ++and to be as compatible as possible with other linkers. As a result, ++you have many choices to control its behavior. ++ ++@c man end ++ ++@ifset UsesEnvVars ++@menu ++* Options:: Command-line Options ++* Environment:: Environment Variables ++@end menu ++ ++@node Options ++@section Command-line Options ++@end ifset ++ ++@cindex command line ++@cindex options ++ ++@c man begin OPTIONS ++ ++The linker supports a plethora of command-line options, but in actual ++practice few of them are used in any particular context. ++@cindex standard Unix system ++For instance, a frequent use of @command{ld} is to link standard Unix ++object files on a standard, supported Unix system. On such a system, to ++link a file @code{hello.o}: ++ ++@smallexample ++ld -o @var{output} /lib/crt0.o hello.o -lc ++@end smallexample ++ ++This tells @command{ld} to produce a file called @var{output} as the ++result of linking the file @code{/lib/crt0.o} with @code{hello.o} and ++the library @code{libc.a}, which will come from the standard search ++directories. (See the discussion of the @samp{-l} option below.) ++ ++Some of the command-line options to @command{ld} may be specified at any ++point in the command line. However, options which refer to files, such ++as @samp{-l} or @samp{-T}, cause the file to be read at the point at ++which the option appears in the command line, relative to the object ++files and other file options. Repeating non-file options with a ++different argument will either have no further effect, or override prior ++occurrences (those further to the left on the command line) of that ++option. Options which may be meaningfully specified more than once are ++noted in the descriptions below. ++ ++@cindex object files ++Non-option arguments are object files or archives which are to be linked ++together. They may follow, precede, or be mixed in with command-line ++options, except that an object file argument may not be placed between ++an option and its argument. ++ ++Usually the linker is invoked with at least one object file, but you can ++specify other forms of binary input files using @samp{-l}, @samp{-R}, ++and the script command language. If @emph{no} binary input files at all ++are specified, the linker does not produce any output, and issues the ++message @samp{No input files}. ++ ++If the linker cannot recognize the format of an object file, it will ++assume that it is a linker script. A script specified in this way ++augments the main linker script used for the link (either the default ++linker script or the one specified by using @samp{-T}). This feature ++permits the linker to link against a file which appears to be an object ++or an archive, but actually merely defines some symbol values, or uses ++@code{INPUT} or @code{GROUP} to load other objects. Specifying a ++script in this way merely augments the main linker script, with the ++extra commands placed after the main script; use the @samp{-T} option ++to replace the default linker script entirely, but note the effect of ++the @code{INSERT} command. @xref{Scripts}. ++ ++For options whose names are a single letter, ++option arguments must either follow the option letter without intervening ++whitespace, or be given as separate arguments immediately following the ++option that requires them. ++ ++For options whose names are multiple letters, either one dash or two can ++precede the option name; for example, @samp{-trace-symbol} and ++@samp{--trace-symbol} are equivalent. Note---there is one exception to ++this rule. Multiple letter options that start with a lower case 'o' can ++only be preceded by two dashes. This is to reduce confusion with the ++@samp{-o} option. So for example @samp{-omagic} sets the output file ++name to @samp{magic} whereas @samp{--omagic} sets the NMAGIC flag on the ++output. ++ ++Arguments to multiple-letter options must either be separated from the ++option name by an equals sign, or be given as separate arguments ++immediately following the option that requires them. For example, ++@samp{--trace-symbol foo} and @samp{--trace-symbol=foo} are equivalent. ++Unique abbreviations of the names of multiple-letter options are ++accepted. ++ ++Note---if the linker is being invoked indirectly, via a compiler driver ++(e.g. @samp{gcc}) then all the linker command-line options should be ++prefixed by @samp{-Wl,} (or whatever is appropriate for the particular ++compiler driver) like this: ++ ++@smallexample ++ gcc -Wl,--start-group foo.o bar.o -Wl,--end-group ++@end smallexample ++ ++This is important, because otherwise the compiler driver program may ++silently drop the linker options, resulting in a bad link. Confusion ++may also arise when passing options that require values through a ++driver, as the use of a space between option and argument acts as ++a separator, and causes the driver to pass only the option to the linker ++and the argument to the compiler. In this case, it is simplest to use ++the joined forms of both single- and multiple-letter options, such as: ++ ++@smallexample ++ gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map ++@end smallexample ++ ++Here is a table of the generic command-line switches accepted by the GNU ++linker: ++ ++@table @gcctabopt ++@include at-file.texi ++ ++@kindex -a @var{keyword} ++@item -a @var{keyword} ++This option is supported for HP/UX compatibility. The @var{keyword} ++argument must be one of the strings @samp{archive}, @samp{shared}, or ++@samp{default}. @samp{-aarchive} is functionally equivalent to ++@samp{-Bstatic}, and the other two keywords are functionally equivalent ++to @samp{-Bdynamic}. This option may be used any number of times. ++ ++@kindex --audit @var{AUDITLIB} ++@item --audit @var{AUDITLIB} ++Adds @var{AUDITLIB} to the @code{DT_AUDIT} entry of the dynamic section. ++@var{AUDITLIB} is not checked for existence, nor will it use the DT_SONAME ++specified in the library. If specified multiple times @code{DT_AUDIT} ++will contain a colon separated list of audit interfaces to use. If the linker ++finds an object with an audit entry while searching for shared libraries, ++it will add a corresponding @code{DT_DEPAUDIT} entry in the output file. ++This option is only meaningful on ELF platforms supporting the rtld-audit ++interface. ++ ++@ifclear SingleFormat ++@cindex binary input format ++@kindex -b @var{format} ++@kindex --format=@var{format} ++@cindex input format ++@cindex input format ++@item -b @var{input-format} ++@itemx --format=@var{input-format} ++@command{ld} may be configured to support more than one kind of object ++file. If your @command{ld} is configured this way, you can use the ++@samp{-b} option to specify the binary format for input object files ++that follow this option on the command line. Even when @command{ld} is ++configured to support alternative object formats, you don't usually need ++to specify this, as @command{ld} should be configured to expect as a ++default input format the most usual format on each machine. ++@var{input-format} is a text string, the name of a particular format ++supported by the BFD libraries. (You can list the available binary ++formats with @samp{objdump -i}.) ++@xref{BFD}. ++ ++You may want to use this option if you are linking files with an unusual ++binary format. You can also use @samp{-b} to switch formats explicitly (when ++linking object files of different formats), by including ++@samp{-b @var{input-format}} before each group of object files in a ++particular format. ++ ++The default format is taken from the environment variable ++@code{GNUTARGET}. ++@ifset UsesEnvVars ++@xref{Environment}. ++@end ifset ++You can also define the input format from a script, using the command ++@code{TARGET}; ++@ifclear man ++see @ref{Format Commands}. ++@end ifclear ++@end ifclear ++ ++@kindex -c @var{MRI-cmdfile} ++@kindex --mri-script=@var{MRI-cmdfile} ++@cindex compatibility, MRI ++@item -c @var{MRI-commandfile} ++@itemx --mri-script=@var{MRI-commandfile} ++For compatibility with linkers produced by MRI, @command{ld} accepts script ++files written in an alternate, restricted command language, described in ++@ifclear man ++@ref{MRI,,MRI Compatible Script Files}. ++@end ifclear ++@ifset man ++the MRI Compatible Script Files section of GNU ld documentation. ++@end ifset ++Introduce MRI script files with ++the option @samp{-c}; use the @samp{-T} option to run linker ++scripts written in the general-purpose @command{ld} scripting language. ++If @var{MRI-cmdfile} does not exist, @command{ld} looks for it in the directories ++specified by any @samp{-L} options. ++ ++@cindex common allocation ++@kindex -d ++@kindex -dc ++@kindex -dp ++@item -d ++@itemx -dc ++@itemx -dp ++These three options are equivalent; multiple forms are supported for ++compatibility with other linkers. They assign space to common symbols ++even if a relocatable output file is specified (with @samp{-r}). The ++script command @code{FORCE_COMMON_ALLOCATION} has the same effect. ++@xref{Miscellaneous Commands}. ++ ++@kindex --depaudit @var{AUDITLIB} ++@kindex -P @var{AUDITLIB} ++@item --depaudit @var{AUDITLIB} ++@itemx -P @var{AUDITLIB} ++Adds @var{AUDITLIB} to the @code{DT_DEPAUDIT} entry of the dynamic section. ++@var{AUDITLIB} is not checked for existence, nor will it use the DT_SONAME ++specified in the library. If specified multiple times @code{DT_DEPAUDIT} ++will contain a colon separated list of audit interfaces to use. This ++option is only meaningful on ELF platforms supporting the rtld-audit interface. ++The -P option is provided for Solaris compatibility. ++ ++@kindex --enable-linker-version ++@item --enable-linker-version ++Enables the @code{LINKER_VERSION} linker script directive, described ++in @ref{Output Section Data}. If this directive is used in a linker ++script and this option has been enabled then a string containing the ++linker version will be inserted at the current point. ++ ++Note - this location of this option on the linker command line is ++significant. It will only affect linker scripts that come after it on ++the command line, or which are built into the linker. ++ ++@kindex --disable-linker-version ++@item --disable-linker-version ++Disables the @code{LINKER_VERSION} linker script directive, so that it ++does not insert a version string. This is the default. ++ ++@kindex --enable-non-contiguous-regions ++@item --enable-non-contiguous-regions ++This option avoids generating an error if an input section does not ++fit a matching output section. The linker tries to allocate the input ++section to subseque nt matching output sections, and generates an ++error only if no output section is large enough. This is useful when ++several non-contiguous memory regions are available and the input ++section does not require a particular one. The order in which input ++sections are evaluated does not change, for instance: ++ ++@smallexample ++ MEMORY @{ ++ MEM1 (rwx) : ORIGIN = 0x1000, LENGTH = 0x14 ++ MEM2 (rwx) : ORIGIN = 0x1000, LENGTH = 0x40 ++ MEM3 (rwx) : ORIGIN = 0x2000, LENGTH = 0x40 ++ @} ++ SECTIONS @{ ++ mem1 : @{ *(.data.*); @} > MEM1 ++ mem2 : @{ *(.data.*); @} > MEM2 ++ mem3 : @{ *(.data.*); @} > MEM3 ++ @} ++ ++ with input sections: ++ .data.1: size 8 ++ .data.2: size 0x10 ++ .data.3: size 4 ++ ++ results in .data.1 affected to mem1, and .data.2 and .data.3 ++ affected to mem2, even though .data.3 would fit in mem3. ++@end smallexample ++ ++This option is incompatible with INSERT statements because it changes ++the way input sections are mapped to output sections. ++ ++@kindex --enable-non-contiguous-regions-warnings ++@item --enable-non-contiguous-regions-warnings ++This option enables warnings when ++@code{--enable-non-contiguous-regions} allows possibly unexpected ++matches in sections mapping, potentially leading to silently ++discarding a section instead of failing because it does not fit any ++output region. ++ ++@cindex entry point, from command line ++@kindex -e @var{entry} ++@kindex --entry=@var{entry} ++@item -e @var{entry} ++@itemx --entry=@var{entry} ++Use @var{entry} as the explicit symbol for beginning execution of your ++program, rather than the default entry point. If there is no symbol ++named @var{entry}, the linker will try to parse @var{entry} as a number, ++and use that as the entry address (the number will be interpreted in ++base 10; you may use a leading @samp{0x} for base 16, or a leading ++@samp{0} for base 8). @xref{Entry Point}, for a discussion of defaults ++and other ways of specifying the entry point. ++ ++@kindex --exclude-libs ++@item --exclude-libs @var{lib},@var{lib},... ++Specifies a list of archive libraries from which symbols should not be automatically ++exported. The library names may be delimited by commas or colons. Specifying ++@code{--exclude-libs ALL} excludes symbols in all archive libraries from ++automatic export. This option is available only for the i386 PE targeted ++port of the linker and for ELF targeted ports. For i386 PE, symbols ++explicitly listed in a .def file are still exported, regardless of this ++option. For ELF targeted ports, symbols affected by this option will ++be treated as hidden. ++ ++@kindex --exclude-modules-for-implib ++@item --exclude-modules-for-implib @var{module},@var{module},... ++Specifies a list of object files or archive members, from which symbols ++should not be automatically exported, but which should be copied wholesale ++into the import library being generated during the link. The module names ++may be delimited by commas or colons, and must match exactly the filenames ++used by @command{ld} to open the files; for archive members, this is simply ++the member name, but for object files the name listed must include and ++match precisely any path used to specify the input file on the linker's ++command-line. This option is available only for the i386 PE targeted port ++of the linker. Symbols explicitly listed in a .def file are still exported, ++regardless of this option. ++ ++@cindex dynamic symbol table ++@kindex -E ++@kindex --export-dynamic ++@kindex --no-export-dynamic ++@item -E ++@itemx --export-dynamic ++@itemx --no-export-dynamic ++When creating a dynamically linked executable, using the @option{-E} ++option or the @option{--export-dynamic} option causes the linker to add ++all symbols to the dynamic symbol table. The dynamic symbol table is the ++set of symbols which are visible from dynamic objects at run time. ++ ++If you do not use either of these options (or use the ++@option{--no-export-dynamic} option to restore the default behavior), the ++dynamic symbol table will normally contain only those symbols which are ++referenced by some dynamic object mentioned in the link. ++ ++If you use @code{dlopen} to load a dynamic object which needs to refer ++back to the symbols defined by the program, rather than some other ++dynamic object, then you will probably need to use this option when ++linking the program itself. ++ ++You can also use the dynamic list to control what symbols should ++be added to the dynamic symbol table if the output format supports it. ++See the description of @samp{--dynamic-list}. ++ ++Note that this option is specific to ELF targeted ports. PE targets ++support a similar function to export all symbols from a DLL or EXE; see ++the description of @samp{--export-all-symbols} below. ++ ++@kindex --export-dynamic-symbol=@var{glob} ++@cindex export dynamic symbol ++@item --export-dynamic-symbol=@var{glob} ++When creating a dynamically linked executable, symbols matching ++@var{glob} will be added to the dynamic symbol table. When creating a ++shared library, references to symbols matching @var{glob} will not be ++bound to the definitions within the shared library. This option is a ++no-op when creating a shared library and @samp{-Bsymbolic} or ++@samp{--dynamic-list} are not specified. This option is only meaningful ++on ELF platforms which support shared libraries. ++ ++@kindex --export-dynamic-symbol-list=@var{file} ++@cindex export dynamic symbol list ++@item --export-dynamic-symbol-list=@var{file} ++Specify a @samp{--export-dynamic-symbol} for each pattern in the file. ++The format of the file is the same as the version node without ++scope and node name. See @ref{VERSION} for more information. ++ ++@ifclear SingleFormat ++@cindex big-endian objects ++@cindex endianness ++@kindex -EB ++@item -EB ++Link big-endian objects. This affects the default output format. ++ ++@cindex little-endian objects ++@kindex -EL ++@item -EL ++Link little-endian objects. This affects the default output format. ++@end ifclear ++ ++@kindex -f @var{name} ++@kindex --auxiliary=@var{name} ++@item -f @var{name} ++@itemx --auxiliary=@var{name} ++When creating an ELF shared object, set the internal DT_AUXILIARY field ++to the specified name. This tells the dynamic linker that the symbol ++table of the shared object should be used as an auxiliary filter on the ++symbol table of the shared object @var{name}. ++ ++If you later link a program against this filter object, then, when you ++run the program, the dynamic linker will see the DT_AUXILIARY field. If ++the dynamic linker resolves any symbols from the filter object, it will ++first check whether there is a definition in the shared object ++@var{name}. If there is one, it will be used instead of the definition ++in the filter object. The shared object @var{name} need not exist. ++Thus the shared object @var{name} may be used to provide an alternative ++implementation of certain functions, perhaps for debugging or for ++machine-specific performance. ++ ++This option may be specified more than once. The DT_AUXILIARY entries ++will be created in the order in which they appear on the command line. ++ ++@kindex -F @var{name} ++@kindex --filter=@var{name} ++@item -F @var{name} ++@itemx --filter=@var{name} ++When creating an ELF shared object, set the internal DT_FILTER field to ++the specified name. This tells the dynamic linker that the symbol table ++of the shared object which is being created should be used as a filter ++on the symbol table of the shared object @var{name}. ++ ++If you later link a program against this filter object, then, when you ++run the program, the dynamic linker will see the DT_FILTER field. The ++dynamic linker will resolve symbols according to the symbol table of the ++filter object as usual, but it will actually link to the definitions ++found in the shared object @var{name}. Thus the filter object can be ++used to select a subset of the symbols provided by the object ++@var{name}. ++ ++Some older linkers used the @option{-F} option throughout a compilation ++toolchain for specifying object-file format for both input and output ++object files. ++@ifclear SingleFormat ++The @sc{gnu} linker uses other mechanisms for this purpose: the ++@option{-b}, @option{--format}, @option{--oformat} options, the ++@code{TARGET} command in linker scripts, and the @code{GNUTARGET} ++environment variable. ++@end ifclear ++The @sc{gnu} linker will ignore the @option{-F} option when not ++creating an ELF shared object. ++ ++@cindex finalization function ++@kindex -fini=@var{name} ++@item -fini=@var{name} ++When creating an ELF executable or shared object, call NAME when the ++executable or shared object is unloaded, by setting DT_FINI to the ++address of the function. By default, the linker uses @code{_fini} as ++the function to call. ++ ++@kindex -g ++@item -g ++Ignored. Provided for compatibility with other tools. ++ ++@kindex -G @var{value} ++@kindex --gpsize=@var{value} ++@cindex object size ++@item -G @var{value} ++@itemx --gpsize=@var{value} ++Set the maximum size of objects to be optimized using the GP register to ++@var{size}. This is only meaningful for object file formats such as ++MIPS ELF that support putting large and small objects into different ++sections. This is ignored for other object file formats. ++ ++@cindex runtime library name ++@kindex -h @var{name} ++@kindex -soname=@var{name} ++@item -h @var{name} ++@itemx -soname=@var{name} ++When creating an ELF shared object, set the internal DT_SONAME field to ++the specified name. When an executable is linked with a shared object ++which has a DT_SONAME field, then when the executable is run the dynamic ++linker will attempt to load the shared object specified by the DT_SONAME ++field rather than using the file name given to the linker. ++ ++@kindex -i ++@cindex incremental link ++@item -i ++Perform an incremental link (same as option @samp{-r}). ++ ++@cindex initialization function ++@kindex -init=@var{name} ++@item -init=@var{name} ++When creating an ELF executable or shared object, call NAME when the ++executable or shared object is loaded, by setting DT_INIT to the address ++of the function. By default, the linker uses @code{_init} as the ++function to call. ++ ++@cindex archive files, from cmd line ++@kindex -l @var{namespec} ++@kindex --library=@var{namespec} ++@item -l @var{namespec} ++@itemx --library=@var{namespec} ++Add the archive or object file specified by @var{namespec} to the ++list of files to link. This option may be used any number of times. ++If @var{namespec} is of the form @file{:@var{filename}}, @command{ld} ++will search the library path for a file called @var{filename}, otherwise it ++will search the library path for a file called @file{lib@var{namespec}.a}. ++ ++On systems which support shared libraries, @command{ld} may also search for ++files other than @file{lib@var{namespec}.a}. Specifically, on ELF ++and SunOS systems, @command{ld} will search a directory for a library ++called @file{lib@var{namespec}.so} before searching for one called ++@file{lib@var{namespec}.a}. (By convention, a @code{.so} extension ++indicates a shared library.) Note that this behavior does not apply ++to @file{:@var{filename}}, which always specifies a file called ++@var{filename}. ++ ++The linker will search an archive only once, at the location where it is ++specified on the command line. If the archive defines a symbol which ++was undefined in some object which appeared before the archive on the ++command line, the linker will include the appropriate file(s) from the ++archive. However, an undefined symbol in an object appearing later on ++the command line will not cause the linker to search the archive again. ++ ++See the @option{-(} option for a way to force the linker to search ++archives multiple times. ++ ++You may list the same archive multiple times on the command line. ++ ++@ifset GENERIC ++This type of archive searching is standard for Unix linkers. However, ++if you are using @command{ld} on AIX, note that it is different from the ++behaviour of the AIX linker. ++@end ifset ++ ++@cindex search directory, from cmd line ++@kindex -L @var{dir} ++@kindex --library-path=@var{dir} ++@item -L @var{searchdir} ++@itemx --library-path=@var{searchdir} ++Add path @var{searchdir} to the list of paths that @command{ld} will search ++for archive libraries and @command{ld} control scripts. You may use this ++option any number of times. The directories are searched in the order ++in which they are specified on the command line. Directories specified ++on the command line are searched before the default directories. All ++@option{-L} options apply to all @option{-l} options, regardless of the ++order in which the options appear. @option{-L} options do not affect ++how @command{ld} searches for a linker script unless @option{-T} ++option is specified. ++ ++If @var{searchdir} begins with @code{=} or @code{$SYSROOT}, then this ++prefix will be replaced by the @dfn{sysroot prefix}, controlled by the ++@samp{--sysroot} option, or specified when the linker is configured. ++ ++@ifset UsesEnvVars ++The default set of paths searched (without being specified with ++@samp{-L}) depends on which emulation mode @command{ld} is using, and in ++some cases also on how it was configured. @xref{Environment}. ++@end ifset ++ ++The paths can also be specified in a link script with the ++@code{SEARCH_DIR} command. Directories specified this way are searched ++at the point in which the linker script appears in the command line. ++ ++@cindex emulation ++@kindex -m @var{emulation} ++@item -m @var{emulation} ++Emulate the @var{emulation} linker. You can list the available ++emulations with the @samp{--verbose} or @samp{-V} options. ++ ++If the @samp{-m} option is not used, the emulation is taken from the ++@code{LDEMULATION} environment variable, if that is defined. ++ ++Otherwise, the default emulation depends upon how the linker was ++configured. ++ ++@cindex remapping inputs ++@kindex --remap-inputs=@file{pattern}=@file{filename} ++@kindex --remap-inputs-file=@file{file} ++@item --remap-inputs=@file{pattern}=@file{filename} ++@itemx --remap-inputs-file=@file{file} ++These options allow the names of input files to be changed before the ++linker attempts to open them. The option ++@option{--remap-inputs=foo.o=bar.o} will cause any attempt to load a ++file called @file{foo.o} to instead try to load a file called ++@file{bar.o}. Wildcard patterns are permitted in the first filename, ++so @option{--remap-inputs=foo*.o=bar.o} will rename any input file that ++matches @file{foo*.o} to @file{bar.o}. ++ ++An alternative form of the option ++@option{--remap-inputs-file=filename} allows the remappings to be read ++from a file. Each line in the file can contain a single remapping. ++Blank lines are ignored. Anything from a hash character (@samp{#}) to ++the end of a line is considered to be a comment and is also ignored. ++The mapping pattern can be separated from the filename by whitespace ++or an equals (@samp{=}) character. ++ ++The options can be specified multiple times. Their contents ++accumulate. The remappings will be processed in the order in which ++they occur on the command line, and if they come from a file, in the ++order in which they occur in the file. If a match is made, no further ++checking for that filename will be performed. ++ ++If the replacement filename is @file{/dev/null} or just @file{NUL} ++then the remapping will actually cause the input file to be ignored. ++This can be a convenient way to experiment with removing input files ++from a complicated build environment. ++ ++Note that this option is position dependent and only affects filenames ++that come after it on the command line. Thus: ++ ++@smallexample ++ ld foo.o --remap-inputs=foo.o=bar.o ++@end smallexample ++ ++Will have no effect, whereas: ++ ++@smallexample ++ ld --remap-inputs=foo.o=bar.o foo.o ++@end smallexample ++ ++Will rename the input file @file{foo.o} to @file{bar.o}. ++ ++Note - these options also affect files referenced by @emph{INPUT} ++statements in linker scripts. But since linker scripts are processed ++after the entire command line is read, the position of the remap ++options on the command line is not significant. ++ ++If the @option{verbose} option is enabled then any mappings that match ++will be reported, although again the @option{verbose} option needs to ++be enabled on the command line @emph{before} the remaped filenames ++appear. ++ ++If the @option{-Map} or @option{--print-map} options are enabled then ++the remapping list will be included in the map output. ++ ++@cindex link map ++@kindex -M ++@kindex --print-map ++@item -M ++@itemx --print-map ++Print a link map to the standard output. A link map provides ++information about the link, including the following: ++ ++@itemize @bullet ++@item ++Where object files are mapped into memory. ++@item ++How common symbols are allocated. ++@item ++All archive members included in the link, with a mention of the symbol ++which caused the archive member to be brought in. ++@item ++The values assigned to symbols. ++ ++Note - symbols whose values are computed by an expression which ++involves a reference to a previous value of the same symbol may not ++have correct result displayed in the link map. This is because the ++linker discards intermediate results and only retains the final value ++of an expression. Under such circumstances the linker will display ++the final value enclosed by square brackets. Thus for example a ++linker script containing: ++ ++@smallexample ++ foo = 1 ++ foo = foo * 4 ++ foo = foo + 8 ++@end smallexample ++ ++will produce the following output in the link map if the @option{-M} ++option is used: ++ ++@smallexample ++ 0x00000001 foo = 0x1 ++ [0x0000000c] foo = (foo * 0x4) ++ [0x0000000c] foo = (foo + 0x8) ++@end smallexample ++ ++See @ref{Expressions} for more information about expressions in linker ++scripts. ++ ++@item ++How GNU properties are merged. ++ ++When the linker merges input .note.gnu.property sections into one output ++.note.gnu.property section, some properties are removed or updated. ++These actions are reported in the link map. For example: ++ ++@smallexample ++Removed property 0xc0000002 to merge foo.o (0x1) and bar.o (not found) ++@end smallexample ++ ++This indicates that property 0xc0000002 is removed from output when ++merging properties in @file{foo.o}, whose property 0xc0000002 value ++is 0x1, and @file{bar.o}, which doesn't have property 0xc0000002. ++ ++@smallexample ++Updated property 0xc0010001 (0x1) to merge foo.o (0x1) and bar.o (0x1) ++@end smallexample ++ ++This indicates that property 0xc0010001 value is updated to 0x1 in output ++when merging properties in @file{foo.o}, whose 0xc0010001 property value ++is 0x1, and @file{bar.o}, whose 0xc0010001 property value is 0x1. ++@end itemize ++ ++@cindex link map discarded ++@kindex --print-map-discarded ++@kindex --no-print-map-discarded ++@item --print-map-discarded ++@itemx --no-print-map-discarded ++Print (or do not print) the list of discarded and garbage collected sections ++in the link map. Enabled by default. ++ ++@kindex --print-map-locals ++@kindex --no-print-map-locals ++@item --print-map-locals ++@itemx --no-print-map-locals ++Print (or do not print) local symbols in the link map. Local symbols ++will have the text @samp{(local)} printed before their name, and will ++be listed after all of the global symbols in a given section. ++Temporary local symbols (typically those that start with @samp{.L}) ++will not be included in the output. Disabled by default. ++ ++@kindex -n ++@cindex read-only text ++@cindex NMAGIC ++@kindex --nmagic ++@item -n ++@itemx --nmagic ++Turn off page alignment of sections, and disable linking against shared ++libraries. If the output format supports Unix style magic numbers, ++mark the output as @code{NMAGIC}. ++ ++@kindex -N ++@kindex --omagic ++@cindex read/write from cmd line ++@cindex OMAGIC ++@item -N ++@itemx --omagic ++Set the text and data sections to be readable and writable. Also, do ++not page-align the data segment, and disable linking against shared ++libraries. If the output format supports Unix style magic numbers, ++mark the output as @code{OMAGIC}. Note: Although a writable text section ++is allowed for PE-COFF targets, it does not conform to the format ++specification published by Microsoft. ++ ++@kindex --no-omagic ++@cindex OMAGIC ++@item --no-omagic ++This option negates most of the effects of the @option{-N} option. It ++sets the text section to be read-only, and forces the data segment to ++be page-aligned. Note - this option does not enable linking against ++shared libraries. Use @option{-Bdynamic} for this. ++ ++@kindex -o @var{output} ++@kindex --output=@var{output} ++@cindex naming the output file ++@item -o @var{output} ++@itemx --output=@var{output} ++Use @var{output} as the name for the program produced by @command{ld}; if this ++option is not specified, the name @file{a.out} is used by default. The ++script command @code{OUTPUT} can also specify the output file name. ++ ++@kindex --dependency-file=@var{depfile} ++@cindex dependency file ++@item --dependency-file=@var{depfile} ++Write a @dfn{dependency file} to @var{depfile}. This file contains a rule ++suitable for @code{make} describing the output file and all the input files ++that were read to produce it. The output is similar to the compiler's ++output with @samp{-M -MP} (@pxref{Preprocessor Options,, Options ++Controlling the Preprocessor, gcc.info, Using the GNU Compiler ++Collection}). Note that there is no option like the compiler's @samp{-MM}, ++to exclude ``system files'' (which is not a well-specified concept in the ++linker, unlike ``system headers'' in the compiler). So the output from ++@samp{--dependency-file} is always specific to the exact state of the ++installation where it was produced, and should not be copied into ++distributed makefiles without careful editing. ++ ++@kindex -O @var{level} ++@cindex generating optimized output ++@item -O @var{level} ++If @var{level} is a numeric values greater than zero @command{ld} optimizes ++the output. This might take significantly longer and therefore probably ++should only be enabled for the final binary. At the moment this ++option only affects ELF shared library generation. Future releases of ++the linker may make more use of this option. Also currently there is ++no difference in the linker's behaviour for different non-zero values ++of this option. Again this may change with future releases. ++ ++@kindex -plugin @var{name} ++@item -plugin @var{name} ++Involve a plugin in the linking process. The @var{name} parameter is ++the absolute filename of the plugin. Usually this parameter is ++automatically added by the complier, when using link time ++optimization, but users can also add their own plugins if they so ++wish. ++ ++Note that the location of the compiler originated plugins is different ++from the place where the @command{ar}, @command{nm} and ++@command{ranlib} programs search for their plugins. In order for ++those commands to make use of a compiler based plugin it must first be ++copied into the @file{$@{libdir@}/bfd-plugins} directory. All gcc ++based linker plugins are backward compatible, so it is sufficient to ++just copy in the newest one. ++ ++@kindex --push-state ++@cindex push state governing input file handling ++@item --push-state ++The @option{--push-state} allows one to preserve the current state of the ++flags which govern the input file handling so that they can all be ++restored with one corresponding @option{--pop-state} option. ++ ++The option which are covered are: @option{-Bdynamic}, @option{-Bstatic}, ++@option{-dn}, @option{-dy}, @option{-call_shared}, @option{-non_shared}, ++@option{-static}, @option{-N}, @option{-n}, @option{--whole-archive}, ++@option{--no-whole-archive}, @option{-r}, @option{-Ur}, ++@option{--copy-dt-needed-entries}, @option{--no-copy-dt-needed-entries}, ++@option{--as-needed}, @option{--no-as-needed}, and @option{-a}. ++ ++One target for this option are specifications for @file{pkg-config}. When ++used with the @option{--libs} option all possibly needed libraries are ++listed and then possibly linked with all the time. It is better to return ++something as follows: ++ ++@smallexample ++-Wl,--push-state,--as-needed -libone -libtwo -Wl,--pop-state ++@end smallexample ++ ++@kindex --pop-state ++@cindex pop state governing input file handling ++@item --pop-state ++Undoes the effect of --push-state, restores the previous values of the ++flags governing input file handling. ++ ++@kindex -q ++@kindex --emit-relocs ++@cindex retain relocations in final executable ++@item -q ++@itemx --emit-relocs ++Leave relocation sections and contents in fully linked executables. ++Post link analysis and optimization tools may need this information in ++order to perform correct modifications of executables. This results ++in larger executables. ++ ++This option is currently only supported on ELF platforms. ++ ++@kindex --force-dynamic ++@cindex forcing the creation of dynamic sections ++@item --force-dynamic ++Force the output file to have dynamic sections. This option is specific ++to VxWorks targets. ++ ++@cindex partial link ++@cindex relocatable output ++@kindex -r ++@kindex --relocatable ++@item -r ++@itemx --relocatable ++Generate relocatable output---i.e., generate an output file that can in ++turn serve as input to @command{ld}. This is often called @dfn{partial ++linking}. As a side effect, in environments that support standard Unix ++magic numbers, this option also sets the output file's magic number to ++@code{OMAGIC}. ++@c ; see @option{-N}. ++If this option is not specified, an absolute file is produced. When ++linking C++ programs, this option @emph{will not} resolve references to ++constructors; to do that, use @samp{-Ur}. ++ ++When an input file does not have the same format as the output file, ++partial linking is only supported if that input file does not contain any ++relocations. Different output formats can have further restrictions; for ++example some @code{a.out}-based formats do not support partial linking ++with input files in other formats at all. ++ ++This option does the same thing as @samp{-i}. ++ ++@kindex -R @var{file} ++@kindex --just-symbols=@var{file} ++@cindex symbol-only input ++@item -R @var{filename} ++@itemx --just-symbols=@var{filename} ++Read symbol names and their addresses from @var{filename}, but do not ++relocate it or include it in the output. This allows your output file ++to refer symbolically to absolute locations of memory defined in other ++programs. You may use this option more than once. ++ ++For compatibility with other ELF linkers, if the @option{-R} option is ++followed by a directory name, rather than a file name, it is treated as ++the @option{-rpath} option. ++ ++@kindex -s ++@kindex --strip-all ++@cindex strip all symbols ++@item -s ++@itemx --strip-all ++Omit all symbol information from the output file. ++ ++@kindex -S ++@kindex --strip-debug ++@cindex strip debugger symbols ++@item -S ++@itemx --strip-debug ++Omit debugger symbol information (but not all symbols) from the output file. ++ ++@kindex --strip-discarded ++@kindex --no-strip-discarded ++@item --strip-discarded ++@itemx --no-strip-discarded ++Omit (or do not omit) global symbols defined in discarded sections. ++Enabled by default. ++ ++@kindex -t ++@kindex --trace ++@cindex input files, displaying ++@item -t ++@itemx --trace ++Print the names of the input files as @command{ld} processes them. If ++@samp{-t} is given twice then members within archives are also printed. ++@samp{-t} output is useful to generate a list of all the object files ++and scripts involved in linking, for example, when packaging files for ++a linker bug report. ++ ++@kindex -T @var{script} ++@kindex --script=@var{script} ++@cindex script files ++@item -T @var{scriptfile} ++@itemx --script=@var{scriptfile} ++Use @var{scriptfile} as the linker script. This script replaces ++@command{ld}'s default linker script (rather than adding to it), ++unless the script contains @code{INSERT}, so ++@var{commandfile} must specify everything necessary to describe the ++output file. @xref{Scripts}. If @var{scriptfile} does not exist in ++the current directory, @code{ld} looks for it in the directories ++specified by any preceding @samp{-L} options. Multiple @samp{-T} ++options accumulate. ++ ++@kindex -dT @var{script} ++@kindex --default-script=@var{script} ++@cindex script files ++@item -dT @var{scriptfile} ++@itemx --default-script=@var{scriptfile} ++Use @var{scriptfile} as the default linker script. @xref{Scripts}. ++ ++This option is similar to the @option{--script} option except that ++processing of the script is delayed until after the rest of the ++command line has been processed. This allows options placed after the ++@option{--default-script} option on the command line to affect the ++behaviour of the linker script, which can be important when the linker ++command line cannot be directly controlled by the user. (eg because ++the command line is being constructed by another tool, such as ++@samp{gcc}). ++ ++@kindex -u @var{symbol} ++@kindex --undefined=@var{symbol} ++@cindex undefined symbol ++@item -u @var{symbol} ++@itemx --undefined=@var{symbol} ++Force @var{symbol} to be entered in the output file as an undefined ++symbol. Doing this may, for example, trigger linking of additional ++modules from standard libraries. @samp{-u} may be repeated with ++different option arguments to enter additional undefined symbols. This ++option is equivalent to the @code{EXTERN} linker script command. ++ ++If this option is being used to force additional modules to be pulled ++into the link, and if it is an error for the symbol to remain ++undefined, then the option @option{--require-defined} should be used ++instead. ++ ++@kindex --require-defined=@var{symbol} ++@cindex symbols, require defined ++@cindex defined symbol ++@item --require-defined=@var{symbol} ++Require that @var{symbol} is defined in the output file. This option ++is the same as option @option{--undefined} except that if @var{symbol} ++is not defined in the output file then the linker will issue an error ++and exit. The same effect can be achieved in a linker script by using ++@code{EXTERN}, @code{ASSERT} and @code{DEFINED} together. This option ++can be used multiple times to require additional symbols. ++ ++@kindex -Ur ++@cindex constructors ++@item -Ur ++ ++For programs that do not use constructors or destructors, or for ELF ++based systems this option is equivalent to @option{-r}: it generates ++relocatable output---i.e., an output file that can in turn serve as ++input to @command{ld}. For other binaries however the @option{-Ur} ++option is similar to @option{-r} but it also resolves references to ++constructors and destructors. ++ ++For those systems where @option{-r} and @option{-Ur} behave ++differently, it does not work to use @option{-Ur} on files that were ++themselves linked with @option{-Ur}; once the constructor table has ++been built, it cannot be added to. Use @option{-Ur} only for the last ++partial link, and @option{-r} for the others. ++ ++@kindex --orphan-handling=@var{MODE} ++@cindex orphan sections ++@cindex sections, orphan ++@item --orphan-handling=@var{MODE} ++Control how orphan sections are handled. An orphan section is one not ++specifically mentioned in a linker script. @xref{Orphan Sections}. ++ ++@var{MODE} can have any of the following values: ++ ++@table @code ++@item place ++Orphan sections are placed into a suitable output section following ++the strategy described in @ref{Orphan Sections}. The option ++@samp{--unique} also affects how sections are placed. ++ ++@item discard ++All orphan sections are discarded, by placing them in the ++@samp{/DISCARD/} section (@pxref{Output Section Discarding}). ++ ++@item warn ++The linker will place the orphan section as for @code{place} and also ++issue a warning. ++ ++@item error ++The linker will exit with an error if any orphan section is found. ++@end table ++ ++The default if @samp{--orphan-handling} is not given is @code{place}. ++ ++@kindex --unique[=@var{SECTION}] ++@item --unique[=@var{SECTION}] ++Creates a separate output section for every input section matching ++@var{SECTION}, or if the optional wildcard @var{SECTION} argument is ++missing, for every orphan input section. An orphan section is one not ++specifically mentioned in a linker script. You may use this option ++multiple times on the command line; It prevents the normal merging of ++input sections with the same name, overriding output section assignments ++in a linker script. ++ ++@kindex -v ++@kindex -V ++@kindex --version ++@cindex version ++@item -v ++@itemx --version ++@itemx -V ++Display the version number for @command{ld}. The @option{-V} option also ++lists the supported emulations. See also the description of the ++@option{--enable-linker-version} in @ref{Options,,Command-line Options} ++which can be used to insert the linker version string into a binary. ++ ++@kindex -x ++@kindex --discard-all ++@cindex deleting local symbols ++@item -x ++@itemx --discard-all ++Delete all local symbols. ++ ++@kindex -X ++@kindex --discard-locals ++@cindex local symbols, deleting ++@item -X ++@itemx --discard-locals ++Delete all temporary local symbols. (These symbols start with ++system-specific local label prefixes, typically @samp{.L} for ELF systems ++or @samp{L} for traditional a.out systems.) ++ ++@kindex -y @var{symbol} ++@kindex --trace-symbol=@var{symbol} ++@cindex symbol tracing ++@item -y @var{symbol} ++@itemx --trace-symbol=@var{symbol} ++Print the name of each linked file in which @var{symbol} appears. This ++option may be given any number of times. On many systems it is necessary ++to prepend an underscore. ++ ++This option is useful when you have an undefined symbol in your link but ++don't know where the reference is coming from. ++ ++@kindex -Y @var{path} ++@item -Y @var{path} ++Add @var{path} to the default library search path. This option exists ++for Solaris compatibility. ++ ++@kindex -z @var{keyword} ++@item -z @var{keyword} ++The recognized keywords are: ++@table @samp ++ ++@item call-nop=prefix-addr ++@itemx call-nop=suffix-nop ++@itemx call-nop=prefix-@var{byte} ++@itemx call-nop=suffix-@var{byte} ++Specify the 1-byte @code{NOP} padding when transforming indirect call ++to a locally defined function, foo, via its GOT slot. ++@option{call-nop=prefix-addr} generates @code{0x67 call foo}. ++@option{call-nop=suffix-nop} generates @code{call foo 0x90}. ++@option{call-nop=prefix-@var{byte}} generates @code{@var{byte} call foo}. ++@option{call-nop=suffix-@var{byte}} generates @code{call foo @var{byte}}. ++Supported for i386 and x86_64. ++ ++@item cet-report=none ++@itemx cet-report=warning ++@itemx cet-report=error ++Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_IBT and ++GNU_PROPERTY_X86_FEATURE_1_SHSTK properties in input .note.gnu.property ++section. @option{cet-report=none}, which is the default, will make the ++linker not report missing properties in input files. ++@option{cet-report=warning} will make the linker issue a warning for ++missing properties in input files. @option{cet-report=error} will make ++the linker issue an error for missing properties in input files. ++Note that @option{ibt} will turn off the missing ++GNU_PROPERTY_X86_FEATURE_1_IBT property report and @option{shstk} will ++turn off the missing GNU_PROPERTY_X86_FEATURE_1_SHSTK property report. ++Supported for Linux/i386 and Linux/x86_64. ++ ++@item combreloc ++@itemx nocombreloc ++Combine multiple dynamic relocation sections and sort to improve ++dynamic symbol lookup caching. Do not do this if @samp{nocombreloc}. ++ ++@item common ++@itemx nocommon ++Generate common symbols with STT_COMMON type during a relocatable ++link. Use STT_OBJECT type if @samp{nocommon}. ++ ++@item common-page-size=@var{value} ++Set the page size most commonly used to @var{value}. Memory image ++layout will be optimized to minimize memory pages if the system is ++using pages of this size. ++ ++@item defs ++Report unresolved symbol references from regular object files. This ++is done even if the linker is creating a non-symbolic shared library. ++This option is the inverse of @samp{-z undefs}. ++ ++@item dynamic-undefined-weak ++@itemx nodynamic-undefined-weak ++Make undefined weak symbols dynamic when building a dynamic object, ++if they are referenced from a regular object file and not forced local ++by symbol visibility or versioning. Do not make them dynamic if ++@samp{nodynamic-undefined-weak}. If neither option is given, a target ++may default to either option being in force, or make some other ++selection of undefined weak symbols dynamic. Not all targets support ++these options. ++ ++@item execstack ++Marks the object as requiring executable stack. ++ ++@item global ++This option is only meaningful when building a shared object. It makes ++the symbols defined by this shared object available for symbol resolution ++of subsequently loaded libraries. ++ ++@item globalaudit ++This option is only meaningful when building a dynamic executable. ++This option marks the executable as requiring global auditing by ++setting the @code{DF_1_GLOBAUDIT} bit in the @code{DT_FLAGS_1} dynamic ++tag. Global auditing requires that any auditing library defined via ++the @option{--depaudit} or @option{-P} command-line options be run for ++all dynamic objects loaded by the application. ++ ++@item ibtplt ++Generate Intel Indirect Branch Tracking (IBT) enabled PLT entries. ++Supported for Linux/i386 and Linux/x86_64. ++ ++@item ibt ++Generate GNU_PROPERTY_X86_FEATURE_1_IBT in .note.gnu.property section ++to indicate compatibility with IBT. This also implies @option{ibtplt}. ++Supported for Linux/i386 and Linux/x86_64. ++ ++@item indirect-extern-access ++@itemx noindirect-extern-access ++Generate GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS in ++.note.gnu.property section to indicate that object file requires ++canonical function pointers and cannot be used with copy relocation. ++This option also implies @option{noextern-protected-data} and ++@option{nocopyreloc}. Supported for i386 and x86-64. ++ ++@option{noindirect-extern-access} removes ++GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS from .note.gnu.property ++section. ++ ++@item initfirst ++This option is only meaningful when building a shared object. ++It marks the object so that its runtime initialization will occur ++before the runtime initialization of any other objects brought into ++the process at the same time. Similarly the runtime finalization of ++the object will occur after the runtime finalization of any other ++objects. ++ ++@item interpose ++Specify that the dynamic loader should modify its symbol search order ++so that symbols in this shared library interpose all other shared ++libraries not so marked. ++ ++@item unique ++@itemx nounique ++When generating a shared library or other dynamically loadable ELF ++object mark it as one that should (by default) only ever be loaded once, ++and only in the main namespace (when using @code{dlmopen}). This is ++primarily used to mark fundamental libraries such as libc, libpthread et ++al which do not usually function correctly unless they are the sole instances ++of themselves. This behaviour can be overridden by the @code{dlmopen} caller ++and does not apply to certain loading mechanisms (such as audit libraries). ++ ++@item lam-u48 ++Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48 in .note.gnu.property section ++to indicate compatibility with Intel LAM_U48. Supported for Linux/x86_64. ++ ++@item lam-u57 ++Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57 in .note.gnu.property section ++to indicate compatibility with Intel LAM_U57. Supported for Linux/x86_64. ++ ++@item lam-u48-report=none ++@itemx lam-u48-report=warning ++@itemx lam-u48-report=error ++Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 ++property in input .note.gnu.property section. ++@option{lam-u48-report=none}, which is the default, will make the ++linker not report missing properties in input files. ++@option{lam-u48-report=warning} will make the linker issue a warning for ++missing properties in input files. @option{lam-u48-report=error} will ++make the linker issue an error for missing properties in input files. ++Supported for Linux/x86_64. ++ ++@item lam-u57-report=none ++@itemx lam-u57-report=warning ++@itemx lam-u57-report=error ++Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U57 ++property in input .note.gnu.property section. ++@option{lam-u57-report=none}, which is the default, will make the ++linker not report missing properties in input files. ++@option{lam-u57-report=warning} will make the linker issue a warning for ++missing properties in input files. @option{lam-u57-report=error} will ++make the linker issue an error for missing properties in input files. ++Supported for Linux/x86_64. ++ ++@item lam-report=none ++@itemx lam-report=warning ++@itemx lam-report=error ++Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and ++GNU_PROPERTY_X86_FEATURE_1_LAM_U57 properties in input .note.gnu.property ++section. @option{lam-report=none}, which is the default, will make the ++linker not report missing properties in input files. ++@option{lam-report=warning} will make the linker issue a warning for ++missing properties in input files. @option{lam-report=error} will make ++the linker issue an error for missing properties in input files. ++Supported for Linux/x86_64. ++ ++@item lazy ++When generating an executable or shared library, mark it to tell the ++dynamic linker to defer function call resolution to the point when ++the function is called (lazy binding), rather than at load time. ++Lazy binding is the default. ++ ++@item loadfltr ++Specify that the object's filters be processed immediately at runtime. ++ ++@item max-page-size=@var{value} ++Set the maximum memory page size supported to @var{value}. ++ ++@item muldefs ++Allow multiple definitions. ++ ++@item nocopyreloc ++Disable linker generated .dynbss variables used in place of variables ++defined in shared libraries. May result in dynamic text relocations. ++ ++@item nodefaultlib ++Specify that the dynamic loader search for dependencies of this object ++should ignore any default library search paths. ++ ++@item nodelete ++Specify that the object shouldn't be unloaded at runtime. ++ ++@item nodlopen ++Specify that the object is not available to @code{dlopen}. ++ ++@item nodump ++Specify that the object can not be dumped by @code{dldump}. ++ ++@item noexecstack ++Marks the object as not requiring executable stack. ++ ++@item noextern-protected-data ++Don't treat protected data symbols as external when building a shared ++library. This option overrides the linker backend default. It can be ++used to work around incorrect relocations against protected data symbols ++generated by compiler. Updates on protected data symbols by another ++module aren't visible to the resulting shared library. Supported for ++i386 and x86-64. ++ ++@item noreloc-overflow ++Disable relocation overflow check. This can be used to disable ++relocation overflow check if there will be no dynamic relocation ++overflow at run-time. Supported for x86_64. ++ ++@item now ++When generating an executable or shared library, mark it to tell the ++dynamic linker to resolve all symbols when the program is started, or ++when the shared library is loaded by dlopen, instead of deferring ++function call resolution to the point when the function is first ++called. ++ ++@item origin ++Specify that the object requires @samp{$ORIGIN} handling in paths. ++ ++@item pack-relative-relocs ++@itemx nopack-relative-relocs ++Generate compact relative relocation in position-independent executable ++and shared library. It adds @code{DT_RELR}, @code{DT_RELRSZ} and ++@code{DT_RELRENT} entries to the dynamic section. It is ignored when ++building position-dependent executable and relocatable output. ++@option{nopack-relative-relocs} is the default, which disables compact ++relative relocation. When linked against the GNU C Library, a ++GLIBC_ABI_DT_RELR symbol version dependency on the shared C Library is ++added to the output. Supported for i386 and x86-64. ++ ++@item relro ++@itemx norelro ++Create an ELF @code{PT_GNU_RELRO} segment header in the object. This ++specifies a memory segment that should be made read-only after ++relocation, if supported. Specifying @samp{common-page-size} smaller ++than the system page size will render this protection ineffective. ++Don't create an ELF @code{PT_GNU_RELRO} segment if @samp{norelro}. ++ ++@item report-relative-reloc ++Report dynamic relative relocations generated by linker. Supported for ++Linux/i386 and Linux/x86_64. ++ ++@item sectionheader ++@itemx nosectionheader ++Generate section header. Don't generate section header if ++@samp{nosectionheader} is used. @option{sectionheader} is the default. ++ ++@item separate-code ++@itemx noseparate-code ++Create separate code @code{PT_LOAD} segment header in the object. This ++specifies a memory segment that should contain only instructions and must ++be in wholly disjoint pages from any other data. Don't create separate ++code @code{PT_LOAD} segment if @samp{noseparate-code} is used. ++ ++@item shstk ++Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK in .note.gnu.property section ++to indicate compatibility with Intel Shadow Stack. Supported for ++Linux/i386 and Linux/x86_64. ++ ++@item stack-size=@var{value} ++Specify a stack size for an ELF @code{PT_GNU_STACK} segment. ++Specifying zero will override any default non-zero sized ++@code{PT_GNU_STACK} segment creation. ++ ++@item start-stop-gc ++@itemx nostart-stop-gc ++@cindex start-stop-gc ++When @samp{--gc-sections} is in effect, a reference from a retained ++section to @code{__start_SECNAME} or @code{__stop_SECNAME} causes all ++input sections named @code{SECNAME} to also be retained, if ++@code{SECNAME} is representable as a C identifier and either ++@code{__start_SECNAME} or @code{__stop_SECNAME} is synthesized by the ++linker. @samp{-z start-stop-gc} disables this effect, allowing ++sections to be garbage collected as if the special synthesized symbols ++were not defined. @samp{-z start-stop-gc} has no effect on a ++definition of @code{__start_SECNAME} or @code{__stop_SECNAME} in an ++object file or linker script. Such a definition will prevent the ++linker providing a synthesized @code{__start_SECNAME} or ++@code{__stop_SECNAME} respectively, and therefore the special ++treatment by garbage collection for those references. ++ ++@item start-stop-visibility=@var{value} ++@cindex visibility ++@cindex ELF symbol visibility ++Specify the ELF symbol visibility for synthesized ++@code{__start_SECNAME} and @code{__stop_SECNAME} symbols (@pxref{Input ++Section Example}). @var{value} must be exactly @samp{default}, ++@samp{internal}, @samp{hidden}, or @samp{protected}. If no @samp{-z ++start-stop-visibility} option is given, @samp{protected} is used for ++compatibility with historical practice. However, it's highly ++recommended to use @samp{-z start-stop-visibility=hidden} in new ++programs and shared libraries so that these symbols are not exported ++between shared objects, which is not usually what's intended. ++ ++@item text ++@itemx notext ++@itemx textoff ++Report an error if DT_TEXTREL is set, i.e., if the position-independent ++or shared object has dynamic relocations in read-only sections. Don't ++report an error if @samp{notext} or @samp{textoff}. ++ ++@item undefs ++Do not report unresolved symbol references from regular object files, ++either when creating an executable, or when creating a shared library. ++This option is the inverse of @samp{-z defs}. ++ ++@item unique-symbol ++@itemx nounique-symbol ++Avoid duplicated local symbol names in the symbol string table. Append ++".@code{number}" to duplicated local symbol names if @samp{unique-symbol} ++is used. @option{nounique-symbol} is the default. ++ ++@item x86-64-baseline ++@item x86-64-v2 ++@item x86-64-v3 ++@itemx x86-64-v4 ++Specify the x86-64 ISA level needed in .note.gnu.property section. ++@option{x86-64-baseline} generates @code{GNU_PROPERTY_X86_ISA_1_BASELINE}. ++@option{x86-64-v2} generates @code{GNU_PROPERTY_X86_ISA_1_V2}. ++@option{x86-64-v3} generates @code{GNU_PROPERTY_X86_ISA_1_V3}. ++@option{x86-64-v4} generates @code{GNU_PROPERTY_X86_ISA_1_V4}. ++Supported for Linux/i386 and Linux/x86_64. ++ ++@end table ++ ++Other keywords are ignored for Solaris compatibility. ++ ++@kindex -( ++@cindex groups of archives ++@item -( @var{archives} -) ++@itemx --start-group @var{archives} --end-group ++The @var{archives} should be a list of archive files. They may be ++either explicit file names, or @samp{-l} options. ++ ++The specified archives are searched repeatedly until no new undefined ++references are created. Normally, an archive is searched only once in ++the order that it is specified on the command line. If a symbol in that ++archive is needed to resolve an undefined symbol referred to by an ++object in an archive that appears later on the command line, the linker ++would not be able to resolve that reference. By grouping the archives, ++they will all be searched repeatedly until all possible references are ++resolved. ++ ++Using this option has a significant performance cost. It is best to use ++it only when there are unavoidable circular references between two or ++more archives. ++ ++@kindex --accept-unknown-input-arch ++@kindex --no-accept-unknown-input-arch ++@item --accept-unknown-input-arch ++@itemx --no-accept-unknown-input-arch ++Tells the linker to accept input files whose architecture cannot be ++recognised. The assumption is that the user knows what they are doing ++and deliberately wants to link in these unknown input files. This was ++the default behaviour of the linker, before release 2.14. The default ++behaviour from release 2.14 onwards is to reject such input files, and ++so the @samp{--accept-unknown-input-arch} option has been added to ++restore the old behaviour. ++ ++@kindex --as-needed ++@kindex --no-as-needed ++@item --as-needed ++@itemx --no-as-needed ++This option affects ELF DT_NEEDED tags for dynamic libraries mentioned ++on the command line after the @option{--as-needed} option. Normally ++the linker will add a DT_NEEDED tag for each dynamic library mentioned ++on the command line, regardless of whether the library is actually ++needed or not. @option{--as-needed} causes a DT_NEEDED tag to only be ++emitted for a library that @emph{at that point in the link} satisfies a ++non-weak undefined symbol reference from a regular object file or, if ++the library is not found in the DT_NEEDED lists of other needed libraries, a ++non-weak undefined symbol reference from another needed dynamic library. ++Object files or libraries appearing on the command line @emph{after} ++the library in question do not affect whether the library is seen as ++needed. This is similar to the rules for extraction of object files ++from archives. @option{--no-as-needed} restores the default behaviour. ++ ++Note: On Linux based systems the @option{--as-needed} option also has ++an affect on the behaviour of the @option{--rpath} and ++@option{--rpath-link} options. See the description of ++@option{--rpath-link} for more details. ++ ++@kindex --add-needed ++@kindex --no-add-needed ++@item --add-needed ++@itemx --no-add-needed ++These two options have been deprecated because of the similarity of ++their names to the @option{--as-needed} and @option{--no-as-needed} ++options. They have been replaced by @option{--copy-dt-needed-entries} ++and @option{--no-copy-dt-needed-entries}. ++ ++@kindex -assert @var{keyword} ++@item -assert @var{keyword} ++This option is ignored for SunOS compatibility. ++ ++@kindex -Bdynamic ++@kindex -dy ++@kindex -call_shared ++@item -Bdynamic ++@itemx -dy ++@itemx -call_shared ++Link against dynamic libraries. This is only meaningful on platforms ++for which shared libraries are supported. This option is normally the ++default on such platforms. The different variants of this option are ++for compatibility with various systems. You may use this option ++multiple times on the command line: it affects library searching for ++@option{-l} options which follow it. ++ ++@kindex -Bgroup ++@item -Bgroup ++Set the @code{DF_1_GROUP} flag in the @code{DT_FLAGS_1} entry in the dynamic ++section. This causes the runtime linker to handle lookups in this ++object and its dependencies to be performed only inside the group. ++@option{--unresolved-symbols=report-all} is implied. This option is ++only meaningful on ELF platforms which support shared libraries. ++ ++@kindex -Bstatic ++@kindex -dn ++@kindex -non_shared ++@kindex -static ++@item -Bstatic ++@itemx -dn ++@itemx -non_shared ++@itemx -static ++Do not link against shared libraries. This is only meaningful on ++platforms for which shared libraries are supported. The different ++variants of this option are for compatibility with various systems. You ++may use this option multiple times on the command line: it affects ++library searching for @option{-l} options which follow it. This ++option also implies @option{--unresolved-symbols=report-all}. This ++option can be used with @option{-shared}. Doing so means that a ++shared library is being created but that all of the library's external ++references must be resolved by pulling in entries from static ++libraries. ++ ++@kindex -Bsymbolic ++@item -Bsymbolic ++When creating a shared library, bind references to global symbols to the ++definition within the shared library, if any. Normally, it is possible ++for a program linked against a shared library to override the definition ++within the shared library. This option is only meaningful on ELF ++platforms which support shared libraries. ++ ++@kindex -Bsymbolic-functions ++@item -Bsymbolic-functions ++When creating a shared library, bind references to global function ++symbols to the definition within the shared library, if any. ++This option is only meaningful on ELF platforms which support shared ++libraries. ++ ++@kindex -Bno-symbolic ++@item -Bno-symbolic ++This option can cancel previously specified @samp{-Bsymbolic} and ++@samp{-Bsymbolic-functions}. ++ ++@kindex --dynamic-list=@var{dynamic-list-file} ++@item --dynamic-list=@var{dynamic-list-file} ++Specify the name of a dynamic list file to the linker. This is ++typically used when creating shared libraries to specify a list of ++global symbols whose references shouldn't be bound to the definition ++within the shared library, or creating dynamically linked executables ++to specify a list of symbols which should be added to the symbol table ++in the executable. This option is only meaningful on ELF platforms ++which support shared libraries. ++ ++The format of the dynamic list is the same as the version node without ++scope and node name. See @ref{VERSION} for more information. ++ ++@kindex --dynamic-list-data ++@item --dynamic-list-data ++Include all global data symbols to the dynamic list. ++ ++@kindex --dynamic-list-cpp-new ++@item --dynamic-list-cpp-new ++Provide the builtin dynamic list for C++ operator new and delete. It ++is mainly useful for building shared libstdc++. ++ ++@kindex --dynamic-list-cpp-typeinfo ++@item --dynamic-list-cpp-typeinfo ++Provide the builtin dynamic list for C++ runtime type identification. ++ ++@kindex --check-sections ++@kindex --no-check-sections ++@item --check-sections ++@itemx --no-check-sections ++Asks the linker @emph{not} to check section addresses after they have ++been assigned to see if there are any overlaps. Normally the linker will ++perform this check, and if it finds any overlaps it will produce ++suitable error messages. The linker does know about, and does make ++allowances for sections in overlays. The default behaviour can be ++restored by using the command-line switch @option{--check-sections}. ++Section overlap is not usually checked for relocatable links. You can ++force checking in that case by using the @option{--check-sections} ++option. ++ ++@kindex --copy-dt-needed-entries ++@kindex --no-copy-dt-needed-entries ++@item --copy-dt-needed-entries ++@itemx --no-copy-dt-needed-entries ++This option affects the treatment of dynamic libraries referred to ++by DT_NEEDED tags @emph{inside} ELF dynamic libraries mentioned on the ++command line. Normally the linker won't add a DT_NEEDED tag to the ++output binary for each library mentioned in a DT_NEEDED tag in an ++input dynamic library. With @option{--copy-dt-needed-entries} ++specified on the command line however any dynamic libraries that ++follow it will have their DT_NEEDED entries added. The default ++behaviour can be restored with @option{--no-copy-dt-needed-entries}. ++ ++This option also has an effect on the resolution of symbols in dynamic ++libraries. With @option{--copy-dt-needed-entries} dynamic libraries ++mentioned on the command line will be recursively searched, following ++their DT_NEEDED tags to other libraries, in order to resolve symbols ++required by the output binary. With the default setting however ++the searching of dynamic libraries that follow it will stop with the ++dynamic library itself. No DT_NEEDED links will be traversed to resolve ++symbols. ++ ++@cindex cross reference table ++@kindex --cref ++@item --cref ++Output a cross reference table. If a linker map file is being ++generated, the cross reference table is printed to the map file. ++Otherwise, it is printed on the standard output. ++ ++The format of the table is intentionally simple, so that it may be ++easily processed by a script if necessary. The symbols are printed out, ++sorted by name. For each symbol, a list of file names is given. If the ++symbol is defined, the first file listed is the location of the ++definition. If the symbol is defined as a common value then any files ++where this happens appear next. Finally any files that reference the ++symbol are listed. ++ ++@cindex ctf variables ++@kindex --ctf-variables ++@kindex --no-ctf-variables ++@item --ctf-variables ++@item --no-ctf-variables ++The CTF debuginfo format supports a section which encodes the names and ++types of variables found in the program which do not appear in any symbol ++table. These variables clearly cannot be looked up by address by ++conventional debuggers, so the space used for their types and names is ++usually wasted: the types are usually small but the names are often not. ++@option{--ctf-variables} causes the generation of such a section. ++The default behaviour can be restored with @option{--no-ctf-variables}. ++ ++@cindex ctf type sharing ++@kindex --ctf-share-types ++@item --ctf-share-types=@var{method} ++Adjust the method used to share types between translation units in CTF. ++ ++@table @samp ++@item share-unconflicted ++Put all types that do not have ambiguous definitions into the shared dictionary, ++where debuggers can easily access them, even if they only occur in one ++translation unit. This is the default. ++ ++@item share-duplicated ++Put only types that occur in multiple translation units into the shared ++dictionary: types with only one definition go into per-translation-unit ++dictionaries. Types with ambiguous definitions in multiple translation units ++always go into per-translation-unit dictionaries. This tends to make the CTF ++larger, but may reduce the amount of CTF in the shared dictionary. For very ++large projects this may speed up opening the CTF and save memory in the CTF ++consumer at runtime. ++@end table ++ ++@cindex common allocation ++@kindex --no-define-common ++@item --no-define-common ++This option inhibits the assignment of addresses to common symbols. ++The script command @code{INHIBIT_COMMON_ALLOCATION} has the same effect. ++@xref{Miscellaneous Commands}. ++ ++The @samp{--no-define-common} option allows decoupling ++the decision to assign addresses to Common symbols from the choice ++of the output file type; otherwise a non-Relocatable output type ++forces assigning addresses to Common symbols. ++Using @samp{--no-define-common} allows Common symbols that are referenced ++from a shared library to be assigned addresses only in the main program. ++This eliminates the unused duplicate space in the shared library, ++and also prevents any possible confusion over resolving to the wrong ++duplicate when there are many dynamic modules with specialized search ++paths for runtime symbol resolution. ++ ++@cindex group allocation in linker script ++@cindex section groups ++@cindex COMDAT ++@kindex --force-group-allocation ++@item --force-group-allocation ++This option causes the linker to place section group members like ++normal input sections, and to delete the section groups. This is the ++default behaviour for a final link but this option can be used to ++change the behaviour of a relocatable link (@samp{-r}). The script ++command @code{FORCE_GROUP_ALLOCATION} has the same ++effect. @xref{Miscellaneous Commands}. ++ ++@cindex symbols, from command line ++@kindex --defsym=@var{symbol}=@var{exp} ++@item --defsym=@var{symbol}=@var{expression} ++Create a global symbol in the output file, containing the absolute ++address given by @var{expression}. You may use this option as many ++times as necessary to define multiple symbols in the command line. A ++limited form of arithmetic is supported for the @var{expression} in this ++context: you may give a hexadecimal constant or the name of an existing ++symbol, or use @code{+} and @code{-} to add or subtract hexadecimal ++constants or symbols. If you need more elaborate expressions, consider ++using the linker command language from a script (@pxref{Assignments}). ++@emph{Note:} there should be no white space between @var{symbol}, the ++equals sign (``@key{=}''), and @var{expression}. ++ ++The linker processes @samp{--defsym} arguments and @samp{-T} arguments ++in order, placing @samp{--defsym} before @samp{-T} will define the ++symbol before the linker script from @samp{-T} is processed, while ++placing @samp{--defsym} after @samp{-T} will define the symbol after ++the linker script has been processed. This difference has ++consequences for expressions within the linker script that use the ++@samp{--defsym} symbols, which order is correct will depend on what ++you are trying to achieve. ++ ++@cindex demangling, from command line ++@kindex --demangle[=@var{style}] ++@kindex --no-demangle ++@item --demangle[=@var{style}] ++@itemx --no-demangle ++These options control whether to demangle symbol names in error messages ++and other output. When the linker is told to demangle, it tries to ++present symbol names in a readable fashion: it strips leading ++underscores if they are used by the object file format, and converts C++ ++mangled symbol names into user readable names. Different compilers have ++different mangling styles. The optional demangling style argument can be used ++to choose an appropriate demangling style for your compiler. The linker will ++demangle by default unless the environment variable @samp{COLLECT_NO_DEMANGLE} ++is set. These options may be used to override the default. ++ ++@cindex dynamic linker, from command line ++@kindex -I@var{file} ++@kindex --dynamic-linker=@var{file} ++@item -I@var{file} ++@itemx --dynamic-linker=@var{file} ++Set the name of the dynamic linker. This is only meaningful when ++generating dynamically linked ELF executables. The default dynamic ++linker is normally correct; don't use this unless you know what you are ++doing. ++ ++@kindex --no-dynamic-linker ++@item --no-dynamic-linker ++When producing an executable file, omit the request for a dynamic ++linker to be used at load-time. This is only meaningful for ELF ++executables that contain dynamic relocations, and usually requires ++entry point code that is capable of processing these relocations. ++ ++@kindex --embedded-relocs ++@item --embedded-relocs ++This option is similar to the @option{--emit-relocs} option except ++that the relocs are stored in a target-specific section. This option ++is only supported by the @samp{BFIN}, @samp{CR16} and @emph{M68K} ++targets. ++ ++@kindex --disable-multiple-abs-defs ++@item --disable-multiple-abs-defs ++Do not allow multiple definitions with symbols included ++in filename invoked by -R or --just-symbols ++ ++@kindex --fatal-warnings ++@kindex --no-fatal-warnings ++@item --fatal-warnings ++@itemx --no-fatal-warnings ++Treat all warnings as errors. The default behaviour can be restored ++with the option @option{--no-fatal-warnings}. ++ ++@kindex -w ++@kindex --no-warnings ++@item -w ++@itemx --no-warnings ++Do not display any warning or error messages. This overrides ++@option{--fatal-warnings} if it has been enabled. This option can be ++used when it is known that the output binary will not work, but there ++is still a need to create it. ++ ++@kindex --force-exe-suffix ++@item --force-exe-suffix ++Make sure that an output file has a .exe suffix. ++ ++If a successfully built fully linked output file does not have a ++@code{.exe} or @code{.dll} suffix, this option forces the linker to copy ++the output file to one of the same name with a @code{.exe} suffix. This ++option is useful when using unmodified Unix makefiles on a Microsoft ++Windows host, since some versions of Windows won't run an image unless ++it ends in a @code{.exe} suffix. ++ ++@kindex --gc-sections ++@kindex --no-gc-sections ++@cindex garbage collection ++@item --gc-sections ++@itemx --no-gc-sections ++Enable garbage collection of unused input sections. It is ignored on ++targets that do not support this option. The default behaviour (of not ++performing this garbage collection) can be restored by specifying ++@samp{--no-gc-sections} on the command line. Note that garbage ++collection for COFF and PE format targets is supported, but the ++implementation is currently considered to be experimental. ++ ++@samp{--gc-sections} decides which input sections are used by ++examining symbols and relocations. The section containing the entry ++symbol and all sections containing symbols undefined on the ++command-line will be kept, as will sections containing symbols ++referenced by dynamic objects. Note that when building shared ++libraries, the linker must assume that any visible symbol is ++referenced. Once this initial set of sections has been determined, ++the linker recursively marks as used any section referenced by their ++relocations. See @samp{--entry}, @samp{--undefined}, and ++@samp{--gc-keep-exported}. ++ ++This option can be set when doing a partial link (enabled with option ++@samp{-r}). In this case the root of symbols kept must be explicitly ++specified either by one of the options @samp{--entry}, ++@samp{--undefined}, or @samp{--gc-keep-exported} or by a @code{ENTRY} ++command in the linker script. ++ ++As a GNU extension, ELF input sections marked with the ++@code{SHF_GNU_RETAIN} flag will not be garbage collected. ++ ++@kindex --print-gc-sections ++@kindex --no-print-gc-sections ++@cindex garbage collection ++@item --print-gc-sections ++@itemx --no-print-gc-sections ++List all sections removed by garbage collection. The listing is ++printed on stderr. This option is only effective if garbage ++collection has been enabled via the @samp{--gc-sections}) option. The ++default behaviour (of not listing the sections that are removed) can ++be restored by specifying @samp{--no-print-gc-sections} on the command ++line. ++ ++@kindex --gc-keep-exported ++@cindex garbage collection ++@item --gc-keep-exported ++When @samp{--gc-sections} is enabled, this option prevents garbage ++collection of unused input sections that contain global symbols having ++default or protected visibility. This option is intended to be used for ++executables where unreferenced sections would otherwise be garbage ++collected regardless of the external visibility of contained symbols. ++Note that this option has no effect when linking shared objects since ++it is already the default behaviour. This option is only supported for ++ELF format targets. ++ ++@kindex --print-output-format ++@cindex output format ++@item --print-output-format ++Print the name of the default output format (perhaps influenced by ++other command-line options). This is the string that would appear ++in an @code{OUTPUT_FORMAT} linker script command (@pxref{File Commands}). ++ ++@kindex --print-memory-usage ++@cindex memory usage ++@item --print-memory-usage ++Print used size, total size and used size of memory regions created with ++the @ref{MEMORY} command. This is useful on embedded targets to have a ++quick view of amount of free memory. The format of the output has one ++headline and one line per region. It is both human readable and easily ++parsable by tools. Here is an example of an output: ++ ++@smallexample ++Memory region Used Size Region Size %age Used ++ ROM: 256 KB 1 MB 25.00% ++ RAM: 32 B 2 GB 0.00% ++@end smallexample ++ ++@cindex help ++@cindex usage ++@kindex --help ++@item --help ++Print a summary of the command-line options on the standard output and exit. ++ ++@kindex --target-help ++@item --target-help ++Print a summary of all target-specific options on the standard output and exit. ++ ++@kindex -Map=@var{mapfile} ++@item -Map=@var{mapfile} ++Print a link map to the file @var{mapfile}. See the description of the ++@option{-M} option, above. If @var{mapfile} is just the character ++@code{-} then the map will be written to stdout. ++ ++Specifying a directory as @var{mapfile} causes the linker map to be ++written as a file inside the directory. Normally name of the file ++inside the directory is computed as the basename of the @var{output} ++file with @code{.map} appended. If however the special character ++@code{%} is used then this will be replaced by the full path of the ++output file. Additionally if there are any characters after the ++@var{%} symbol then @code{.map} will no longer be appended. ++ ++@smallexample ++ -o foo.exe -Map=bar [Creates ./bar] ++ -o ../dir/foo.exe -Map=bar [Creates ./bar] ++ -o foo.exe -Map=../dir [Creates ../dir/foo.exe.map] ++ -o ../dir2/foo.exe -Map=../dir [Creates ../dir/foo.exe.map] ++ -o foo.exe -Map=% [Creates ./foo.exe.map] ++ -o ../dir/foo.exe -Map=% [Creates ../dir/foo.exe.map] ++ -o foo.exe -Map=%.bar [Creates ./foo.exe.bar] ++ -o ../dir/foo.exe -Map=%.bar [Creates ../dir/foo.exe.bar] ++ -o ../dir2/foo.exe -Map=../dir/% [Creates ../dir/../dir2/foo.exe.map] ++ -o ../dir2/foo.exe -Map=../dir/%.bar [Creates ../dir/../dir2/foo.exe.bar] ++@end smallexample ++ ++It is an error to specify more than one @code{%} character. ++ ++If the map file already exists then it will be overwritten by this ++operation. ++ ++@cindex memory usage ++@kindex --no-keep-memory ++@item --no-keep-memory ++@command{ld} normally optimizes for speed over memory usage by caching the ++symbol tables of input files in memory. This option tells @command{ld} to ++instead optimize for memory usage, by rereading the symbol tables as ++necessary. This may be required if @command{ld} runs out of memory space ++while linking a large executable. ++ ++@kindex --no-undefined ++@kindex -z defs ++@kindex -z undefs ++@item --no-undefined ++@itemx -z defs ++Report unresolved symbol references from regular object files. This ++is done even if the linker is creating a non-symbolic shared library. ++The switch @option{--[no-]allow-shlib-undefined} controls the ++behaviour for reporting unresolved references found in shared ++libraries being linked in. ++ ++The effects of this option can be reverted by using @code{-z undefs}. ++ ++@kindex --allow-multiple-definition ++@kindex -z muldefs ++@item --allow-multiple-definition ++@itemx -z muldefs ++Normally when a symbol is defined multiple times, the linker will ++report a fatal error. These options allow multiple definitions and the ++first definition will be used. ++ ++@kindex --allow-shlib-undefined ++@kindex --no-allow-shlib-undefined ++@item --allow-shlib-undefined ++@itemx --no-allow-shlib-undefined ++Allows or disallows undefined symbols in shared libraries. ++This switch is similar to @option{--no-undefined} except that it ++determines the behaviour when the undefined symbols are in a ++shared library rather than a regular object file. It does not affect ++how undefined symbols in regular object files are handled. ++ ++The default behaviour is to report errors for any undefined symbols ++referenced in shared libraries if the linker is being used to create ++an executable, but to allow them if the linker is being used to create ++a shared library. ++ ++The reasons for allowing undefined symbol references in shared ++libraries specified at link time are that: ++ ++@itemize @bullet ++@item ++A shared library specified at link time may not be the same as the one ++that is available at load time, so the symbol might actually be ++resolvable at load time. ++@item ++There are some operating systems, eg BeOS and HPPA, where undefined ++symbols in shared libraries are normal. ++ ++The BeOS kernel for example patches shared libraries at load time to ++select whichever function is most appropriate for the current ++architecture. This is used, for example, to dynamically select an ++appropriate memset function. ++@end itemize ++ ++@kindex --error-handling-script=@var{scriptname} ++@item --error-handling-script=@var{scriptname} ++If this option is provided then the linker will invoke ++@var{scriptname} whenever an error is encountered. Currently however ++only two kinds of error are supported: missing symbols and missing ++libraries. Two arguments will be passed to script: the keyword ++``undefined-symbol'' or `missing-lib'' and the @var{name} of the ++undefined symbol or missing library. The intention is that the script ++will provide suggestions to the user as to where the symbol or library ++might be found. After the script has finished then the normal linker ++error message will be displayed. ++ ++The availability of this option is controlled by a configure time ++switch, so it may not be present in specific implementations. ++ ++@kindex --no-undefined-version ++@item --no-undefined-version ++Normally when a symbol has an undefined version, the linker will ignore ++it. This option disallows symbols with undefined version and a fatal error ++will be issued instead. ++ ++@kindex --default-symver ++@item --default-symver ++Create and use a default symbol version (the soname) for unversioned ++exported symbols. ++ ++@kindex --default-imported-symver ++@item --default-imported-symver ++Create and use a default symbol version (the soname) for unversioned ++imported symbols. ++ ++@kindex --no-warn-mismatch ++@item --no-warn-mismatch ++Normally @command{ld} will give an error if you try to link together input ++files that are mismatched for some reason, perhaps because they have ++been compiled for different processors or for different endiannesses. ++This option tells @command{ld} that it should silently permit such possible ++errors. This option should only be used with care, in cases when you ++have taken some special action that ensures that the linker errors are ++inappropriate. ++ ++@kindex --no-warn-search-mismatch ++@item --no-warn-search-mismatch ++Normally @command{ld} will give a warning if it finds an incompatible ++library during a library search. This option silences the warning. ++ ++@kindex --no-whole-archive ++@item --no-whole-archive ++Turn off the effect of the @option{--whole-archive} option for subsequent ++archive files. ++ ++@cindex output file after errors ++@kindex --noinhibit-exec ++@item --noinhibit-exec ++Retain the executable output file whenever it is still usable. ++Normally, the linker will not produce an output file if it encounters ++errors during the link process; it exits without writing an output file ++when it issues any error whatsoever. ++ ++@kindex -nostdlib ++@item -nostdlib ++Only search library directories explicitly specified on the ++command line. Library directories specified in linker scripts ++(including linker scripts specified on the command line) are ignored. ++ ++@ifclear SingleFormat ++@kindex --oformat=@var{output-format} ++@item --oformat=@var{output-format} ++@command{ld} may be configured to support more than one kind of object ++file. If your @command{ld} is configured this way, you can use the ++@samp{--oformat} option to specify the binary format for the output ++object file. Even when @command{ld} is configured to support alternative ++object formats, you don't usually need to specify this, as @command{ld} ++should be configured to produce as a default output format the most ++usual format on each machine. @var{output-format} is a text string, the ++name of a particular format supported by the BFD libraries. (You can ++list the available binary formats with @samp{objdump -i}.) The script ++command @code{OUTPUT_FORMAT} can also specify the output format, but ++this option overrides it. @xref{BFD}. ++@end ifclear ++ ++@kindex --out-implib ++@item --out-implib @var{file} ++Create an import library in @var{file} corresponding to the executable ++the linker is generating (eg. a DLL or ELF program). This import ++library (which should be called @code{*.dll.a} or @code{*.a} for DLLs) ++may be used to link clients against the generated executable; this ++behaviour makes it possible to skip a separate import library creation ++step (eg. @code{dlltool} for DLLs). This option is only available for ++the i386 PE and ELF targetted ports of the linker. ++ ++@kindex -pie ++@kindex --pic-executable ++@item -pie ++@itemx --pic-executable ++@cindex position independent executables ++Create a position independent executable. This is currently only supported on ++ELF platforms. Position independent executables are similar to shared ++libraries in that they are relocated by the dynamic linker to the virtual ++address the OS chooses for them (which can vary between invocations). Like ++normal dynamically linked executables they can be executed and symbols ++defined in the executable cannot be overridden by shared libraries. ++ ++@kindex -no-pie ++@item -no-pie ++@cindex position dependent executables ++Create a position dependent executable. This is the default. ++ ++@kindex -qmagic ++@item -qmagic ++This option is ignored for Linux compatibility. ++ ++@kindex -Qy ++@item -Qy ++This option is ignored for SVR4 compatibility. ++ ++@kindex --relax ++@cindex synthesizing linker ++@cindex relaxing addressing modes ++@cindex --no-relax ++@item --relax ++@itemx --no-relax ++An option with machine dependent effects. ++@ifset GENERIC ++This option is only supported on a few targets. ++@end ifset ++@ifset H8300 ++@xref{H8/300,,@command{ld} and the H8/300}. ++@end ifset ++@ifset XTENSA ++@xref{Xtensa,, @command{ld} and Xtensa Processors}. ++@end ifset ++@ifset M68HC11 ++@xref{M68HC11/68HC12,,@command{ld} and the 68HC11 and 68HC12}. ++@end ifset ++@ifset NIOSII ++@xref{Nios II,,@command{ld} and the Altera Nios II}. ++@end ifset ++@ifset POWERPC ++@xref{PowerPC ELF32,,@command{ld} and PowerPC 32-bit ELF Support}. ++@end ifset ++ ++On some platforms the @option{--relax} option performs target specific, ++global optimizations that become possible when the linker resolves ++addressing in the program, such as relaxing address modes, ++synthesizing new instructions, selecting shorter version of current ++instructions, and combining constant values. ++ ++On some platforms these link time global optimizations may make symbolic ++debugging of the resulting executable impossible. ++@ifset GENERIC ++This is known to be the case for the Matsushita MN10200 and MN10300 ++family of processors. ++@end ifset ++ ++On platforms where the feature is supported, the option ++@option{--no-relax} will disable it. ++ ++On platforms where the feature is not supported, both @option{--relax} ++and @option{--no-relax} are accepted, but ignored. ++ ++@cindex retaining specified symbols ++@cindex stripping all but some symbols ++@cindex symbols, retaining selectively ++@kindex --retain-symbols-file=@var{filename} ++@item --retain-symbols-file=@var{filename} ++Retain @emph{only} the symbols listed in the file @var{filename}, ++discarding all others. @var{filename} is simply a flat file, with one ++symbol name per line. This option is especially useful in environments ++@ifset GENERIC ++(such as VxWorks) ++@end ifset ++where a large global symbol table is accumulated gradually, to conserve ++run-time memory. ++ ++@samp{--retain-symbols-file} does @emph{not} discard undefined symbols, ++or symbols needed for relocations. ++ ++You may only specify @samp{--retain-symbols-file} once in the command ++line. It overrides @samp{-s} and @samp{-S}. ++ ++@ifset GENERIC ++@item -rpath=@var{dir} ++@cindex runtime library search path ++@kindex -rpath=@var{dir} ++Add a directory to the runtime library search path. This is used when ++linking an ELF executable with shared objects. All @option{-rpath} ++arguments are concatenated and passed to the runtime linker, which uses ++them to locate shared objects at runtime. ++ ++The @option{-rpath} option is also used when locating shared objects which ++are needed by shared objects explicitly included in the link; see the ++description of the @option{-rpath-link} option. Searching @option{-rpath} ++in this way is only supported by native linkers and cross linkers which ++have been configured with the @option{--with-sysroot} option. ++ ++If @option{-rpath} is not used when linking an ELF executable, the ++contents of the environment variable @code{LD_RUN_PATH} will be used if it ++is defined. ++ ++The @option{-rpath} option may also be used on SunOS. By default, on ++SunOS, the linker will form a runtime search path out of all the ++@option{-L} options it is given. If a @option{-rpath} option is used, the ++runtime search path will be formed exclusively using the @option{-rpath} ++options, ignoring the @option{-L} options. This can be useful when using ++gcc, which adds many @option{-L} options which may be on NFS mounted ++file systems. ++ ++For compatibility with other ELF linkers, if the @option{-R} option is ++followed by a directory name, rather than a file name, it is treated as ++the @option{-rpath} option. ++@end ifset ++ ++@ifset GENERIC ++@cindex link-time runtime library search path ++@kindex -rpath-link=@var{dir} ++@item -rpath-link=@var{dir} ++When using ELF or SunOS, one shared library may require another. This ++happens when an @code{ld -shared} link includes a shared library as one ++of the input files. ++ ++When the linker encounters such a dependency when doing a non-shared, ++non-relocatable link, it will automatically try to locate the required ++shared library and include it in the link, if it is not included ++explicitly. In such a case, the @option{-rpath-link} option ++specifies the first set of directories to search. The ++@option{-rpath-link} option may specify a sequence of directory names ++either by specifying a list of names separated by colons, or by ++appearing multiple times. ++ ++The tokens @var{$ORIGIN} and @var{$LIB} can appear in these search ++directories. They will be replaced by the full path to the directory ++containing the program or shared object in the case of @var{$ORIGIN} ++and either @samp{lib} - for 32-bit binaries - or @samp{lib64} - for ++64-bit binaries - in the case of @var{$LIB}. ++ ++The alternative form of these tokens - @var{$@{ORIGIN@}} and ++@var{$@{LIB@}} can also be used. The token @var{$PLATFORM} is not ++supported. ++ ++This option should be used with caution as it overrides the search path ++that may have been hard compiled into a shared library. In such a case it ++is possible to use unintentionally a different search path than the ++runtime linker would do. ++ ++The linker uses the following search paths to locate required shared ++libraries: ++ ++@enumerate ++@item ++Any directories specified by @option{-rpath-link} options. ++@item ++Any directories specified by @option{-rpath} options. The difference ++between @option{-rpath} and @option{-rpath-link} is that directories ++specified by @option{-rpath} options are included in the executable and ++used at runtime, whereas the @option{-rpath-link} option is only effective ++at link time. Searching @option{-rpath} in this way is only supported ++by native linkers and cross linkers which have been configured with ++the @option{--with-sysroot} option. ++@item ++On an ELF system, for native linkers, if the @option{-rpath} and ++@option{-rpath-link} options were not used, search the contents of the ++environment variable @code{LD_RUN_PATH}. ++@item ++On SunOS, if the @option{-rpath} option was not used, search any ++directories specified using @option{-L} options. ++@item ++For a native linker, search the contents of the environment ++variable @code{LD_LIBRARY_PATH}. ++@item ++For a native ELF linker, the directories in @code{DT_RUNPATH} or ++@code{DT_RPATH} of a shared library are searched for shared ++libraries needed by it. The @code{DT_RPATH} entries are ignored if ++@code{DT_RUNPATH} entries exist. ++@item ++For a linker for a Linux system, if the file @file{/etc/ld.so.conf} ++exists, the list of directories found in that file. Note: the path ++to this file is prefixed with the @code{sysroot} value, if that is ++defined, and then any @code{prefix} string if the linker was ++configured with the @command{--prefix=} option. ++@item ++For a native linker on a FreeBSD system, any directories specified by ++the @code{_PATH_ELF_HINTS} macro defined in the @file{elf-hints.h} ++header file. ++@item ++Any directories specified by a @code{SEARCH_DIR} command in a ++linker script given on the command line, including scripts specified ++by @option{-T} (but not @option{-dT}). ++@item ++The default directories, normally @file{/lib} and @file{/usr/lib}. ++@item ++Any directories specified by a plugin LDPT_SET_EXTRA_LIBRARY_PATH. ++@item ++Any directories specified by a @code{SEARCH_DIR} command in a default ++linker script. ++@end enumerate ++ ++Note however on Linux based systems there is an additional caveat: If ++the @option{--as-needed} option is active @emph{and} a shared library ++is located which would normally satisfy the search @emph{and} this ++library does not have DT_NEEDED tag for @file{libc.so} ++@emph{and} there is a shared library later on in the set of search ++directories which also satisfies the search @emph{and} ++this second shared library does have a DT_NEEDED tag for ++@file{libc.so} @emph{then} the second library will be selected instead ++of the first. ++ ++If the required shared library is not found, the linker will issue a ++warning and continue with the link. ++ ++@end ifset ++ ++@kindex -shared ++@kindex -Bshareable ++@item -shared ++@itemx -Bshareable ++@cindex shared libraries ++Create a shared library. This is currently only supported on ELF, XCOFF ++and SunOS platforms. On SunOS, the linker will automatically create a ++shared library if the @option{-e} option is not used and there are ++undefined symbols in the link. ++ ++@kindex --sort-common ++@item --sort-common ++@itemx --sort-common=ascending ++@itemx --sort-common=descending ++This option tells @command{ld} to sort the common symbols by alignment in ++ascending or descending order when it places them in the appropriate output ++sections. The symbol alignments considered are sixteen-byte or larger, ++eight-byte, four-byte, two-byte, and one-byte. This is to prevent gaps ++between symbols due to alignment constraints. If no sorting order is ++specified, then descending order is assumed. ++ ++@kindex --sort-section=name ++@item --sort-section=name ++This option will apply @code{SORT_BY_NAME} to all wildcard section ++patterns in the linker script. ++ ++@kindex --sort-section=alignment ++@item --sort-section=alignment ++This option will apply @code{SORT_BY_ALIGNMENT} to all wildcard section ++patterns in the linker script. ++ ++@kindex --spare-dynamic-tags ++@item --spare-dynamic-tags=@var{count} ++This option specifies the number of empty slots to leave in the ++.dynamic section of ELF shared objects. Empty slots may be needed by ++post processing tools, such as the prelinker. The default is 5. ++ ++@kindex --split-by-file ++@item --split-by-file[=@var{size}] ++Similar to @option{--split-by-reloc} but creates a new output section for ++each input file when @var{size} is reached. @var{size} defaults to a ++size of 1 if not given. ++ ++@kindex --split-by-reloc ++@item --split-by-reloc[=@var{count}] ++Tries to creates extra sections in the output file so that no single ++output section in the file contains more than @var{count} relocations. ++This is useful when generating huge relocatable files for downloading into ++certain real time kernels with the COFF object file format; since COFF ++cannot represent more than 65535 relocations in a single section. Note ++that this will fail to work with object file formats which do not ++support arbitrary sections. The linker will not split up individual ++input sections for redistribution, so if a single input section contains ++more than @var{count} relocations one output section will contain that ++many relocations. @var{count} defaults to a value of 32768. ++ ++@kindex --stats ++@item --stats ++Compute and display statistics about the operation of the linker, such ++as execution time and memory usage. ++ ++@kindex --sysroot=@var{directory} ++@item --sysroot=@var{directory} ++Use @var{directory} as the location of the sysroot, overriding the ++configure-time default. This option is only supported by linkers ++that were configured using @option{--with-sysroot}. ++ ++@kindex --task-link ++@item --task-link ++This is used by COFF/PE based targets to create a task-linked object ++file where all of the global symbols have been converted to statics. ++ ++@kindex --traditional-format ++@cindex traditional format ++@item --traditional-format ++For some targets, the output of @command{ld} is different in some ways from ++the output of some existing linker. This switch requests @command{ld} to ++use the traditional format instead. ++ ++@cindex dbx ++For example, on SunOS, @command{ld} combines duplicate entries in the ++symbol string table. This can reduce the size of an output file with ++full debugging information by over 30 percent. Unfortunately, the SunOS ++@code{dbx} program can not read the resulting program (@code{gdb} has no ++trouble). The @samp{--traditional-format} switch tells @command{ld} to not ++combine duplicate entries. ++ ++@kindex --section-start=@var{sectionname}=@var{org} ++@item --section-start=@var{sectionname}=@var{org} ++Locate a section in the output file at the absolute ++address given by @var{org}. You may use this option as many ++times as necessary to locate multiple sections in the command ++line. ++@var{org} must be a single hexadecimal integer; ++for compatibility with other linkers, you may omit the leading ++@samp{0x} usually associated with hexadecimal values. @emph{Note:} there ++should be no white space between @var{sectionname}, the equals ++sign (``@key{=}''), and @var{org}. ++ ++@kindex -Tbss=@var{org} ++@kindex -Tdata=@var{org} ++@kindex -Ttext=@var{org} ++@cindex segment origins, cmd line ++@item -Tbss=@var{org} ++@itemx -Tdata=@var{org} ++@itemx -Ttext=@var{org} ++Same as @option{--section-start}, with @code{.bss}, @code{.data} or ++@code{.text} as the @var{sectionname}. ++ ++@kindex -Ttext-segment=@var{org} ++@item -Ttext-segment=@var{org} ++@cindex text segment origin, cmd line ++When creating an ELF executable, it will set the address of the first ++byte of the text segment. ++ ++@kindex -Trodata-segment=@var{org} ++@item -Trodata-segment=@var{org} ++@cindex rodata segment origin, cmd line ++When creating an ELF executable or shared object for a target where ++the read-only data is in its own segment separate from the executable ++text, it will set the address of the first byte of the read-only data segment. ++ ++@kindex -Tldata-segment=@var{org} ++@item -Tldata-segment=@var{org} ++@cindex ldata segment origin, cmd line ++When creating an ELF executable or shared object for x86-64 medium memory ++model, it will set the address of the first byte of the ldata segment. ++ ++@kindex --unresolved-symbols ++@item --unresolved-symbols=@var{method} ++Determine how to handle unresolved symbols. There are four possible ++values for @samp{method}: ++ ++@table @samp ++@item ignore-all ++Do not report any unresolved symbols. ++ ++@item report-all ++Report all unresolved symbols. This is the default. ++ ++@item ignore-in-object-files ++Report unresolved symbols that are contained in shared libraries, but ++ignore them if they come from regular object files. ++ ++@item ignore-in-shared-libs ++Report unresolved symbols that come from regular object files, but ++ignore them if they come from shared libraries. This can be useful ++when creating a dynamic binary and it is known that all the shared ++libraries that it should be referencing are included on the linker's ++command line. ++@end table ++ ++The behaviour for shared libraries on their own can also be controlled ++by the @option{--[no-]allow-shlib-undefined} option. ++ ++Normally the linker will generate an error message for each reported ++unresolved symbol but the option @option{--warn-unresolved-symbols} ++can change this to a warning. ++ ++@kindex --verbose[=@var{NUMBER}] ++@cindex verbose[=@var{NUMBER}] ++@item --dll-verbose ++@itemx --verbose[=@var{NUMBER}] ++Display the version number for @command{ld} and list the linker emulations ++supported. Display which input files can and cannot be opened. Display ++the linker script being used by the linker. If the optional @var{NUMBER} ++argument > 1, plugin symbol status will also be displayed. ++ ++@kindex --version-script=@var{version-scriptfile} ++@cindex version script, symbol versions ++@item --version-script=@var{version-scriptfile} ++Specify the name of a version script to the linker. This is typically ++used when creating shared libraries to specify additional information ++about the version hierarchy for the library being created. This option ++is only fully supported on ELF platforms which support shared libraries; ++see @ref{VERSION}. It is partially supported on PE platforms, which can ++use version scripts to filter symbol visibility in auto-export mode: any ++symbols marked @samp{local} in the version script will not be exported. ++@xref{WIN32}. ++ ++@kindex --warn-common ++@cindex warnings, on combining symbols ++@cindex combining symbols, warnings on ++@item --warn-common ++Warn when a common symbol is combined with another common symbol or with ++a symbol definition. Unix linkers allow this somewhat sloppy practice, ++but linkers on some other operating systems do not. This option allows ++you to find potential problems from combining global symbols. ++Unfortunately, some C libraries use this practice, so you may get some ++warnings about symbols in the libraries as well as in your programs. ++ ++There are three kinds of global symbols, illustrated here by C examples: ++ ++@table @samp ++@item int i = 1; ++A definition, which goes in the initialized data section of the output ++file. ++ ++@item extern int i; ++An undefined reference, which does not allocate space. ++There must be either a definition or a common symbol for the ++variable somewhere. ++ ++@item int i; ++A common symbol. If there are only (one or more) common symbols for a ++variable, it goes in the uninitialized data area of the output file. ++The linker merges multiple common symbols for the same variable into a ++single symbol. If they are of different sizes, it picks the largest ++size. The linker turns a common symbol into a declaration, if there is ++a definition of the same variable. ++@end table ++ ++The @samp{--warn-common} option can produce five kinds of warnings. ++Each warning consists of a pair of lines: the first describes the symbol ++just encountered, and the second describes the previous symbol ++encountered with the same name. One or both of the two symbols will be ++a common symbol. ++ ++@enumerate ++@item ++Turning a common symbol into a reference, because there is already a ++definition for the symbol. ++@smallexample ++@var{file}(@var{section}): warning: common of `@var{symbol}' ++ overridden by definition ++@var{file}(@var{section}): warning: defined here ++@end smallexample ++ ++@item ++Turning a common symbol into a reference, because a later definition for ++the symbol is encountered. This is the same as the previous case, ++except that the symbols are encountered in a different order. ++@smallexample ++@var{file}(@var{section}): warning: definition of `@var{symbol}' ++ overriding common ++@var{file}(@var{section}): warning: common is here ++@end smallexample ++ ++@item ++Merging a common symbol with a previous same-sized common symbol. ++@smallexample ++@var{file}(@var{section}): warning: multiple common ++ of `@var{symbol}' ++@var{file}(@var{section}): warning: previous common is here ++@end smallexample ++ ++@item ++Merging a common symbol with a previous larger common symbol. ++@smallexample ++@var{file}(@var{section}): warning: common of `@var{symbol}' ++ overridden by larger common ++@var{file}(@var{section}): warning: larger common is here ++@end smallexample ++ ++@item ++Merging a common symbol with a previous smaller common symbol. This is ++the same as the previous case, except that the symbols are ++encountered in a different order. ++@smallexample ++@var{file}(@var{section}): warning: common of `@var{symbol}' ++ overriding smaller common ++@var{file}(@var{section}): warning: smaller common is here ++@end smallexample ++@end enumerate ++ ++@kindex --warn-constructors ++@item --warn-constructors ++Warn if any global constructors are used. This is only useful for a few ++object file formats. For formats like COFF or ELF, the linker can not ++detect the use of global constructors. ++ ++@kindex --warn-execstack ++@cindex warnings, on executable stack ++@cindex executable stack, warnings on ++@item --warn-execstack ++@itemx --warn-execstack-objects ++@itemx --no-warn-execstack ++On ELF platforms the linker may generate warning messages if it is ++asked to create an output file that contains an executable stack. ++There are three possible states: ++@enumerate ++@item ++Do not generate any warnings. ++@item ++Always generate warnings, even if the executable stack is requested ++via the @option{-z execstack} command line option. ++@item ++Only generate a warning if an object file requests an executable ++stack, but not if the @option{-z execstack} option is used. ++@end enumerate ++ ++The default state depends upon how the linker was configured when it ++was built. The @option{--no-warn-execstack} option always puts the ++linker into the no-warnings state. The @option{--warn-execstack} ++option puts the linker into the warn-always state. The ++@option{--warn-execstack-objects} option puts the linker into the ++warn-for-object-files-only state. ++ ++Note: ELF format input files can specify that they need an executable ++stack by having a @var{.note.GNU-stack} section with the executable ++bit set in its section flags. They can specify that they do not need ++an executable stack by having the same section, but without the ++executable flag bit set. If an input file does not have a ++@var{.note.GNU-stack} section then the default behaviour is target ++specific. For some targets, then absence of such a section implies ++that an executable stack @emph{is} required. This is often a problem ++for hand crafted assembler files. ++ ++@kindex --error-execstack ++@item --error-execstack ++@itemx --no-error-execstack ++If the linker is going to generate a warning message about an ++executable stack then the @option{--error-execstack} option will ++instead change that warning into an error. Note - this option does ++not change the linker's execstack warning generation state. Use ++@option{--warn-execstack} or @option{--warn-execstack-objects} to set ++a specific warning state. ++ ++The @option{--no-error-execstack} option will restore the default ++behaviour of generating warning messages. ++ ++@kindex --warn-multiple-gp ++@item --warn-multiple-gp ++Warn if multiple global pointer values are required in the output file. ++This is only meaningful for certain processors, such as the Alpha. ++Specifically, some processors put large-valued constants in a special ++section. A special register (the global pointer) points into the middle ++of this section, so that constants can be loaded efficiently via a ++base-register relative addressing mode. Since the offset in ++base-register relative mode is fixed and relatively small (e.g., 16 ++bits), this limits the maximum size of the constant pool. Thus, in ++large programs, it is often necessary to use multiple global pointer ++values in order to be able to address all possible constants. This ++option causes a warning to be issued whenever this case occurs. ++ ++@kindex --warn-once ++@cindex warnings, on undefined symbols ++@cindex undefined symbols, warnings on ++@item --warn-once ++Only warn once for each undefined symbol, rather than once per module ++which refers to it. ++ ++@kindex --warn-rwx-segments ++@cindex warnings, on writeable and exectuable segments ++@cindex executable segments, warnings on ++@item --warn-rwx-segments ++@itemx --no-warn-rwx-segments ++Warn if the linker creates a loadable, non-zero sized segment that has ++all three of the read, write and execute permission flags set. Such a ++segment represents a potential security vulnerability. In addition ++warnings will be generated if a thread local storage segment is ++created with the execute permission flag set, regardless of whether or ++not it has the read and/or write flags set. ++ ++These warnings are enabled by default. They can be disabled via the ++@option{--no-warn-rwx-segments} option and re-enabled via the ++@option{--warn-rwx-segments} option. ++ ++@kindex --error-rwx-segments ++@item --error-rwx-segments ++@itemx --no-error-rwx-segments ++If the linker is going to generate a warning message about an ++executable, writeable segment, or an executable TLS segment, then the ++@option{--error-rwx-segments} option will turn this warning into an ++error instead. The @option{--no-error-rwx-segments} option will ++restore the default behaviour of just generating a warning message. ++ ++Note - the @option{--error-rwx-segments} option does not by itself ++turn on warnings about these segments. These warnings are either ++enabled by default, if the linker was configured that way, or via the ++@option{--warn-rwx-segments} command line option. ++ ++@kindex --warn-section-align ++@cindex warnings, on section alignment ++@cindex section alignment, warnings on ++@item --warn-section-align ++Warn if the address of an output section is changed because of ++alignment. Typically, the alignment will be set by an input section. ++The address will only be changed if it not explicitly specified; that ++is, if the @code{SECTIONS} command does not specify a start address for ++the section (@pxref{SECTIONS}). ++ ++@kindex --warn-textrel ++@item --warn-textrel ++Warn if the linker adds DT_TEXTREL to a position-independent executable ++or shared object. ++ ++@kindex --warn-alternate-em ++@item --warn-alternate-em ++Warn if an object has alternate ELF machine code. ++ ++@kindex --warn-unresolved-symbols ++@item --warn-unresolved-symbols ++If the linker is going to report an unresolved symbol (see the option ++@option{--unresolved-symbols}) it will normally generate an error. ++This option makes it generate a warning instead. ++ ++@kindex --error-unresolved-symbols ++@item --error-unresolved-symbols ++This restores the linker's default behaviour of generating errors when ++it is reporting unresolved symbols. ++ ++@kindex --whole-archive ++@cindex including an entire archive ++@item --whole-archive ++For each archive mentioned on the command line after the ++@option{--whole-archive} option, include every object file in the archive ++in the link, rather than searching the archive for the required object ++files. This is normally used to turn an archive file into a shared ++library, forcing every object to be included in the resulting shared ++library. This option may be used more than once. ++ ++Two notes when using this option from gcc: First, gcc doesn't know ++about this option, so you have to use @option{-Wl,-whole-archive}. ++Second, don't forget to use @option{-Wl,-no-whole-archive} after your ++list of archives, because gcc will add its own list of archives to ++your link and you may not want this flag to affect those as well. ++ ++@kindex --wrap=@var{symbol} ++@item --wrap=@var{symbol} ++Use a wrapper function for @var{symbol}. Any undefined reference to ++@var{symbol} will be resolved to @code{__wrap_@var{symbol}}. Any ++undefined reference to @code{__real_@var{symbol}} will be resolved to ++@var{symbol}. ++ ++This can be used to provide a wrapper for a system function. The ++wrapper function should be called @code{__wrap_@var{symbol}}. If it ++wishes to call the system function, it should call ++@code{__real_@var{symbol}}. ++ ++Here is a trivial example: ++ ++@smallexample ++void * ++__wrap_malloc (size_t c) ++@{ ++ printf ("malloc called with %zu\n", c); ++ return __real_malloc (c); ++@} ++@end smallexample ++ ++If you link other code with this file using @option{--wrap malloc}, then ++all calls to @code{malloc} will call the function @code{__wrap_malloc} ++instead. The call to @code{__real_malloc} in @code{__wrap_malloc} will ++call the real @code{malloc} function. ++ ++You may wish to provide a @code{__real_malloc} function as well, so that ++links without the @option{--wrap} option will succeed. If you do this, ++you should not put the definition of @code{__real_malloc} in the same ++file as @code{__wrap_malloc}; if you do, the assembler may resolve the ++call before the linker has a chance to wrap it to @code{malloc}. ++ ++Only undefined references are replaced by the linker. So, translation unit ++internal references to @var{symbol} are not resolved to ++@code{__wrap_@var{symbol}}. In the next example, the call to @code{f} in ++@code{g} is not resolved to @code{__wrap_f}. ++ ++@smallexample ++int ++f (void) ++@{ ++ return 123; ++@} ++ ++int ++g (void) ++@{ ++ return f(); ++@} ++@end smallexample ++ ++@kindex --eh-frame-hdr ++@kindex --no-eh-frame-hdr ++@item --eh-frame-hdr ++@itemx --no-eh-frame-hdr ++Request (@option{--eh-frame-hdr}) or suppress ++(@option{--no-eh-frame-hdr}) the creation of @code{.eh_frame_hdr} ++section and ELF @code{PT_GNU_EH_FRAME} segment header. ++ ++@kindex --ld-generated-unwind-info ++@item --no-ld-generated-unwind-info ++Request creation of @code{.eh_frame} unwind info for linker ++generated code sections like PLT. This option is on by default ++if linker generated unwind info is supported. This option also ++controls the generation of @code{.sframe} stack trace info for linker ++generated code sections like PLT. ++ ++@kindex --enable-new-dtags ++@kindex --disable-new-dtags ++@item --enable-new-dtags ++@itemx --disable-new-dtags ++This linker can create the new dynamic tags in ELF. But the older ELF ++systems may not understand them. If you specify ++@option{--enable-new-dtags}, the new dynamic tags will be created as needed ++and older dynamic tags will be omitted. ++If you specify @option{--disable-new-dtags}, no new dynamic tags will be ++created. By default, the new dynamic tags are created. Note that ++those options are only available for ELF systems. ++ ++@kindex --hash-size=@var{number} ++@item --hash-size=@var{number} ++Set the default size of the linker's hash tables to a prime number ++close to @var{number}. Increasing this value can reduce the length of ++time it takes the linker to perform its tasks, at the expense of ++increasing the linker's memory requirements. Similarly reducing this ++value can reduce the memory requirements at the expense of speed. ++ ++@kindex --hash-style=@var{style} ++@item --hash-style=@var{style} ++Set the type of linker's hash table(s). @var{style} can be either ++@code{sysv} for classic ELF @code{.hash} section, @code{gnu} for ++new style GNU @code{.gnu.hash} section or @code{both} for both ++the classic ELF @code{.hash} and new style GNU @code{.gnu.hash} ++hash tables. The default depends upon how the linker was configured, ++but for most Linux based systems it will be @code{both}. ++ ++@kindex --compress-debug-sections=none ++@kindex --compress-debug-sections=zlib ++@kindex --compress-debug-sections=zlib-gnu ++@kindex --compress-debug-sections=zlib-gabi ++@kindex --compress-debug-sections=zstd ++@item --compress-debug-sections=none ++@itemx --compress-debug-sections=zlib ++@itemx --compress-debug-sections=zlib-gnu ++@itemx --compress-debug-sections=zlib-gabi ++@itemx --compress-debug-sections=zstd ++On ELF platforms, these options control how DWARF debug sections are ++compressed using zlib. ++ ++@option{--compress-debug-sections=none} doesn't compress DWARF debug ++sections. @option{--compress-debug-sections=zlib-gnu} compresses ++DWARF debug sections and renames them to begin with @samp{.zdebug} ++instead of @samp{.debug}. @option{--compress-debug-sections=zlib-gabi} ++also compresses DWARF debug sections, but rather than renaming them it ++sets the SHF_COMPRESSED flag in the sections' headers. ++ ++The @option{--compress-debug-sections=zlib} option is an alias for ++@option{--compress-debug-sections=zlib-gabi}. ++ ++@option{--compress-debug-sections=zstd} compresses DWARF debug sections using ++zstd. ++ ++Note that this option overrides any compression in input debug ++sections, so if a binary is linked with @option{--compress-debug-sections=none} ++for example, then any compressed debug sections in input files will be ++uncompressed before they are copied into the output binary. ++ ++The default compression behaviour varies depending upon the target ++involved and the configure options used to build the toolchain. The ++default can be determined by examining the output from the linker's ++@option{--help} option. ++ ++@kindex --reduce-memory-overheads ++@item --reduce-memory-overheads ++This option reduces memory requirements at ld runtime, at the expense of ++linking speed. This was introduced to select the old O(n^2) algorithm ++for link map file generation, rather than the new O(n) algorithm which uses ++about 40% more memory for symbol storage. ++ ++Another effect of the switch is to set the default hash table size to ++1021, which again saves memory at the cost of lengthening the linker's ++run time. This is not done however if the @option{--hash-size} switch ++has been used. ++ ++The @option{--reduce-memory-overheads} switch may be also be used to ++enable other tradeoffs in future versions of the linker. ++ ++@kindex --max-cache-size=@var{size} ++@item --max-cache-size=@var{size} ++@command{ld} normally caches the relocation information and symbol tables ++of input files in memory with the unlimited size. This option sets the ++maximum cache size to @var{size}. ++ ++@kindex --build-id ++@kindex --build-id=@var{style} ++@item --build-id ++@itemx --build-id=@var{style} ++Request the creation of a @code{.note.gnu.build-id} ELF note section ++or a @code{.buildid} COFF section. The contents of the note are ++unique bits identifying this linked file. @var{style} can be ++@code{uuid} to use 128 random bits, @code{sha1} to use a 160-bit ++@sc{SHA1} hash on the normative parts of the output contents, ++@code{md5} to use a 128-bit @sc{MD5} hash on the normative parts of ++the output contents, or @code{0x@var{hexstring}} to use a chosen bit ++string specified as an even number of hexadecimal digits (@code{-} and ++@code{:} characters between digit pairs are ignored). If @var{style} ++is omitted, @code{sha1} is used. ++ ++The @code{md5} and @code{sha1} styles produces an identifier ++that is always the same in an identical output file, but will be ++unique among all nonidentical output files. It is not intended ++to be compared as a checksum for the file's contents. A linked ++file may be changed later by other tools, but the build ID bit ++string identifying the original linked file does not change. ++ ++Passing @code{none} for @var{style} disables the setting from any ++@code{--build-id} options earlier on the command line. ++ ++@kindex --package-metadata=@var{JSON} ++@item --package-metadata=@var{JSON} ++Request the creation of a @code{.note.package} ELF note section. The ++contents of the note are in JSON format, as per the package metadata ++specification. For more information see: ++https://systemd.io/ELF_PACKAGE_METADATA/ ++If the JSON argument is missing/empty then this will disable the ++creation of the metadata note, if one had been enabled by an earlier ++occurrence of the --package-metdata option. ++If the linker has been built with libjansson, then the JSON string ++will be validated. ++@end table ++ ++@c man end ++ ++@subsection Options Specific to i386 PE Targets ++ ++@c man begin OPTIONS ++ ++The i386 PE linker supports the @option{-shared} option, which causes ++the output to be a dynamically linked library (DLL) instead of a ++normal executable. You should name the output @code{*.dll} when you ++use this option. In addition, the linker fully supports the standard ++@code{*.def} files, which may be specified on the linker command line ++like an object file (in fact, it should precede archives it exports ++symbols from, to ensure that they get linked in, just like a normal ++object file). ++ ++In addition to the options common to all targets, the i386 PE linker ++support additional command-line options that are specific to the i386 ++PE target. Options that take values may be separated from their ++values by either a space or an equals sign. ++ ++@table @gcctabopt ++ ++@kindex --add-stdcall-alias ++@item --add-stdcall-alias ++If given, symbols with a stdcall suffix (@@@var{nn}) will be exported ++as-is and also with the suffix stripped. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --base-file ++@item --base-file @var{file} ++Use @var{file} as the name of a file in which to save the base ++addresses of all the relocations needed for generating DLLs with ++@file{dlltool}. ++[This is an i386 PE specific option] ++ ++@kindex --dll ++@item --dll ++Create a DLL instead of a regular executable. You may also use ++@option{-shared} or specify a @code{LIBRARY} in a given @code{.def} ++file. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --enable-long-section-names ++@kindex --disable-long-section-names ++@item --enable-long-section-names ++@itemx --disable-long-section-names ++The PE variants of the COFF object format add an extension that permits ++the use of section names longer than eight characters, the normal limit ++for COFF. By default, these names are only allowed in object files, as ++fully-linked executable images do not carry the COFF string table required ++to support the longer names. As a GNU extension, it is possible to ++allow their use in executable images as well, or to (probably pointlessly!) ++disallow it in object files, by using these two options. Executable images ++generated with these long section names are slightly non-standard, carrying ++as they do a string table, and may generate confusing output when examined ++with non-GNU PE-aware tools, such as file viewers and dumpers. However, ++GDB relies on the use of PE long section names to find Dwarf-2 debug ++information sections in an executable image at runtime, and so if neither ++option is specified on the command-line, @command{ld} will enable long ++section names, overriding the default and technically correct behaviour, ++when it finds the presence of debug information while linking an executable ++image and not stripping symbols. ++[This option is valid for all PE targeted ports of the linker] ++ ++@kindex --enable-stdcall-fixup ++@kindex --disable-stdcall-fixup ++@item --enable-stdcall-fixup ++@itemx --disable-stdcall-fixup ++If the link finds a symbol that it cannot resolve, it will attempt to ++do ``fuzzy linking'' by looking for another defined symbol that differs ++only in the format of the symbol name (cdecl vs stdcall) and will ++resolve that symbol by linking to the match. For example, the ++undefined symbol @code{_foo} might be linked to the function ++@code{_foo@@12}, or the undefined symbol @code{_bar@@16} might be linked ++to the function @code{_bar}. When the linker does this, it prints a ++warning, since it normally should have failed to link, but sometimes ++import libraries generated from third-party dlls may need this feature ++to be usable. If you specify @option{--enable-stdcall-fixup}, this ++feature is fully enabled and warnings are not printed. If you specify ++@option{--disable-stdcall-fixup}, this feature is disabled and such ++mismatches are considered to be errors. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --leading-underscore ++@kindex --no-leading-underscore ++@item --leading-underscore ++@itemx --no-leading-underscore ++For most targets default symbol-prefix is an underscore and is defined ++in target's description. By this option it is possible to ++disable/enable the default underscore symbol-prefix. ++ ++@cindex DLLs, creating ++@kindex --export-all-symbols ++@item --export-all-symbols ++If given, all global symbols in the objects used to build a DLL will ++be exported by the DLL. Note that this is the default if there ++otherwise wouldn't be any exported symbols. When symbols are ++explicitly exported via DEF files or implicitly exported via function ++attributes, the default is to not export anything else unless this ++option is given. Note that the symbols @code{DllMain@@12}, ++@code{DllEntryPoint@@0}, @code{DllMainCRTStartup@@12}, and ++@code{impure_ptr} will not be automatically ++exported. Also, symbols imported from other DLLs will not be ++re-exported, nor will symbols specifying the DLL's internal layout ++such as those beginning with @code{_head_} or ending with ++@code{_iname}. In addition, no symbols from @code{libgcc}, ++@code{libstd++}, @code{libmingw32}, or @code{crtX.o} will be exported. ++Symbols whose names begin with @code{__rtti_} or @code{__builtin_} will ++not be exported, to help with C++ DLLs. Finally, there is an ++extensive list of cygwin-private symbols that are not exported ++(obviously, this applies on when building DLLs for cygwin targets). ++These cygwin-excludes are: @code{_cygwin_dll_entry@@12}, ++@code{_cygwin_crt0_common@@8}, @code{_cygwin_noncygwin_dll_entry@@12}, ++@code{_fmode}, @code{_impure_ptr}, @code{cygwin_attach_dll}, ++@code{cygwin_premain0}, @code{cygwin_premain1}, @code{cygwin_premain2}, ++@code{cygwin_premain3}, and @code{environ}. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --exclude-symbols ++@item --exclude-symbols @var{symbol},@var{symbol},... ++Specifies a list of symbols which should not be automatically ++exported. The symbol names may be delimited by commas or colons. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --exclude-all-symbols ++@item --exclude-all-symbols ++Specifies no symbols should be automatically exported. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --file-alignment ++@item --file-alignment ++Specify the file alignment. Sections in the file will always begin at ++file offsets which are multiples of this number. This defaults to ++512. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@cindex heap size ++@kindex --heap ++@item --heap @var{reserve} ++@itemx --heap @var{reserve},@var{commit} ++Specify the number of bytes of memory to reserve (and optionally commit) ++to be used as heap for this program. The default is 1MB reserved, 4K ++committed. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@cindex image base ++@kindex --image-base ++@item --image-base @var{value} ++Use @var{value} as the base address of your program or dll. This is ++the lowest memory location that will be used when your program or dll ++is loaded. To reduce the need to relocate and improve performance of ++your dlls, each should have a unique base address and not overlap any ++other dlls. The default is 0x400000 for executables, and 0x10000000 ++for dlls. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --kill-at ++@item --kill-at ++If given, the stdcall suffixes (@@@var{nn}) will be stripped from ++symbols before they are exported. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --large-address-aware ++@item --large-address-aware ++If given, the appropriate bit in the ``Characteristics'' field of the COFF ++header is set to indicate that this executable supports virtual addresses ++greater than 2 gigabytes. This should be used in conjunction with the /3GB ++or /USERVA=@var{value} megabytes switch in the ``[operating systems]'' ++section of the BOOT.INI. Otherwise, this bit has no effect. ++[This option is specific to PE targeted ports of the linker] ++ ++@kindex --disable-large-address-aware ++@item --disable-large-address-aware ++Reverts the effect of a previous @samp{--large-address-aware} option. ++This is useful if @samp{--large-address-aware} is always set by the compiler ++driver (e.g. Cygwin gcc) and the executable does not support virtual ++addresses greater than 2 gigabytes. ++[This option is specific to PE targeted ports of the linker] ++ ++@kindex --major-image-version ++@item --major-image-version @var{value} ++Sets the major number of the ``image version''. Defaults to 1. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --major-os-version ++@item --major-os-version @var{value} ++Sets the major number of the ``os version''. Defaults to 4. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --major-subsystem-version ++@item --major-subsystem-version @var{value} ++Sets the major number of the ``subsystem version''. Defaults to 4. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --minor-image-version ++@item --minor-image-version @var{value} ++Sets the minor number of the ``image version''. Defaults to 0. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --minor-os-version ++@item --minor-os-version @var{value} ++Sets the minor number of the ``os version''. Defaults to 0. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --minor-subsystem-version ++@item --minor-subsystem-version @var{value} ++Sets the minor number of the ``subsystem version''. Defaults to 0. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@cindex DEF files, creating ++@cindex DLLs, creating ++@kindex --output-def ++@item --output-def @var{file} ++The linker will create the file @var{file} which will contain a DEF ++file corresponding to the DLL the linker is generating. This DEF file ++(which should be called @code{*.def}) may be used to create an import ++library with @code{dlltool} or may be used as a reference to ++automatically or implicitly exported symbols. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@cindex DLLs, creating ++@kindex --enable-auto-image-base ++@item --enable-auto-image-base ++@itemx --enable-auto-image-base=@var{value} ++Automatically choose the image base for DLLs, optionally starting with base ++@var{value}, unless one is specified using the @code{--image-base} argument. ++By using a hash generated from the dllname to create unique image bases ++for each DLL, in-memory collisions and relocations which can delay program ++execution are avoided. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --disable-auto-image-base ++@item --disable-auto-image-base ++Do not automatically generate a unique image base. If there is no ++user-specified image base (@code{--image-base}) then use the platform ++default. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@cindex DLLs, linking to ++@kindex --dll-search-prefix ++@item --dll-search-prefix @var{string} ++When linking dynamically to a dll without an import library, ++search for @code{.dll} in preference to ++@code{lib.dll}. This behaviour allows easy distinction ++between DLLs built for the various "subplatforms": native, cygwin, ++uwin, pw, etc. For instance, cygwin DLLs typically use ++@code{--dll-search-prefix=cyg}. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --enable-auto-import ++@item --enable-auto-import ++Do sophisticated linking of @code{_symbol} to @code{__imp__symbol} for ++DATA imports from DLLs, thus making it possible to bypass the dllimport ++mechanism on the user side and to reference unmangled symbol names. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++The following remarks pertain to the original implementation of the ++feature and are obsolete nowadays for Cygwin and MinGW targets. ++ ++Note: Use of the 'auto-import' extension will cause the text section ++of the image file to be made writable. This does not conform to the ++PE-COFF format specification published by Microsoft. ++ ++Note - use of the 'auto-import' extension will also cause read only ++data which would normally be placed into the .rdata section to be ++placed into the .data section instead. This is in order to work ++around a problem with consts that is described here: ++http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html ++ ++Using 'auto-import' generally will 'just work' -- but sometimes you may ++see this message: ++ ++"variable '' can't be auto-imported. Please read the ++documentation for ld's @code{--enable-auto-import} for details." ++ ++This message occurs when some (sub)expression accesses an address ++ultimately given by the sum of two constants (Win32 import tables only ++allow one). Instances where this may occur include accesses to member ++fields of struct variables imported from a DLL, as well as using a ++constant index into an array variable imported from a DLL. Any ++multiword variable (arrays, structs, long long, etc) may trigger ++this error condition. However, regardless of the exact data type ++of the offending exported variable, ld will always detect it, issue ++the warning, and exit. ++ ++There are several ways to address this difficulty, regardless of the ++data type of the exported variable: ++ ++One way is to use --enable-runtime-pseudo-reloc switch. This leaves the task ++of adjusting references in your client code for runtime environment, so ++this method works only when runtime environment supports this feature. ++ ++A second solution is to force one of the 'constants' to be a variable -- ++that is, unknown and un-optimizable at compile time. For arrays, ++there are two possibilities: a) make the indexee (the array's address) ++a variable, or b) make the 'constant' index a variable. Thus: ++ ++@example ++extern type extern_array[]; ++extern_array[1] --> ++ @{ volatile type *t=extern_array; t[1] @} ++@end example ++ ++or ++ ++@example ++extern type extern_array[]; ++extern_array[1] --> ++ @{ volatile int t=1; extern_array[t] @} ++@end example ++ ++For structs (and most other multiword data types) the only option ++is to make the struct itself (or the long long, or the ...) variable: ++ ++@example ++extern struct s extern_struct; ++extern_struct.field --> ++ @{ volatile struct s *t=&extern_struct; t->field @} ++@end example ++ ++or ++ ++@example ++extern long long extern_ll; ++extern_ll --> ++ @{ volatile long long * local_ll=&extern_ll; *local_ll @} ++@end example ++ ++A third method of dealing with this difficulty is to abandon ++'auto-import' for the offending symbol and mark it with ++@code{__declspec(dllimport)}. However, in practice that ++requires using compile-time #defines to indicate whether you are ++building a DLL, building client code that will link to the DLL, or ++merely building/linking to a static library. In making the choice ++between the various methods of resolving the 'direct address with ++constant offset' problem, you should consider typical real-world usage: ++ ++Original: ++@example ++--foo.h ++extern int arr[]; ++--foo.c ++#include "foo.h" ++void main(int argc, char **argv)@{ ++ printf("%d\n",arr[1]); ++@} ++@end example ++ ++Solution 1: ++@example ++--foo.h ++extern int arr[]; ++--foo.c ++#include "foo.h" ++void main(int argc, char **argv)@{ ++ /* This workaround is for win32 and cygwin; do not "optimize" */ ++ volatile int *parr = arr; ++ printf("%d\n",parr[1]); ++@} ++@end example ++ ++Solution 2: ++@example ++--foo.h ++/* Note: auto-export is assumed (no __declspec(dllexport)) */ ++#if (defined(_WIN32) || defined(__CYGWIN__)) && \ ++ !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) ++#define FOO_IMPORT __declspec(dllimport) ++#else ++#define FOO_IMPORT ++#endif ++extern FOO_IMPORT int arr[]; ++--foo.c ++#include "foo.h" ++void main(int argc, char **argv)@{ ++ printf("%d\n",arr[1]); ++@} ++@end example ++ ++A fourth way to avoid this problem is to re-code your ++library to use a functional interface rather than a data interface ++for the offending variables (e.g. set_foo() and get_foo() accessor ++functions). ++ ++@kindex --disable-auto-import ++@item --disable-auto-import ++Do not attempt to do sophisticated linking of @code{_symbol} to ++@code{__imp__symbol} for DATA imports from DLLs. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --enable-runtime-pseudo-reloc ++@item --enable-runtime-pseudo-reloc ++If your code contains expressions described in --enable-auto-import section, ++that is, DATA imports from DLL with non-zero offset, this switch will create ++a vector of 'runtime pseudo relocations' which can be used by runtime ++environment to adjust references to such data in your client code. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --disable-runtime-pseudo-reloc ++@item --disable-runtime-pseudo-reloc ++Do not create pseudo relocations for non-zero offset DATA imports from DLLs. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --enable-extra-pe-debug ++@item --enable-extra-pe-debug ++Show additional debug info related to auto-import symbol thunking. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --section-alignment ++@item --section-alignment ++Sets the section alignment. Sections in memory will always begin at ++addresses which are a multiple of this number. Defaults to 0x1000. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@cindex stack size ++@kindex --stack ++@item --stack @var{reserve} ++@itemx --stack @var{reserve},@var{commit} ++Specify the number of bytes of memory to reserve (and optionally commit) ++to be used as stack for this program. The default is 2MB reserved, 4K ++committed. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++@kindex --subsystem ++@item --subsystem @var{which} ++@itemx --subsystem @var{which}:@var{major} ++@itemx --subsystem @var{which}:@var{major}.@var{minor} ++Specifies the subsystem under which your program will execute. The ++legal values for @var{which} are @code{native}, @code{windows}, ++@code{console}, @code{posix}, and @code{xbox}. You may optionally set ++the subsystem version also. Numeric values are also accepted for ++@var{which}. ++[This option is specific to the i386 PE targeted port of the linker] ++ ++The following options set flags in the @code{DllCharacteristics} field ++of the PE file header: ++[These options are specific to PE targeted ports of the linker] ++ ++@kindex --high-entropy-va ++@item --high-entropy-va ++@itemx --disable-high-entropy-va ++Image is compatible with 64-bit address space layout randomization ++(ASLR). This option is enabled by default for 64-bit PE images. ++ ++This option also implies @option{--dynamicbase} and ++@option{--enable-reloc-section}. ++ ++@kindex --dynamicbase ++@item --dynamicbase ++@itemx --disable-dynamicbase ++The image base address may be relocated using address space layout ++randomization (ASLR). This feature was introduced with MS Windows ++Vista for i386 PE targets. This option is enabled by default but ++can be disabled via the @option{--disable-dynamicbase} option. ++This option also implies @option{--enable-reloc-section}. ++ ++@kindex --forceinteg ++@item --forceinteg ++@itemx --disable-forceinteg ++Code integrity checks are enforced. This option is disabled by ++default. ++ ++@kindex --nxcompat ++@item --nxcompat ++@item --disable-nxcompat ++The image is compatible with the Data Execution Prevention. ++This feature was introduced with MS Windows XP SP2 for i386 PE ++targets. The option is enabled by default. ++ ++@kindex --no-isolation ++@item --no-isolation ++@itemx --disable-no-isolation ++Although the image understands isolation, do not isolate the image. ++This option is disabled by default. ++ ++@kindex --no-seh ++@item --no-seh ++@itemx --disable-no-seh ++The image does not use SEH. No SE handler may be called from ++this image. This option is disabled by default. ++ ++@kindex --no-bind ++@item --no-bind ++@itemx --disable-no-bind ++Do not bind this image. This option is disabled by default. ++ ++@kindex --wdmdriver ++@item --wdmdriver ++@itemx --disable-wdmdriver ++The driver uses the MS Windows Driver Model. This option is disabled ++by default. ++ ++@kindex --tsaware ++@item --tsaware ++@itemx --disable-tsaware ++The image is Terminal Server aware. This option is disabled by ++default. ++ ++@kindex --insert-timestamp ++@item --insert-timestamp ++@itemx --no-insert-timestamp ++Insert a real timestamp into the image. This is the default behaviour ++as it matches legacy code and it means that the image will work with ++other, proprietary tools. The problem with this default is that it ++will result in slightly different images being produced each time the ++same sources are linked. The option @option{--no-insert-timestamp} ++can be used to insert a zero value for the timestamp, this ensuring ++that binaries produced from identical sources will compare ++identically. ++ ++@kindex --enable-reloc-section ++@item --enable-reloc-section ++@itemx --disable-reloc-section ++Create the base relocation table, which is necessary if the image ++is loaded at a different image base than specified in the PE header. ++This option is enabled by default. ++@end table ++ ++@c man end ++ ++@ifset C6X ++@subsection Options specific to C6X uClinux targets ++ ++@c man begin OPTIONS ++ ++The C6X uClinux target uses a binary format called DSBT to support shared ++libraries. Each shared library in the system needs to have a unique index; ++all executables use an index of 0. ++ ++@table @gcctabopt ++ ++@kindex --dsbt-size ++@item --dsbt-size @var{size} ++This option sets the number of entries in the DSBT of the current executable ++or shared library to @var{size}. The default is to create a table with 64 ++entries. ++ ++@kindex --dsbt-index ++@item --dsbt-index @var{index} ++This option sets the DSBT index of the current executable or shared library ++to @var{index}. The default is 0, which is appropriate for generating ++executables. If a shared library is generated with a DSBT index of 0, the ++@code{R_C6000_DSBT_INDEX} relocs are copied into the output file. ++ ++@kindex --no-merge-exidx-entries ++The @samp{--no-merge-exidx-entries} switch disables the merging of adjacent ++exidx entries in frame unwind info. ++ ++@end table ++ ++@c man end ++@end ifset ++ ++@ifset CSKY ++@subsection Options specific to C-SKY targets ++ ++@c man begin OPTIONS ++ ++@table @gcctabopt ++ ++@kindex --branch-stub on C-SKY ++@item --branch-stub ++This option enables linker branch relaxation by inserting branch stub ++sections when needed to extend the range of branches. This option is ++usually not required since C-SKY supports branch and call instructions that ++can access the full memory range and branch relaxation is normally handled by ++the compiler or assembler. ++ ++@kindex --stub-group-size on C-SKY ++@item --stub-group-size=@var{N} ++This option allows finer control of linker branch stub creation. ++It sets the maximum size of a group of input sections that can ++be handled by one stub section. A negative value of @var{N} locates ++stub sections after their branches, while a positive value allows stub ++sections to appear either before or after the branches. Values of ++@samp{1} or @samp{-1} indicate that the ++linker should choose suitable defaults. ++ ++@end table ++ ++@c man end ++@end ifset ++ ++@ifset M68HC11 ++@subsection Options specific to Motorola 68HC11 and 68HC12 targets ++ ++@c man begin OPTIONS ++ ++The 68HC11 and 68HC12 linkers support specific options to control the ++memory bank switching mapping and trampoline code generation. ++ ++@table @gcctabopt ++ ++@kindex --no-trampoline ++@item --no-trampoline ++This option disables the generation of trampoline. By default a trampoline ++is generated for each far function which is called using a @code{jsr} ++instruction (this happens when a pointer to a far function is taken). ++ ++@kindex --bank-window ++@item --bank-window @var{name} ++This option indicates to the linker the name of the memory region in ++the @samp{MEMORY} specification that describes the memory bank window. ++The definition of such region is then used by the linker to compute ++paging and addresses within the memory window. ++ ++@end table ++ ++@c man end ++@end ifset ++ ++@ifset M68K ++@subsection Options specific to Motorola 68K target ++ ++@c man begin OPTIONS ++ ++The following options are supported to control handling of GOT generation ++when linking for 68K targets. ++ ++@table @gcctabopt ++ ++@kindex --got ++@item --got=@var{type} ++This option tells the linker which GOT generation scheme to use. ++@var{type} should be one of @samp{single}, @samp{negative}, ++@samp{multigot} or @samp{target}. For more information refer to the ++Info entry for @file{ld}. ++ ++@end table ++ ++@c man end ++@end ifset ++ ++@ifset MIPS ++@subsection Options specific to MIPS targets ++ ++@c man begin OPTIONS ++ ++The following options are supported to control microMIPS instruction ++generation and branch relocation checks for ISA mode transitions when ++linking for MIPS targets. ++ ++@table @gcctabopt ++ ++@kindex --insn32 ++@item --insn32 ++@kindex --no-insn32 ++@itemx --no-insn32 ++These options control the choice of microMIPS instructions used in code ++generated by the linker, such as that in the PLT or lazy binding stubs, ++or in relaxation. If @samp{--insn32} is used, then the linker only uses ++32-bit instruction encodings. By default or if @samp{--no-insn32} is ++used, all instruction encodings are used, including 16-bit ones where ++possible. ++ ++@kindex --ignore-branch-isa ++@item --ignore-branch-isa ++@kindex --no-ignore-branch-isa ++@itemx --no-ignore-branch-isa ++These options control branch relocation checks for invalid ISA mode ++transitions. If @samp{--ignore-branch-isa} is used, then the linker ++accepts any branch relocations and any ISA mode transition required ++is lost in relocation calculation, except for some cases of @code{BAL} ++instructions which meet relaxation conditions and are converted to ++equivalent @code{JALX} instructions as the associated relocation is ++calculated. By default or if @samp{--no-ignore-branch-isa} is used ++a check is made causing the loss of an ISA mode transition to produce ++an error. ++ ++@kindex --compact-branches ++@item --compact-branches ++@kindex --no-compact-branches ++@itemx --no-compact-branches ++These options control the generation of compact instructions by the linker ++in the PLT entries for MIPS R6. ++ ++@end table ++ ++@c man end ++@end ifset ++ ++ ++@ifset PDP11 ++@subsection Options specific to PDP11 targets ++ ++@c man begin OPTIONS ++ ++For the pdp11-aout target, three variants of the output format can be ++produced as selected by the following options. The default variant ++for pdp11-aout is the @samp{--omagic} option, whereas for other ++targets @samp{--nmagic} is the default. The @samp{--imagic} option is ++defined only for the pdp11-aout target, while the others are described ++here as they apply to the pdp11-aout target. ++ ++@table @gcctabopt ++ ++@kindex -N ++@item -N ++@kindex --omagic ++@itemx --omagic ++ ++Mark the output as @code{OMAGIC} (0407) in the @file{a.out} header to ++indicate that the text segment is not to be write-protected and ++shared. Since the text and data sections are both readable and ++writable, the data section is allocated immediately contiguous after ++the text segment. This is the oldest format for PDP11 executable ++programs and is the default for @command{ld} on PDP11 Unix systems ++from the beginning through 2.11BSD. ++ ++@kindex -n ++@item -n ++@kindex --nmagic ++@itemx --nmagic ++ ++Mark the output as @code{NMAGIC} (0410) in the @file{a.out} header to ++indicate that when the output file is executed, the text portion will ++be read-only and shareable among all processes executing the same ++file. This involves moving the data areas up to the first possible 8K ++byte page boundary following the end of the text. This option creates ++a @emph{pure executable} format. ++ ++@kindex -z ++@item -z ++@kindex --imagic ++@itemx --imagic ++ ++Mark the output as @code{IMAGIC} (0411) in the @file{a.out} header to ++indicate that when the output file is executed, the program text and ++data areas will be loaded into separate address spaces using the split ++instruction and data space feature of the memory management unit in ++larger models of the PDP11. This doubles the address space available ++to the program. The text segment is again pure, write-protected, and ++shareable. The only difference in the output format between this ++option and the others, besides the magic number, is that both the text ++and data sections start at location 0. The @samp{-z} option selected ++this format in 2.11BSD. This option creates a @emph{separate ++executable} format. ++ ++@kindex --no-omagic ++@item --no-omagic ++ ++Equivalent to @samp{--nmagic} for pdp11-aout. ++ ++@end table ++ ++@c man end ++@end ifset ++ ++@ifset UsesEnvVars ++@node Environment ++@section Environment Variables ++ ++@c man begin ENVIRONMENT ++ ++You can change the behaviour of @command{ld} with the environment variables ++@ifclear SingleFormat ++@code{GNUTARGET}, ++@end ifclear ++@code{LDEMULATION} and @code{COLLECT_NO_DEMANGLE}. ++ ++@ifclear SingleFormat ++@kindex GNUTARGET ++@cindex default input format ++@code{GNUTARGET} determines the input-file object format if you don't ++use @samp{-b} (or its synonym @samp{--format}). Its value should be one ++of the BFD names for an input format (@pxref{BFD}). If there is no ++@code{GNUTARGET} in the environment, @command{ld} uses the natural format ++of the target. If @code{GNUTARGET} is set to @code{default} then BFD ++attempts to discover the input format by examining binary input files; ++this method often succeeds, but there are potential ambiguities, since ++there is no method of ensuring that the magic number used to specify ++object-file formats is unique. However, the configuration procedure for ++BFD on each system places the conventional format for that system first ++in the search-list, so ambiguities are resolved in favor of convention. ++@end ifclear ++ ++@kindex LDEMULATION ++@cindex default emulation ++@cindex emulation, default ++@code{LDEMULATION} determines the default emulation if you don't use the ++@samp{-m} option. The emulation can affect various aspects of linker ++behaviour, particularly the default linker script. You can list the ++available emulations with the @samp{--verbose} or @samp{-V} options. If ++the @samp{-m} option is not used, and the @code{LDEMULATION} environment ++variable is not defined, the default emulation depends upon how the ++linker was configured. ++ ++@kindex COLLECT_NO_DEMANGLE ++@cindex demangling, default ++Normally, the linker will default to demangling symbols. However, if ++@code{COLLECT_NO_DEMANGLE} is set in the environment, then it will ++default to not demangling symbols. This environment variable is used in ++a similar fashion by the @code{gcc} linker wrapper program. The default ++may be overridden by the @samp{--demangle} and @samp{--no-demangle} ++options. ++ ++@c man end ++@end ifset ++ ++@node Scripts ++@chapter Linker Scripts ++ ++@cindex scripts ++@cindex linker scripts ++@cindex command files ++Every link is controlled by a @dfn{linker script}. This script is ++written in the linker command language. ++ ++The main purpose of the linker script is to describe how the sections in ++the input files should be mapped into the output file, and to control ++the memory layout of the output file. Most linker scripts do nothing ++more than this. However, when necessary, the linker script can also ++direct the linker to perform many other operations, using the commands ++described below. ++ ++The linker always uses a linker script. If you do not supply one ++yourself, the linker will use a default script that is compiled into the ++linker executable. You can use the @samp{--verbose} command-line option ++to display the default linker script. Certain command-line options, ++such as @samp{-r} or @samp{-N}, will affect the default linker script. ++ ++You may supply your own linker script by using the @samp{-T} command ++line option. When you do this, your linker script will replace the ++default linker script. ++ ++You may also use linker scripts implicitly by naming them as input files ++to the linker, as though they were files to be linked. @xref{Implicit ++Linker Scripts}. ++ ++@menu ++* Basic Script Concepts:: Basic Linker Script Concepts ++* Script Format:: Linker Script Format ++* Simple Example:: Simple Linker Script Example ++* Simple Commands:: Simple Linker Script Commands ++* Assignments:: Assigning Values to Symbols ++* SECTIONS:: SECTIONS Command ++* MEMORY:: MEMORY Command ++* PHDRS:: PHDRS Command ++* VERSION:: VERSION Command ++* Expressions:: Expressions in Linker Scripts ++* Implicit Linker Scripts:: Implicit Linker Scripts ++@end menu ++ ++@node Basic Script Concepts ++@section Basic Linker Script Concepts ++@cindex linker script concepts ++We need to define some basic concepts and vocabulary in order to ++describe the linker script language. ++ ++The linker combines input files into a single output file. The output ++file and each input file are in a special data format known as an ++@dfn{object file format}. Each file is called an @dfn{object file}. ++The output file is often called an @dfn{executable}, but for our ++purposes we will also call it an object file. Each object file has, ++among other things, a list of @dfn{sections}. We sometimes refer to a ++section in an input file as an @dfn{input section}; similarly, a section ++in the output file is an @dfn{output section}. ++ ++Each section in an object file has a name and a size. Most sections ++also have an associated block of data, known as the @dfn{section ++contents}. A section may be marked as @dfn{loadable}, which means that ++the contents should be loaded into memory when the output file is run. ++A section with no contents may be @dfn{allocatable}, which means that an ++area in memory should be set aside, but nothing in particular should be ++loaded there (in some cases this memory must be zeroed out). A section ++which is neither loadable nor allocatable typically contains some sort ++of debugging information. ++ ++Every loadable or allocatable output section has two addresses. The ++first is the @dfn{VMA}, or virtual memory address. This is the address ++the section will have when the output file is run. The second is the ++@dfn{LMA}, or load memory address. This is the address at which the ++section will be loaded. In most cases the two addresses will be the ++same. An example of when they might be different is when a data section ++is loaded into ROM, and then copied into RAM when the program starts up ++(this technique is often used to initialize global variables in a ROM ++based system). In this case the ROM address would be the LMA, and the ++RAM address would be the VMA. ++ ++You can see the sections in an object file by using the @code{objdump} ++program with the @samp{-h} option. ++ ++Every object file also has a list of @dfn{symbols}, known as the ++@dfn{symbol table}. A symbol may be defined or undefined. Each symbol ++has a name, and each defined symbol has an address, among other ++information. If you compile a C or C++ program into an object file, you ++will get a defined symbol for every defined function and global or ++static variable. Every undefined function or global variable which is ++referenced in the input file will become an undefined symbol. ++ ++You can see the symbols in an object file by using the @code{nm} ++program, or by using the @code{objdump} program with the @samp{-t} ++option. ++ ++@node Script Format ++@section Linker Script Format ++@cindex linker script format ++Linker scripts are text files. ++ ++You write a linker script as a series of commands. Each command is ++either a keyword, possibly followed by arguments, or an assignment to a ++symbol. You may separate commands using semicolons. Whitespace is ++generally ignored. ++ ++Strings such as file or format names can normally be entered directly. ++If the file name contains a character such as a comma which would ++otherwise serve to separate file names, you may put the file name in ++double quotes. There is no way to use a double quote character in a ++file name. ++ ++You may include comments in linker scripts just as in C, delimited by ++@samp{/*} and @samp{*/}. As in C, comments are syntactically equivalent ++to whitespace. ++ ++@node Simple Example ++@section Simple Linker Script Example ++@cindex linker script example ++@cindex example of linker script ++Many linker scripts are fairly simple. ++ ++The simplest possible linker script has just one command: ++@samp{SECTIONS}. You use the @samp{SECTIONS} command to describe the ++memory layout of the output file. ++ ++The @samp{SECTIONS} command is a powerful command. Here we will ++describe a simple use of it. Let's assume your program consists only of ++code, initialized data, and uninitialized data. These will be in the ++@samp{.text}, @samp{.data}, and @samp{.bss} sections, respectively. ++Let's assume further that these are the only sections which appear in ++your input files. ++ ++For this example, let's say that the code should be loaded at address ++0x10000, and that the data should start at address 0x8000000. Here is a ++linker script which will do that: ++@smallexample ++SECTIONS ++@{ ++ . = 0x10000; ++ .text : @{ *(.text) @} ++ . = 0x8000000; ++ .data : @{ *(.data) @} ++ .bss : @{ *(.bss) @} ++@} ++@end smallexample ++ ++You write the @samp{SECTIONS} command as the keyword @samp{SECTIONS}, ++followed by a series of symbol assignments and output section ++descriptions enclosed in curly braces. ++ ++The first line inside the @samp{SECTIONS} command of the above example ++sets the value of the special symbol @samp{.}, which is the location ++counter. If you do not specify the address of an output section in some ++other way (other ways are described later), the address is set from the ++current value of the location counter. The location counter is then ++incremented by the size of the output section. At the start of the ++@samp{SECTIONS} command, the location counter has the value @samp{0}. ++ ++The second line defines an output section, @samp{.text}. The colon is ++required syntax which may be ignored for now. Within the curly braces ++after the output section name, you list the names of the input sections ++which should be placed into this output section. The @samp{*} is a ++wildcard which matches any file name. The expression @samp{*(.text)} ++means all @samp{.text} input sections in all input files. ++ ++Since the location counter is @samp{0x10000} when the output section ++@samp{.text} is defined, the linker will set the address of the ++@samp{.text} section in the output file to be @samp{0x10000}. ++ ++The remaining lines define the @samp{.data} and @samp{.bss} sections in ++the output file. The linker will place the @samp{.data} output section ++at address @samp{0x8000000}. After the linker places the @samp{.data} ++output section, the value of the location counter will be ++@samp{0x8000000} plus the size of the @samp{.data} output section. The ++effect is that the linker will place the @samp{.bss} output section ++immediately after the @samp{.data} output section in memory. ++ ++The linker will ensure that each output section has the required ++alignment, by increasing the location counter if necessary. In this ++example, the specified addresses for the @samp{.text} and @samp{.data} ++sections will probably satisfy any alignment constraints, but the linker ++may have to create a small gap between the @samp{.data} and @samp{.bss} ++sections. ++ ++That's it! That's a simple and complete linker script. ++ ++@node Simple Commands ++@section Simple Linker Script Commands ++@cindex linker script simple commands ++In this section we describe the simple linker script commands. ++ ++@menu ++* Entry Point:: Setting the entry point ++* File Commands:: Commands dealing with files ++@ifclear SingleFormat ++* Format Commands:: Commands dealing with object file formats ++@end ifclear ++ ++* REGION_ALIAS:: Assign alias names to memory regions ++* Miscellaneous Commands:: Other linker script commands ++@end menu ++ ++@node Entry Point ++@subsection Setting the Entry Point ++@kindex ENTRY(@var{symbol}) ++@cindex start of execution ++@cindex first instruction ++@cindex entry point ++The first instruction to execute in a program is called the @dfn{entry ++point}. You can use the @code{ENTRY} linker script command to set the ++entry point. The argument is a symbol name: ++@smallexample ++ENTRY(@var{symbol}) ++@end smallexample ++ ++There are several ways to set the entry point. The linker will set the ++entry point by trying each of the following methods in order, and ++stopping when one of them succeeds: ++@itemize @bullet ++@item ++the @samp{-e} @var{entry} command-line option; ++@item ++the @code{ENTRY(@var{symbol})} command in a linker script; ++@item ++the value of a target-specific symbol, if it is defined; For many ++targets this is @code{start}, but PE- and BeOS-based systems for example ++check a list of possible entry symbols, matching the first one found. ++@item ++the address of the first byte of the code section, if present and an ++executable is being created - the code section is usually ++@samp{.text}, but can be something else; ++@item ++The address @code{0}. ++@end itemize ++ ++@node File Commands ++@subsection Commands Dealing with Files ++@cindex linker script file commands ++Several linker script commands deal with files. ++ ++@table @code ++@item INCLUDE @var{filename} ++@kindex INCLUDE @var{filename} ++@cindex including a linker script ++Include the linker script @var{filename} at this point. The file will ++be searched for in the current directory, and in any directory specified ++with the @option{-L} option. You can nest calls to @code{INCLUDE} up to ++10 levels deep. ++ ++You can place @code{INCLUDE} directives at the top level, in @code{MEMORY} or ++@code{SECTIONS} commands, or in output section descriptions. ++ ++@item INPUT(@var{file}, @var{file}, @dots{}) ++@itemx INPUT(@var{file} @var{file} @dots{}) ++@kindex INPUT(@var{files}) ++@cindex input files in linker scripts ++@cindex input object files in linker scripts ++@cindex linker script input object files ++The @code{INPUT} command directs the linker to include the named files ++in the link, as though they were named on the command line. ++ ++For example, if you always want to include @file{subr.o} any time you do ++a link, but you can't be bothered to put it on every link command line, ++then you can put @samp{INPUT (subr.o)} in your linker script. ++ ++In fact, if you like, you can list all of your input files in the linker ++script, and then invoke the linker with nothing but a @samp{-T} option. ++ ++In case a @dfn{sysroot prefix} is configured, and the filename starts ++with the @samp{/} character, and the script being processed was ++located inside the @dfn{sysroot prefix}, the filename will be looked ++for in the @dfn{sysroot prefix}. The @dfn{sysroot prefix} can also be forced by specifying ++@code{=} as the first character in the filename path, or prefixing the ++filename path with @code{$SYSROOT}. See also the description of ++@samp{-L} in @ref{Options,,Command-line Options}. ++ ++If a @dfn{sysroot prefix} is not used then the linker will try to open ++the file in the directory containing the linker script. If it is not ++found the linker will then search the current directory. If it is still ++not found the linker will search through the archive library search ++path. ++ ++If you use @samp{INPUT (-l@var{file})}, @command{ld} will transform the ++name to @code{lib@var{file}.a}, as with the command-line argument ++@samp{-l}. ++ ++When you use the @code{INPUT} command in an implicit linker script, the ++files will be included in the link at the point at which the linker ++script file is included. This can affect archive searching. ++ ++@item GROUP(@var{file}, @var{file}, @dots{}) ++@itemx GROUP(@var{file} @var{file} @dots{}) ++@kindex GROUP(@var{files}) ++@cindex grouping input files ++The @code{GROUP} command is like @code{INPUT}, except that the named ++files should all be archives, and they are searched repeatedly until no ++new undefined references are created. See the description of @samp{-(} ++in @ref{Options,,Command-line Options}. ++ ++@item AS_NEEDED(@var{file}, @var{file}, @dots{}) ++@itemx AS_NEEDED(@var{file} @var{file} @dots{}) ++@kindex AS_NEEDED(@var{files}) ++This construct can appear only inside of the @code{INPUT} or @code{GROUP} ++commands, among other filenames. The files listed will be handled ++as if they appear directly in the @code{INPUT} or @code{GROUP} commands, ++with the exception of ELF shared libraries, that will be added only ++when they are actually needed. This construct essentially enables ++@option{--as-needed} option for all the files listed inside of it ++and restores previous @option{--as-needed} resp. @option{--no-as-needed} ++setting afterwards. ++ ++@item OUTPUT(@var{filename}) ++@kindex OUTPUT(@var{filename}) ++@cindex output file name in linker script ++The @code{OUTPUT} command names the output file. Using ++@code{OUTPUT(@var{filename})} in the linker script is exactly like using ++@samp{-o @var{filename}} on the command line (@pxref{Options,,Command ++Line Options}). If both are used, the command-line option takes ++precedence. ++ ++You can use the @code{OUTPUT} command to define a default name for the ++output file other than the usual default of @file{a.out}. ++ ++@item SEARCH_DIR(@var{path}) ++@kindex SEARCH_DIR(@var{path}) ++@cindex library search path in linker script ++@cindex archive search path in linker script ++@cindex search path in linker script ++The @code{SEARCH_DIR} command adds @var{path} to the list of paths where ++@command{ld} looks for archive libraries. Using ++@code{SEARCH_DIR(@var{path})} is exactly like using @samp{-L @var{path}} ++on the command line (@pxref{Options,,Command-line Options}). If both ++are used, then the linker will search both paths. Paths specified using ++the command-line option are searched first. ++ ++@item STARTUP(@var{filename}) ++@kindex STARTUP(@var{filename}) ++@cindex first input file ++The @code{STARTUP} command is just like the @code{INPUT} command, except ++that @var{filename} will become the first input file to be linked, as ++though it were specified first on the command line. This may be useful ++when using a system in which the entry point is always the start of the ++first file. ++@end table ++ ++@ifclear SingleFormat ++@node Format Commands ++@subsection Commands Dealing with Object File Formats ++A couple of linker script commands deal with object file formats. ++ ++@table @code ++@item OUTPUT_FORMAT(@var{bfdname}) ++@itemx OUTPUT_FORMAT(@var{default}, @var{big}, @var{little}) ++@kindex OUTPUT_FORMAT(@var{bfdname}) ++@cindex output file format in linker script ++The @code{OUTPUT_FORMAT} command names the BFD format to use for the ++output file (@pxref{BFD}). Using @code{OUTPUT_FORMAT(@var{bfdname})} is ++exactly like using @samp{--oformat @var{bfdname}} on the command line ++(@pxref{Options,,Command-line Options}). If both are used, the command ++line option takes precedence. ++ ++You can use @code{OUTPUT_FORMAT} with three arguments to use different ++formats based on the @samp{-EB} and @samp{-EL} command-line options. ++This permits the linker script to set the output format based on the ++desired endianness. ++ ++If neither @samp{-EB} nor @samp{-EL} are used, then the output format ++will be the first argument, @var{default}. If @samp{-EB} is used, the ++output format will be the second argument, @var{big}. If @samp{-EL} is ++used, the output format will be the third argument, @var{little}. ++ ++For example, the default linker script for the MIPS ELF target uses this ++command: ++@smallexample ++OUTPUT_FORMAT(elf32-bigmips, elf32-bigmips, elf32-littlemips) ++@end smallexample ++This says that the default format for the output file is ++@samp{elf32-bigmips}, but if the user uses the @samp{-EL} command-line ++option, the output file will be created in the @samp{elf32-littlemips} ++format. ++ ++@item TARGET(@var{bfdname}) ++@kindex TARGET(@var{bfdname}) ++@cindex input file format in linker script ++The @code{TARGET} command names the BFD format to use when reading input ++files. It affects subsequent @code{INPUT} and @code{GROUP} commands. ++This command is like using @samp{-b @var{bfdname}} on the command line ++(@pxref{Options,,Command-line Options}). If the @code{TARGET} command ++is used but @code{OUTPUT_FORMAT} is not, then the last @code{TARGET} ++command is also used to set the format for the output file. @xref{BFD}. ++@end table ++@end ifclear ++ ++@node REGION_ALIAS ++@subsection Assign alias names to memory regions ++@kindex REGION_ALIAS(@var{alias}, @var{region}) ++@cindex region alias ++@cindex region names ++ ++Alias names can be added to existing memory regions created with the ++@ref{MEMORY} command. Each name corresponds to at most one memory region. ++ ++@smallexample ++REGION_ALIAS(@var{alias}, @var{region}) ++@end smallexample ++ ++The @code{REGION_ALIAS} function creates an alias name @var{alias} for the ++memory region @var{region}. This allows a flexible mapping of output sections ++to memory regions. An example follows. ++ ++Suppose we have an application for embedded systems which come with various ++memory storage devices. All have a general purpose, volatile memory @code{RAM} ++that allows code execution or data storage. Some may have a read-only, ++non-volatile memory @code{ROM} that allows code execution and read-only data ++access. The last variant is a read-only, non-volatile memory @code{ROM2} with ++read-only data access and no code execution capability. We have four output ++sections: ++ ++@itemize @bullet ++@item ++@code{.text} program code; ++@item ++@code{.rodata} read-only data; ++@item ++@code{.data} read-write initialized data; ++@item ++@code{.bss} read-write zero initialized data. ++@end itemize ++ ++The goal is to provide a linker command file that contains a system independent ++part defining the output sections and a system dependent part mapping the ++output sections to the memory regions available on the system. Our embedded ++systems come with three different memory setups @code{A}, @code{B} and ++@code{C}: ++@multitable @columnfractions .25 .25 .25 .25 ++@item Section @tab Variant A @tab Variant B @tab Variant C ++@item .text @tab RAM @tab ROM @tab ROM ++@item .rodata @tab RAM @tab ROM @tab ROM2 ++@item .data @tab RAM @tab RAM/ROM @tab RAM/ROM2 ++@item .bss @tab RAM @tab RAM @tab RAM ++@end multitable ++The notation @code{RAM/ROM} or @code{RAM/ROM2} means that this section is ++loaded into region @code{ROM} or @code{ROM2} respectively. Please note that ++the load address of the @code{.data} section starts in all three variants at ++the end of the @code{.rodata} section. ++ ++The base linker script that deals with the output sections follows. It ++includes the system dependent @code{linkcmds.memory} file that describes the ++memory layout: ++@smallexample ++INCLUDE linkcmds.memory ++ ++SECTIONS ++ @{ ++ .text : ++ @{ ++ *(.text) ++ @} > REGION_TEXT ++ .rodata : ++ @{ ++ *(.rodata) ++ rodata_end = .; ++ @} > REGION_RODATA ++ .data : AT (rodata_end) ++ @{ ++ data_start = .; ++ *(.data) ++ @} > REGION_DATA ++ data_size = SIZEOF(.data); ++ data_load_start = LOADADDR(.data); ++ .bss : ++ @{ ++ *(.bss) ++ @} > REGION_BSS ++ @} ++@end smallexample ++ ++Now we need three different @code{linkcmds.memory} files to define memory ++regions and alias names. The content of @code{linkcmds.memory} for the three ++variants @code{A}, @code{B} and @code{C}: ++@table @code ++@item A ++Here everything goes into the @code{RAM}. ++@smallexample ++MEMORY ++ @{ ++ RAM : ORIGIN = 0, LENGTH = 4M ++ @} ++ ++REGION_ALIAS("REGION_TEXT", RAM); ++REGION_ALIAS("REGION_RODATA", RAM); ++REGION_ALIAS("REGION_DATA", RAM); ++REGION_ALIAS("REGION_BSS", RAM); ++@end smallexample ++@item B ++Program code and read-only data go into the @code{ROM}. Read-write data goes ++into the @code{RAM}. An image of the initialized data is loaded into the ++@code{ROM} and will be copied during system start into the @code{RAM}. ++@smallexample ++MEMORY ++ @{ ++ ROM : ORIGIN = 0, LENGTH = 3M ++ RAM : ORIGIN = 0x10000000, LENGTH = 1M ++ @} ++ ++REGION_ALIAS("REGION_TEXT", ROM); ++REGION_ALIAS("REGION_RODATA", ROM); ++REGION_ALIAS("REGION_DATA", RAM); ++REGION_ALIAS("REGION_BSS", RAM); ++@end smallexample ++@item C ++Program code goes into the @code{ROM}. Read-only data goes into the ++@code{ROM2}. Read-write data goes into the @code{RAM}. An image of the ++initialized data is loaded into the @code{ROM2} and will be copied during ++system start into the @code{RAM}. ++@smallexample ++MEMORY ++ @{ ++ ROM : ORIGIN = 0, LENGTH = 2M ++ ROM2 : ORIGIN = 0x10000000, LENGTH = 1M ++ RAM : ORIGIN = 0x20000000, LENGTH = 1M ++ @} ++ ++REGION_ALIAS("REGION_TEXT", ROM); ++REGION_ALIAS("REGION_RODATA", ROM2); ++REGION_ALIAS("REGION_DATA", RAM); ++REGION_ALIAS("REGION_BSS", RAM); ++@end smallexample ++@end table ++ ++It is possible to write a common system initialization routine to copy the ++@code{.data} section from @code{ROM} or @code{ROM2} into the @code{RAM} if ++necessary: ++@smallexample ++#include ++ ++extern char data_start []; ++extern char data_size []; ++extern char data_load_start []; ++ ++void copy_data(void) ++@{ ++ if (data_start != data_load_start) ++ @{ ++ memcpy(data_start, data_load_start, (size_t) data_size); ++ @} ++@} ++@end smallexample ++ ++@node Miscellaneous Commands ++@subsection Other Linker Script Commands ++There are a few other linker scripts commands. ++ ++@table @code ++@item ASSERT(@var{exp}, @var{message}) ++@kindex ASSERT ++@cindex assertion in linker script ++Ensure that @var{exp} is non-zero. If it is zero, then exit the linker ++with an error code, and print @var{message}. ++ ++Note that assertions are checked before the final stages of linking ++take place. This means that expressions involving symbols PROVIDEd ++inside section definitions will fail if the user has not set values ++for those symbols. The only exception to this rule is PROVIDEd ++symbols that just reference dot. Thus an assertion like this: ++ ++@smallexample ++ .stack : ++ @{ ++ PROVIDE (__stack = .); ++ PROVIDE (__stack_size = 0x100); ++ ASSERT ((__stack > (_end + __stack_size)), "Error: No room left for the stack"); ++ @} ++@end smallexample ++ ++will fail if @code{__stack_size} is not defined elsewhere. Symbols ++PROVIDEd outside of section definitions are evaluated earlier, so they ++can be used inside ASSERTions. Thus: ++ ++@smallexample ++ PROVIDE (__stack_size = 0x100); ++ .stack : ++ @{ ++ PROVIDE (__stack = .); ++ ASSERT ((__stack > (_end + __stack_size)), "Error: No room left for the stack"); ++ @} ++@end smallexample ++ ++will work. ++ ++@item EXTERN(@var{symbol} @var{symbol} @dots{}) ++@kindex EXTERN ++@cindex undefined symbol in linker script ++Force @var{symbol} to be entered in the output file as an undefined ++symbol. Doing this may, for example, trigger linking of additional ++modules from standard libraries. You may list several @var{symbol}s for ++each @code{EXTERN}, and you may use @code{EXTERN} multiple times. This ++command has the same effect as the @samp{-u} command-line option. ++ ++@item FORCE_COMMON_ALLOCATION ++@kindex FORCE_COMMON_ALLOCATION ++@cindex common allocation in linker script ++This command has the same effect as the @samp{-d} command-line option: ++to make @command{ld} assign space to common symbols even if a relocatable ++output file is specified (@samp{-r}). ++ ++@item INHIBIT_COMMON_ALLOCATION ++@kindex INHIBIT_COMMON_ALLOCATION ++@cindex common allocation in linker script ++This command has the same effect as the @samp{--no-define-common} ++command-line option: to make @code{ld} omit the assignment of addresses ++to common symbols even for a non-relocatable output file. ++ ++@item FORCE_GROUP_ALLOCATION ++@kindex FORCE_GROUP_ALLOCATION ++@cindex group allocation in linker script ++@cindex section groups ++@cindex COMDAT ++This command has the same effect as the ++@samp{--force-group-allocation} command-line option: to make ++@command{ld} place section group members like normal input sections, ++and to delete the section groups even if a relocatable output file is ++specified (@samp{-r}). ++ ++@item INSERT [ AFTER | BEFORE ] @var{output_section} ++@kindex INSERT ++@cindex insert user script into default script ++This command is typically used in a script specified by @samp{-T} to ++augment the default @code{SECTIONS} with, for example, overlays. It ++inserts all prior linker script statements after (or before) ++@var{output_section}, and also causes @samp{-T} to not override the ++default linker script. The exact insertion point is as for orphan ++sections. @xref{Location Counter}. The insertion happens after the ++linker has mapped input sections to output sections. Prior to the ++insertion, since @samp{-T} scripts are parsed before the default ++linker script, statements in the @samp{-T} script occur before the ++default linker script statements in the internal linker representation ++of the script. In particular, input section assignments will be made ++to @samp{-T} output sections before those in the default script. Here ++is an example of how a @samp{-T} script using @code{INSERT} might look: ++ ++@smallexample ++SECTIONS ++@{ ++ OVERLAY : ++ @{ ++ .ov1 @{ ov1*(.text) @} ++ .ov2 @{ ov2*(.text) @} ++ @} ++@} ++INSERT AFTER .text; ++@end smallexample ++ ++Note that when @samp{-T} is used twice, once to override the default ++script and once to augment that script using @code{INSERT} the order ++of parsing and section assignments apply as for the default script. ++The script with @code{INSERT} should be specified @emph{first} on the ++command line. ++ ++@item NOCROSSREFS(@var{section} @var{section} @dots{}) ++@kindex NOCROSSREFS(@var{sections}) ++@cindex cross references ++This command may be used to tell @command{ld} to issue an error about any ++references among certain output sections. ++ ++In certain types of programs, particularly on embedded systems when ++using overlays, when one section is loaded into memory, another section ++will not be. Any direct references between the two sections would be ++errors. For example, it would be an error if code in one section called ++a function defined in the other section. ++ ++The @code{NOCROSSREFS} command takes a list of output section names. If ++@command{ld} detects any cross references between the sections, it reports ++an error and returns a non-zero exit status. Note that the ++@code{NOCROSSREFS} command uses output section names, not input section ++names. ++ ++@item NOCROSSREFS_TO(@var{tosection} @var{fromsection} @dots{}) ++@kindex NOCROSSREFS_TO(@var{tosection} @var{fromsections}) ++@cindex cross references ++This command may be used to tell @command{ld} to issue an error about any ++references to one section from a list of other sections. ++ ++The @code{NOCROSSREFS} command is useful when ensuring that two or more ++output sections are entirely independent but there are situations where ++a one-way dependency is needed. For example, in a multi-core application ++there may be shared code that can be called from each core but for safety ++must never call back. ++ ++The @code{NOCROSSREFS_TO} command takes a list of output section names. ++The first section can not be referenced from any of the other sections. ++If @command{ld} detects any references to the first section from any of ++the other sections, it reports an error and returns a non-zero exit ++status. Note that the @code{NOCROSSREFS_TO} command uses output section ++names, not input section names. ++ ++@ifclear SingleFormat ++@item OUTPUT_ARCH(@var{bfdarch}) ++@kindex OUTPUT_ARCH(@var{bfdarch}) ++@cindex machine architecture ++@cindex architecture ++Specify a particular output machine architecture. The argument is one ++of the names used by the BFD library (@pxref{BFD}). You can see the ++architecture of an object file by using the @code{objdump} program with ++the @samp{-f} option. ++@end ifclear ++ ++@item LD_FEATURE(@var{string}) ++@kindex LD_FEATURE(@var{string}) ++This command may be used to modify @command{ld} behavior. If ++@var{string} is @code{"SANE_EXPR"} then absolute symbols and numbers ++in a script are simply treated as numbers everywhere. ++@xref{Expression Section}. ++@end table ++ ++@node Assignments ++@section Assigning Values to Symbols ++@cindex assignment in scripts ++@cindex symbol definition, scripts ++@cindex variables, defining ++You may assign a value to a symbol in a linker script. This will define ++the symbol and place it into the symbol table with a global scope. ++ ++@menu ++* Simple Assignments:: Simple Assignments ++* HIDDEN:: HIDDEN ++* PROVIDE:: PROVIDE ++* PROVIDE_HIDDEN:: PROVIDE_HIDDEN ++* Source Code Reference:: How to use a linker script defined symbol in source code ++@end menu ++ ++@node Simple Assignments ++@subsection Simple Assignments ++ ++You may assign to a symbol using any of the C assignment operators: ++ ++@table @code ++@item @var{symbol} = @var{expression} ; ++@itemx @var{symbol} += @var{expression} ; ++@itemx @var{symbol} -= @var{expression} ; ++@itemx @var{symbol} *= @var{expression} ; ++@itemx @var{symbol} /= @var{expression} ; ++@itemx @var{symbol} <<= @var{expression} ; ++@itemx @var{symbol} >>= @var{expression} ; ++@itemx @var{symbol} &= @var{expression} ; ++@itemx @var{symbol} |= @var{expression} ; ++@end table ++ ++The first case will define @var{symbol} to the value of ++@var{expression}. In the other cases, @var{symbol} must already be ++defined, and the value will be adjusted accordingly. ++ ++The special symbol name @samp{.} indicates the location counter. You ++may only use this within a @code{SECTIONS} command. @xref{Location Counter}. ++ ++The semicolon after @var{expression} is required. ++ ++Expressions are defined below; see @ref{Expressions}. ++ ++You may write symbol assignments as commands in their own right, or as ++statements within a @code{SECTIONS} command, or as part of an output ++section description in a @code{SECTIONS} command. ++ ++The section of the symbol will be set from the section of the ++expression; for more information, see @ref{Expression Section}. ++ ++Here is an example showing the three different places that symbol ++assignments may be used: ++ ++@smallexample ++floating_point = 0; ++SECTIONS ++@{ ++ .text : ++ @{ ++ *(.text) ++ _etext = .; ++ @} ++ _bdata = (. + 3) & ~ 3; ++ .data : @{ *(.data) @} ++@} ++@end smallexample ++@noindent ++In this example, the symbol @samp{floating_point} will be defined as ++zero. The symbol @samp{_etext} will be defined as the address following ++the last @samp{.text} input section. The symbol @samp{_bdata} will be ++defined as the address following the @samp{.text} output section aligned ++upward to a 4 byte boundary. ++ ++@node HIDDEN ++@subsection HIDDEN ++@cindex HIDDEN ++For ELF targeted ports, define a symbol that will be hidden and won't be ++exported. The syntax is @code{HIDDEN(@var{symbol} = @var{expression})}. ++ ++Here is the example from @ref{Simple Assignments}, rewritten to use ++@code{HIDDEN}: ++ ++@smallexample ++HIDDEN(floating_point = 0); ++SECTIONS ++@{ ++ .text : ++ @{ ++ *(.text) ++ HIDDEN(_etext = .); ++ @} ++ HIDDEN(_bdata = (. + 3) & ~ 3); ++ .data : @{ *(.data) @} ++@} ++@end smallexample ++@noindent ++In this case none of the three symbols will be visible outside this module. ++ ++@node PROVIDE ++@subsection PROVIDE ++@cindex PROVIDE ++In some cases, it is desirable for a linker script to define a symbol ++only if it is referenced and is not defined by any object included in ++the link. For example, traditional linkers defined the symbol ++@samp{etext}. However, ANSI C requires that the user be able to use ++@samp{etext} as a function name without encountering an error. The ++@code{PROVIDE} keyword may be used to define a symbol, such as ++@samp{etext}, only if it is referenced but not defined. The syntax is ++@code{PROVIDE(@var{symbol} = @var{expression})}. ++ ++Here is an example of using @code{PROVIDE} to define @samp{etext}: ++@smallexample ++SECTIONS ++@{ ++ .text : ++ @{ ++ *(.text) ++ _etext = .; ++ PROVIDE(etext = .); ++ @} ++@} ++@end smallexample ++ ++In this example, if the program defines @samp{_etext} (with a leading ++underscore), the linker will give a multiple definition diagnostic. If, ++on the other hand, the program defines @samp{etext} (with no leading ++underscore), the linker will silently use the definition in the program. ++If the program references @samp{etext} but does not define it, the ++linker will use the definition in the linker script. ++ ++Note - the @code{PROVIDE} directive considers a common symbol to be ++defined, even though such a symbol could be combined with the symbol ++that the @code{PROVIDE} would create. This is particularly important ++when considering constructor and destructor list symbols such as ++@samp{__CTOR_LIST__} as these are often defined as common symbols. ++ ++@node PROVIDE_HIDDEN ++@subsection PROVIDE_HIDDEN ++@cindex PROVIDE_HIDDEN ++Similar to @code{PROVIDE}. For ELF targeted ports, the symbol will be ++hidden and won't be exported. ++ ++@node Source Code Reference ++@subsection Source Code Reference ++ ++Accessing a linker script defined variable from source code is not ++intuitive. In particular a linker script symbol is not equivalent to ++a variable declaration in a high level language, it is instead a ++symbol that does not have a value. ++ ++Before going further, it is important to note that compilers often ++transform names in the source code into different names when they are ++stored in the symbol table. For example, Fortran compilers commonly ++prepend or append an underscore, and C++ performs extensive @samp{name ++mangling}. Therefore there might be a discrepancy between the name ++of a variable as it is used in source code and the name of the same ++variable as it is defined in a linker script. For example in C a ++linker script variable might be referred to as: ++ ++@smallexample ++ extern int foo; ++@end smallexample ++ ++But in the linker script it might be defined as: ++ ++@smallexample ++ _foo = 1000; ++@end smallexample ++ ++In the remaining examples however it is assumed that no name ++transformation has taken place. ++ ++When a symbol is declared in a high level language such as C, two ++things happen. The first is that the compiler reserves enough space ++in the program's memory to hold the @emph{value} of the symbol. The ++second is that the compiler creates an entry in the program's symbol ++table which holds the symbol's @emph{address}. ie the symbol table ++contains the address of the block of memory holding the symbol's ++value. So for example the following C declaration, at file scope: ++ ++@smallexample ++ int foo = 1000; ++@end smallexample ++ ++creates an entry called @samp{foo} in the symbol table. This entry ++holds the address of an @samp{int} sized block of memory where the ++number 1000 is initially stored. ++ ++When a program references a symbol the compiler generates code that ++first accesses the symbol table to find the address of the symbol's ++memory block and then code to read the value from that memory block. ++So: ++ ++@smallexample ++ foo = 1; ++@end smallexample ++ ++looks up the symbol @samp{foo} in the symbol table, gets the address ++associated with this symbol and then writes the value 1 into that ++address. Whereas: ++ ++@smallexample ++ int * a = & foo; ++@end smallexample ++ ++looks up the symbol @samp{foo} in the symbol table, gets its address ++and then copies this address into the block of memory associated with ++the variable @samp{a}. ++ ++Linker scripts symbol declarations, by contrast, create an entry in ++the symbol table but do not assign any memory to them. Thus they are ++an address without a value. So for example the linker script definition: ++ ++@smallexample ++ foo = 1000; ++@end smallexample ++ ++creates an entry in the symbol table called @samp{foo} which holds ++the address of memory location 1000, but nothing special is stored at ++address 1000. This means that you cannot access the @emph{value} of a ++linker script defined symbol - it has no value - all you can do is ++access the @emph{address} of a linker script defined symbol. ++ ++Hence when you are using a linker script defined symbol in source code ++you should always take the address of the symbol, and never attempt to ++use its value. For example suppose you want to copy the contents of a ++section of memory called .ROM into a section called .FLASH and the ++linker script contains these declarations: ++ ++@smallexample ++@group ++ start_of_ROM = .ROM; ++ end_of_ROM = .ROM + sizeof (.ROM); ++ start_of_FLASH = .FLASH; ++@end group ++@end smallexample ++ ++Then the C source code to perform the copy would be: ++ ++@smallexample ++@group ++ extern char start_of_ROM, end_of_ROM, start_of_FLASH; ++ ++ memcpy (& start_of_FLASH, & start_of_ROM, & end_of_ROM - & start_of_ROM); ++@end group ++@end smallexample ++ ++Note the use of the @samp{&} operators. These are correct. ++Alternatively the symbols can be treated as the names of vectors or ++arrays and then the code will again work as expected: ++ ++@smallexample ++@group ++ extern char start_of_ROM[], end_of_ROM[], start_of_FLASH[]; ++ ++ memcpy (start_of_FLASH, start_of_ROM, end_of_ROM - start_of_ROM); ++@end group ++@end smallexample ++ ++Note how using this method does not require the use of @samp{&} ++operators. ++ ++@node SECTIONS ++@section SECTIONS Command ++@kindex SECTIONS ++The @code{SECTIONS} command tells the linker how to map input sections ++into output sections, and how to place the output sections in memory. ++ ++The format of the @code{SECTIONS} command is: ++@smallexample ++SECTIONS ++@{ ++ @var{sections-command} ++ @var{sections-command} ++ @dots{} ++@} ++@end smallexample ++ ++Each @var{sections-command} may of be one of the following: ++ ++@itemize @bullet ++@item ++an @code{ENTRY} command (@pxref{Entry Point,,Entry command}) ++@item ++a symbol assignment (@pxref{Assignments}) ++@item ++an output section description ++@item ++an overlay description ++@end itemize ++ ++The @code{ENTRY} command and symbol assignments are permitted inside the ++@code{SECTIONS} command for convenience in using the location counter in ++those commands. This can also make the linker script easier to ++understand because you can use those commands at meaningful points in ++the layout of the output file. ++ ++Output section descriptions and overlay descriptions are described ++below. ++ ++If you do not use a @code{SECTIONS} command in your linker script, the ++linker will place each input section into an identically named output ++section in the order that the sections are first encountered in the ++input files. If all input sections are present in the first file, for ++example, the order of sections in the output file will match the order ++in the first input file. The first section will be at address zero. ++ ++@menu ++* Output Section Description:: Output section description ++* Output Section Name:: Output section name ++* Output Section Address:: Output section address ++* Input Section:: Input section description ++* Output Section Data:: Output section data ++* Output Section Keywords:: Output section keywords ++* Output Section Discarding:: Output section discarding ++* Output Section Attributes:: Output section attributes ++* Overlay Description:: Overlay description ++@end menu ++ ++@node Output Section Description ++@subsection Output Section Description ++The full description of an output section looks like this: ++@smallexample ++@group ++@var{section} [@var{address}] [(@var{type})] : ++ [AT(@var{lma})] ++ [ALIGN(@var{section_align}) | ALIGN_WITH_INPUT] ++ [SUBALIGN(@var{subsection_align})] ++ [@var{constraint}] ++ @{ ++ @var{output-section-command} ++ @var{output-section-command} ++ @dots{} ++ @} [>@var{region}] [AT>@var{lma_region}] [:@var{phdr} :@var{phdr} @dots{}] [=@var{fillexp}] [,] ++@end group ++@end smallexample ++ ++Most output sections do not use most of the optional section attributes. ++ ++The whitespace around @var{section} is required, so that the section ++name is unambiguous. The colon and the curly braces are also required. ++The comma at the end may be required if a @var{fillexp} is used and ++the next @var{sections-command} looks like a continuation of the expression. ++The line breaks and other white space are optional. ++ ++Each @var{output-section-command} may be one of the following: ++ ++@itemize @bullet ++@item ++a symbol assignment (@pxref{Assignments}) ++@item ++an input section description (@pxref{Input Section}) ++@item ++data values to include directly (@pxref{Output Section Data}) ++@item ++a special output section keyword (@pxref{Output Section Keywords}) ++@end itemize ++ ++@node Output Section Name ++@subsection Output Section Name ++@cindex name, section ++@cindex section name ++The name of the output section is @var{section}. @var{section} must ++meet the constraints of your output format. In formats which only ++support a limited number of sections, such as @code{a.out}, the name ++must be one of the names supported by the format (@code{a.out}, for ++example, allows only @samp{.text}, @samp{.data} or @samp{.bss}). If the ++output format supports any number of sections, but with numbers and not ++names (as is the case for Oasys), the name should be supplied as a ++quoted numeric string. A section name may consist of any sequence of ++characters, but a name which contains any unusual characters such as ++commas must be quoted. ++ ++The output section name @samp{/DISCARD/} is special; @ref{Output Section ++Discarding}. ++ ++@node Output Section Address ++@subsection Output Section Address ++@cindex address, section ++@cindex section address ++The @var{address} is an expression for the VMA (the virtual memory ++address) of the output section. This address is optional, but if it ++is provided then the output address will be set exactly as specified. ++ ++If the output address is not specified then one will be chosen for the ++section, based on the heuristic below. This address will be adjusted ++to fit the alignment requirement of the output section. The ++alignment requirement is the strictest alignment of any input section ++contained within the output section. ++ ++The output section address heuristic is as follows: ++ ++@itemize @bullet ++@item ++If an output memory @var{region} is set for the section then it ++is added to this region and its address will be the next free address ++in that region. ++ ++@item ++If the MEMORY command has been used to create a list of memory ++regions then the first region which has attributes compatible with the ++section is selected to contain it. The section's output address will ++be the next free address in that region; @ref{MEMORY}. ++ ++@item ++If no memory regions were specified, or none match the section then ++the output address will be based on the current value of the location ++counter. ++@end itemize ++ ++@noindent ++For example: ++ ++@smallexample ++.text . : @{ *(.text) @} ++@end smallexample ++ ++@noindent ++and ++ ++@smallexample ++.text : @{ *(.text) @} ++@end smallexample ++ ++@noindent ++are subtly different. The first will set the address of the ++@samp{.text} output section to the current value of the location ++counter. The second will set it to the current value of the location ++counter aligned to the strictest alignment of any of the @samp{.text} ++input sections. ++ ++The @var{address} may be an arbitrary expression; @ref{Expressions}. ++For example, if you want to align the section on a 0x10 byte boundary, ++so that the lowest four bits of the section address are zero, you could ++do something like this: ++@smallexample ++.text ALIGN(0x10) : @{ *(.text) @} ++@end smallexample ++@noindent ++This works because @code{ALIGN} returns the current location counter ++aligned upward to the specified value. ++ ++Specifying @var{address} for a section will change the value of the ++location counter, provided that the section is non-empty. (Empty ++sections are ignored). ++ ++@node Input Section ++@subsection Input Section Description ++@cindex input sections ++@cindex mapping input sections to output sections ++The most common output section command is an input section description. ++ ++The input section description is the most basic linker script operation. ++You use output sections to tell the linker how to lay out your program ++in memory. You use input section descriptions to tell the linker how to ++map the input files into your memory layout. ++ ++@menu ++* Input Section Basics:: Input section basics ++* Input Section Wildcards:: Input section wildcard patterns ++* Input Section Common:: Input section for common symbols ++* Input Section Keep:: Input section and garbage collection ++* Input Section Example:: Input section example ++@end menu ++ ++@node Input Section Basics ++@subsubsection Input Section Basics ++@cindex input section basics ++An input section description consists of a file name optionally followed ++by a list of section names in parentheses. ++ ++The file name and the section name may be wildcard patterns, which we ++describe further below (@pxref{Input Section Wildcards}). ++ ++The most common input section description is to include all input ++sections with a particular name in the output section. For example, to ++include all input @samp{.text} sections, you would write: ++@smallexample ++*(.text) ++@end smallexample ++@noindent ++Here the @samp{*} is a wildcard which matches any file name. To exclude a list ++@cindex EXCLUDE_FILE ++of files from matching the file name wildcard, EXCLUDE_FILE may be used to ++match all files except the ones specified in the EXCLUDE_FILE list. For ++example: ++@smallexample ++EXCLUDE_FILE (*crtend.o *otherfile.o) *(.ctors) ++@end smallexample ++@noindent ++will cause all .ctors sections from all files except @file{crtend.o} ++and @file{otherfile.o} to be included. The EXCLUDE_FILE can also be ++placed inside the section list, for example: ++@smallexample ++*(EXCLUDE_FILE (*crtend.o *otherfile.o) .ctors) ++@end smallexample ++@noindent ++The result of this is identically to the previous example. Supporting ++two syntaxes for EXCLUDE_FILE is useful if the section list contains ++more than one section, as described below. ++ ++There are two ways to include more than one section: ++@smallexample ++*(.text .rdata) ++*(.text) *(.rdata) ++@end smallexample ++@noindent ++The difference between these is the order in which the @samp{.text} and ++@samp{.rdata} input sections will appear in the output section. In the ++first example, they will be intermingled, appearing in the same order as ++they are found in the linker input. In the second example, all ++@samp{.text} input sections will appear first, followed by all ++@samp{.rdata} input sections. ++ ++When using EXCLUDE_FILE with more than one section, if the exclusion ++is within the section list then the exclusion only applies to the ++immediately following section, for example: ++@smallexample ++*(EXCLUDE_FILE (*somefile.o) .text .rdata) ++@end smallexample ++@noindent ++will cause all @samp{.text} sections from all files except ++@file{somefile.o} to be included, while all @samp{.rdata} sections ++from all files, including @file{somefile.o}, will be included. To ++exclude the @samp{.rdata} sections from @file{somefile.o} the example ++could be modified to: ++@smallexample ++*(EXCLUDE_FILE (*somefile.o) .text EXCLUDE_FILE (*somefile.o) .rdata) ++@end smallexample ++@noindent ++Alternatively, placing the EXCLUDE_FILE outside of the section list, ++before the input file selection, will cause the exclusion to apply for ++all sections. Thus the previous example can be rewritten as: ++@smallexample ++EXCLUDE_FILE (*somefile.o) *(.text .rdata) ++@end smallexample ++ ++You can specify a file name to include sections from a particular file. ++You would do this if one or more of your files contain special data that ++needs to be at a particular location in memory. For example: ++@smallexample ++data.o(.data) ++@end smallexample ++ ++To refine the sections that are included based on the section flags ++of an input section, INPUT_SECTION_FLAGS may be used. ++ ++Here is a simple example for using Section header flags for ELF sections: ++ ++@smallexample ++@group ++SECTIONS @{ ++ .text : @{ INPUT_SECTION_FLAGS (SHF_MERGE & SHF_STRINGS) *(.text) @} ++ .text2 : @{ INPUT_SECTION_FLAGS (!SHF_WRITE) *(.text) @} ++@} ++@end group ++@end smallexample ++ ++In this example, the output section @samp{.text} will be comprised of any ++input section matching the name *(.text) whose section header flags ++@code{SHF_MERGE} and @code{SHF_STRINGS} are set. The output section ++@samp{.text2} will be comprised of any input section matching the name *(.text) ++whose section header flag @code{SHF_WRITE} is clear. ++ ++You can also specify files within archives by writing a pattern ++matching the archive, a colon, then the pattern matching the file, ++with no whitespace around the colon. ++ ++@table @samp ++@item archive:file ++matches file within archive ++@item archive: ++matches the whole archive ++@item :file ++matches file but not one in an archive ++@end table ++ ++Either one or both of @samp{archive} and @samp{file} can contain shell ++wildcards. On DOS based file systems, the linker will assume that a ++single letter followed by a colon is a drive specifier, so ++@samp{c:myfile.o} is a simple file specification, not @samp{myfile.o} ++within an archive called @samp{c}. @samp{archive:file} filespecs may ++also be used within an @code{EXCLUDE_FILE} list, but may not appear in ++other linker script contexts. For instance, you cannot extract a file ++from an archive by using @samp{archive:file} in an @code{INPUT} ++command. ++ ++If you use a file name without a list of sections, then all sections in ++the input file will be included in the output section. This is not ++commonly done, but it may by useful on occasion. For example: ++@smallexample ++data.o ++@end smallexample ++ ++When you use a file name which is not an @samp{archive:file} specifier ++and does not contain any wild card ++characters, the linker will first see if you also specified the file ++name on the linker command line or in an @code{INPUT} command. If you ++did not, the linker will attempt to open the file as an input file, as ++though it appeared on the command line. Note that this differs from an ++@code{INPUT} command, because the linker will not search for the file in ++the archive search path. ++ ++@node Input Section Wildcards ++@subsubsection Input Section Wildcard Patterns ++@cindex input section wildcards ++@cindex wildcard file name patterns ++@cindex file name wildcard patterns ++@cindex section name wildcard patterns ++In an input section description, either the file name or the section ++name or both may be wildcard patterns. ++ ++The file name of @samp{*} seen in many examples is a simple wildcard ++pattern for the file name. ++ ++The wildcard patterns are like those used by the Unix shell. ++ ++@table @samp ++@item * ++matches any number of characters ++@item ? ++matches any single character ++@item [@var{chars}] ++matches a single instance of any of the @var{chars}; the @samp{-} ++character may be used to specify a range of characters, as in ++@samp{[a-z]} to match any lower case letter ++@item \ ++quotes the following character ++@end table ++ ++File name wildcard patterns only match files which are explicitly ++specified on the command line or in an @code{INPUT} command. The linker ++does not search directories to expand wildcards. ++ ++If a file name matches more than one wildcard pattern, or if a file name ++appears explicitly and is also matched by a wildcard pattern, the linker ++will use the first match in the linker script. For example, this ++sequence of input section descriptions is probably in error, because the ++@file{data.o} rule will not be used: ++@smallexample ++.data : @{ *(.data) @} ++.data1 : @{ data.o(.data) @} ++@end smallexample ++ ++@cindex SORT_BY_NAME ++Normally, the linker will place files and sections matched by wildcards ++in the order in which they are seen during the link. You can change ++this by using the @code{SORT_BY_NAME} keyword, which appears before a wildcard ++pattern in parentheses (e.g., @code{SORT_BY_NAME(.text*)}). When the ++@code{SORT_BY_NAME} keyword is used, the linker will sort the files or sections ++into ascending order by name before placing them in the output file. ++ ++@cindex SORT_BY_ALIGNMENT ++@code{SORT_BY_ALIGNMENT} is similar to @code{SORT_BY_NAME}. ++@code{SORT_BY_ALIGNMENT} will sort sections into descending order of ++alignment before placing them in the output file. Placing larger ++alignments before smaller alignments can reduce the amount of padding ++needed. ++ ++@cindex SORT_BY_INIT_PRIORITY ++@code{SORT_BY_INIT_PRIORITY} is also similar to @code{SORT_BY_NAME}. ++@code{SORT_BY_INIT_PRIORITY} will sort sections into ascending ++numerical order of the GCC init_priority attribute encoded in the ++section name before placing them in the output file. In ++@code{.init_array.NNNNN} and @code{.fini_array.NNNNN}, @code{NNNNN} is ++the init_priority. In @code{.ctors.NNNNN} and @code{.dtors.NNNNN}, ++@code{NNNNN} is 65535 minus the init_priority. ++ ++@cindex SORT ++@code{SORT} is an alias for @code{SORT_BY_NAME}. ++ ++When there are nested section sorting commands in linker script, there ++can be at most 1 level of nesting for section sorting commands. ++ ++@enumerate ++@item ++@code{SORT_BY_NAME} (@code{SORT_BY_ALIGNMENT} (wildcard section pattern)). ++It will sort the input sections by name first, then by alignment if two ++sections have the same name. ++@item ++@code{SORT_BY_ALIGNMENT} (@code{SORT_BY_NAME} (wildcard section pattern)). ++It will sort the input sections by alignment first, then by name if two ++sections have the same alignment. ++@item ++@code{SORT_BY_NAME} (@code{SORT_BY_NAME} (wildcard section pattern)) is ++treated the same as @code{SORT_BY_NAME} (wildcard section pattern). ++@item ++@code{SORT_BY_ALIGNMENT} (@code{SORT_BY_ALIGNMENT} (wildcard section pattern)) ++is treated the same as @code{SORT_BY_ALIGNMENT} (wildcard section pattern). ++@item ++All other nested section sorting commands are invalid. ++@end enumerate ++ ++When both command-line section sorting option and linker script ++section sorting command are used, section sorting command always ++takes precedence over the command-line option. ++ ++If the section sorting command in linker script isn't nested, the ++command-line option will make the section sorting command to be ++treated as nested sorting command. ++ ++@enumerate ++@item ++@code{SORT_BY_NAME} (wildcard section pattern ) with ++@option{--sort-sections alignment} is equivalent to ++@code{SORT_BY_NAME} (@code{SORT_BY_ALIGNMENT} (wildcard section pattern)). ++@item ++@code{SORT_BY_ALIGNMENT} (wildcard section pattern) with ++@option{--sort-section name} is equivalent to ++@code{SORT_BY_ALIGNMENT} (@code{SORT_BY_NAME} (wildcard section pattern)). ++@end enumerate ++ ++If the section sorting command in linker script is nested, the ++command-line option will be ignored. ++ ++@cindex SORT_NONE ++@code{SORT_NONE} disables section sorting by ignoring the command-line ++section sorting option. ++ ++If you ever get confused about where input sections are going, use the ++@samp{-M} linker option to generate a map file. The map file shows ++precisely how input sections are mapped to output sections. ++ ++This example shows how wildcard patterns might be used to partition ++files. This linker script directs the linker to place all @samp{.text} ++sections in @samp{.text} and all @samp{.bss} sections in @samp{.bss}. ++The linker will place the @samp{.data} section from all files beginning ++with an upper case character in @samp{.DATA}; for all other files, the ++linker will place the @samp{.data} section in @samp{.data}. ++@smallexample ++@group ++SECTIONS @{ ++ .text : @{ *(.text) @} ++ .DATA : @{ [A-Z]*(.data) @} ++ .data : @{ *(.data) @} ++ .bss : @{ *(.bss) @} ++@} ++@end group ++@end smallexample ++ ++@node Input Section Common ++@subsubsection Input Section for Common Symbols ++@cindex common symbol placement ++@cindex uninitialized data placement ++A special notation is needed for common symbols, because in many object ++file formats common symbols do not have a particular input section. The ++linker treats common symbols as though they are in an input section ++named @samp{COMMON}. ++ ++You may use file names with the @samp{COMMON} section just as with any ++other input sections. You can use this to place common symbols from a ++particular input file in one section while common symbols from other ++input files are placed in another section. ++ ++In most cases, common symbols in input files will be placed in the ++@samp{.bss} section in the output file. For example: ++@smallexample ++.bss @{ *(.bss) *(COMMON) @} ++@end smallexample ++ ++@cindex scommon section ++@cindex small common symbols ++Some object file formats have more than one type of common symbol. For ++example, the MIPS ELF object file format distinguishes standard common ++symbols and small common symbols. In this case, the linker will use a ++different special section name for other types of common symbols. In ++the case of MIPS ELF, the linker uses @samp{COMMON} for standard common ++symbols and @samp{.scommon} for small common symbols. This permits you ++to map the different types of common symbols into memory at different ++locations. ++ ++@cindex [COMMON] ++You will sometimes see @samp{[COMMON]} in old linker scripts. This ++notation is now considered obsolete. It is equivalent to ++@samp{*(COMMON)}. ++ ++@node Input Section Keep ++@subsubsection Input Section and Garbage Collection ++@cindex KEEP ++@cindex garbage collection ++When link-time garbage collection is in use (@samp{--gc-sections}), ++it is often useful to mark sections that should not be eliminated. ++This is accomplished by surrounding an input section's wildcard entry ++with @code{KEEP()}, as in @code{KEEP(*(.init))} or ++@code{KEEP(SORT_BY_NAME(*)(.ctors))}. ++ ++@node Input Section Example ++@subsubsection Input Section Example ++The following example is a complete linker script. It tells the linker ++to read all of the sections from file @file{all.o} and place them at the ++start of output section @samp{outputa} which starts at location ++@samp{0x10000}. All of section @samp{.input1} from file @file{foo.o} ++follows immediately, in the same output section. All of section ++@samp{.input2} from @file{foo.o} goes into output section ++@samp{outputb}, followed by section @samp{.input1} from @file{foo1.o}. ++All of the remaining @samp{.input1} and @samp{.input2} sections from any ++files are written to output section @samp{outputc}. ++ ++@smallexample ++@group ++SECTIONS @{ ++ outputa 0x10000 : ++ @{ ++ all.o ++ foo.o (.input1) ++ @} ++@end group ++@group ++ outputb : ++ @{ ++ foo.o (.input2) ++ foo1.o (.input1) ++ @} ++@end group ++@group ++ outputc : ++ @{ ++ *(.input1) ++ *(.input2) ++ @} ++@} ++@end group ++@end smallexample ++ ++If an output section's name is the same as the input section's name ++and is representable as a C identifier, then the linker will ++automatically @pxref{PROVIDE} two symbols: __start_SECNAME and ++__stop_SECNAME, where SECNAME is the name of the section. These ++indicate the start address and end address of the output section ++respectively. Note: most section names are not representable as ++C identifiers because they contain a @samp{.} character. ++ ++@node Output Section Data ++@subsection Output Section Data ++@cindex data ++@cindex section data ++@cindex output section data ++@kindex ASCIZ ``@var{string}'' ++@kindex BYTE(@var{expression}) ++@kindex SHORT(@var{expression}) ++@kindex LONG(@var{expression}) ++@kindex QUAD(@var{expression}) ++@kindex SQUAD(@var{expression}) ++You can include explicit bytes of data in an output section by using ++@code{BYTE}, @code{SHORT}, @code{LONG}, @code{QUAD}, or @code{SQUAD} as ++an output section command. Each keyword is followed by an expression in ++parentheses providing the value to store (@pxref{Expressions}). The ++value of the expression is stored at the current value of the location ++counter. ++ ++The @code{BYTE}, @code{SHORT}, @code{LONG}, and @code{QUAD} commands ++store one, two, four, and eight bytes (respectively). After storing the ++bytes, the location counter is incremented by the number of bytes ++stored. ++ ++For example, this will store the byte 1 followed by the four byte value ++of the symbol @samp{addr}: ++@smallexample ++BYTE(1) ++LONG(addr) ++@end smallexample ++ ++When using a 64 bit host or target, @code{QUAD} and @code{SQUAD} are the ++same; they both store an 8 byte, or 64 bit, value. When both host and ++target are 32 bits, an expression is computed as 32 bits. In this case ++@code{QUAD} stores a 32 bit value zero extended to 64 bits, and ++@code{SQUAD} stores a 32 bit value sign extended to 64 bits. ++ ++If the object file format of the output file has an explicit endianness, ++which is the normal case, the value will be stored in that endianness. ++When the object file format does not have an explicit endianness, as is ++true of, for example, S-records, the value will be stored in the ++endianness of the first input object file. ++ ++You can include a zero-terminated string in an output section by using ++@code{ASCIZ}. The keyword is followed by a string which is stored at ++the current value of the location counter adding a zero byte at the ++end. If the string includes spaces it must be enclosed in double ++quotes. The string may contain '\n', '\r', '\t' and octal numbers. ++Hex numbers are not supported. ++ ++For example, this string of 16 characters will create a 17 byte area ++@smallexample ++ ASCIZ "This is 16 bytes" ++@end smallexample ++ ++Note---these commands only work inside a section description and not ++between them, so the following will produce an error from the linker: ++@smallexample ++SECTIONS @{@ .text : @{@ *(.text) @}@ LONG(1) .data : @{@ *(.data) @}@ @}@ ++@end smallexample ++whereas this will work: ++@smallexample ++SECTIONS @{@ .text : @{@ *(.text) ; LONG(1) @}@ .data : @{@ *(.data) @}@ @}@ ++@end smallexample ++ ++@kindex FILL(@var{expression}) ++@cindex holes, filling ++@cindex unspecified memory ++You may use the @code{FILL} command to set the fill pattern for the ++current section. It is followed by an expression in parentheses. Any ++otherwise unspecified regions of memory within the section (for example, ++gaps left due to the required alignment of input sections) are filled ++with the value of the expression, repeated as ++necessary. A @code{FILL} statement covers memory locations after the ++point at which it occurs in the section definition; by including more ++than one @code{FILL} statement, you can have different fill patterns in ++different parts of an output section. ++ ++This example shows how to fill unspecified regions of memory with the ++value @samp{0x90}: ++@smallexample ++FILL(0x90909090) ++@end smallexample ++ ++The @code{FILL} command is similar to the @samp{=@var{fillexp}} output ++section attribute, but it only affects the ++part of the section following the @code{FILL} command, rather than the ++entire section. If both are used, the @code{FILL} command takes ++precedence. @xref{Output Section Fill}, for details on the fill ++expression. ++ ++@kindex LINKER_VERSION ++@cindex LINKER_VERSION ++Inserts a string containing the version of the linker at the current ++point. Note - by default this directive is disabled and will do ++nothing. It only becomes active if the ++@option{--enable-linker-version} command line option is used. ++ ++Built-in linker scripts for ELF based targets already include this ++directive in their @samp{.comment} section. ++ ++@node Output Section Keywords ++@subsection Output Section Keywords ++There are a couple of keywords which can appear as output section ++commands. ++ ++@table @code ++@kindex CREATE_OBJECT_SYMBOLS ++@cindex input filename symbols ++@cindex filename symbols ++@item CREATE_OBJECT_SYMBOLS ++The command tells the linker to create a symbol for each input file. ++The name of each symbol will be the name of the corresponding input ++file. The section of each symbol will be the output section in which ++the @code{CREATE_OBJECT_SYMBOLS} command appears. ++ ++This is conventional for the a.out object file format. It is not ++normally used for any other object file format. ++ ++@kindex CONSTRUCTORS ++@cindex C++ constructors, arranging in link ++@cindex constructors, arranging in link ++@item CONSTRUCTORS ++When linking using the a.out object file format, the linker uses an ++unusual set construct to support C++ global constructors and ++destructors. When linking object file formats which do not support ++arbitrary sections, such as ECOFF and XCOFF, the linker will ++automatically recognize C++ global constructors and destructors by name. ++For these object file formats, the @code{CONSTRUCTORS} command tells the ++linker to place constructor information in the output section where the ++@code{CONSTRUCTORS} command appears. The @code{CONSTRUCTORS} command is ++ignored for other object file formats. ++ ++The symbol @w{@code{__CTOR_LIST__}} marks the start of the global ++constructors, and the symbol @w{@code{__CTOR_END__}} marks the end. ++Similarly, @w{@code{__DTOR_LIST__}} and @w{@code{__DTOR_END__}} mark ++the start and end of the global destructors. The ++first word in the list is the number of entries, followed by the address ++of each constructor or destructor, followed by a zero word. The ++compiler must arrange to actually run the code. For these object file ++formats @sc{gnu} C++ normally calls constructors from a subroutine ++@code{__main}; a call to @code{__main} is automatically inserted into ++the startup code for @code{main}. @sc{gnu} C++ normally runs ++destructors either by using @code{atexit}, or directly from the function ++@code{exit}. ++ ++For object file formats such as @code{COFF} or @code{ELF} which support ++arbitrary section names, @sc{gnu} C++ will normally arrange to put the ++addresses of global constructors and destructors into the @code{.ctors} ++and @code{.dtors} sections. Placing the following sequence into your ++linker script will build the sort of table which the @sc{gnu} C++ ++runtime code expects to see. ++ ++@smallexample ++ __CTOR_LIST__ = .; ++ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) ++ *(.ctors) ++ LONG(0) ++ __CTOR_END__ = .; ++ __DTOR_LIST__ = .; ++ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) ++ *(.dtors) ++ LONG(0) ++ __DTOR_END__ = .; ++@end smallexample ++ ++If you are using the @sc{gnu} C++ support for initialization priority, ++which provides some control over the order in which global constructors ++are run, you must sort the constructors at link time to ensure that they ++are executed in the correct order. When using the @code{CONSTRUCTORS} ++command, use @samp{SORT_BY_NAME(CONSTRUCTORS)} instead. When using the ++@code{.ctors} and @code{.dtors} sections, use @samp{*(SORT_BY_NAME(.ctors))} and ++@samp{*(SORT_BY_NAME(.dtors))} instead of just @samp{*(.ctors)} and ++@samp{*(.dtors)}. ++ ++Normally the compiler and linker will handle these issues automatically, ++and you will not need to concern yourself with them. However, you may ++need to consider this if you are using C++ and writing your own linker ++scripts. ++ ++@end table ++ ++@node Output Section Discarding ++@subsection Output Section Discarding ++@cindex discarding sections ++@cindex sections, discarding ++@cindex removing sections ++The linker will not normally create output sections with no contents. ++This is for convenience when referring to input sections that may or ++may not be present in any of the input files. For example: ++@smallexample ++.foo : @{ *(.foo) @} ++@end smallexample ++@noindent ++will only create a @samp{.foo} section in the output file if there is a ++@samp{.foo} section in at least one input file, and if the input ++sections are not all empty. Other link script directives that allocate ++space in an output section will also create the output section. So ++too will assignments to dot even if the assignment does not create ++space, except for @samp{. = 0}, @samp{. = . + 0}, @samp{. = sym}, ++@samp{. = . + sym} and @samp{. = ALIGN (. != 0, expr, 1)} when ++@samp{sym} is an absolute symbol of value 0 defined in the script. ++This allows you to force output of an empty section with @samp{. = .}. ++ ++The linker will ignore address assignments (@pxref{Output Section Address}) ++on discarded output sections, except when the linker script defines ++symbols in the output section. In that case the linker will obey ++the address assignments, possibly advancing dot even though the ++section is discarded. ++ ++@cindex /DISCARD/ ++The special output section name @samp{/DISCARD/} may be used to discard ++input sections. Any input sections which are assigned to an output ++section named @samp{/DISCARD/} are not included in the output file. ++ ++This can be used to discard input sections marked with the ELF flag ++@code{SHF_GNU_RETAIN}, which would otherwise have been saved from linker ++garbage collection. ++ ++Note, sections that match the @samp{/DISCARD/} output section will be ++discarded even if they are in an ELF section group which has other ++members which are not being discarded. This is deliberate. ++Discarding takes precedence over grouping. ++ ++@node Output Section Attributes ++@subsection Output Section Attributes ++@cindex output section attributes ++We showed above that the full description of an output section looked ++like this: ++ ++@smallexample ++@group ++@var{section} [@var{address}] [(@var{type})] : ++ [AT(@var{lma})] ++ [ALIGN(@var{section_align}) | ALIGN_WITH_INPUT] ++ [SUBALIGN(@var{subsection_align})] ++ [@var{constraint}] ++ @{ ++ @var{output-section-command} ++ @var{output-section-command} ++ @dots{} ++ @} [>@var{region}] [AT>@var{lma_region}] [:@var{phdr} :@var{phdr} @dots{}] [=@var{fillexp}] ++@end group ++@end smallexample ++ ++We've already described @var{section}, @var{address}, and ++@var{output-section-command}. In this section we will describe the ++remaining section attributes. ++ ++@menu ++* Output Section Type:: Output section type ++* Output Section LMA:: Output section LMA ++* Forced Output Alignment:: Forced Output Alignment ++* Forced Input Alignment:: Forced Input Alignment ++* Output Section Constraint:: Output section constraint ++* Output Section Region:: Output section region ++* Output Section Phdr:: Output section phdr ++* Output Section Fill:: Output section fill ++@end menu ++ ++@node Output Section Type ++@subsubsection Output Section Type ++Each output section may have a type. The type is a keyword in ++parentheses. The following types are defined: ++ ++@table @code ++ ++@item NOLOAD ++The section should be marked as not loadable, so that it will not be ++loaded into memory when the program is run. ++ ++@item READONLY ++The section should be marked as read-only. ++ ++@item DSECT ++@item COPY ++@item INFO ++@item OVERLAY ++These type names are supported for backward compatibility, and are ++rarely used. They all have the same effect: the section should be ++marked as not allocatable, so that no memory is allocated for the ++section when the program is run. ++ ++@item TYPE = @var{type} ++Set the section type to the integer @var{type}. When generating an ELF ++output file, type names @code{SHT_PROGBITS}, @code{SHT_STRTAB}, ++@code{SHT_NOTE}, @code{SHT_NOBITS}, @code{SHT_INIT_ARRAY}, ++@code{SHT_FINI_ARRAY}, and @code{SHT_PREINIT_ARRAY} are also allowed ++for @var{type}. It is the user's responsibility to ensure that any ++special requirements of the section type are met. ++ ++Note - the TYPE only is used if some or all of the contents of the ++section do not have an implicit type of their own. So for example: ++@smallexample ++ .foo . TYPE = SHT_PROGBITS @{ *(.bar) @} ++@end smallexample ++will set the type of section @samp{.foo} to the type of the section ++@samp{.bar} in the input files, which may not be the SHT_PROGBITS ++type. Whereas: ++@smallexample ++ .foo . TYPE = SHT_PROGBITS @{ BYTE(1) @} ++@end smallexample ++will set the type of @samp{.foo} to SHT_PROGBBITS. If it is necessary ++to override the type of incoming sections and force the output section ++type then an extra piece of untyped data will be needed: ++@smallexample ++ .foo . TYPE = SHT_PROGBITS @{ BYTE(1); *(.bar) @} ++@end smallexample ++ ++@item READONLY ( TYPE = @var{type} ) ++This form of the syntax combines the @var{READONLY} type with the ++type specified by @var{type}. ++ ++@end table ++ ++@kindex NOLOAD ++@cindex prevent unnecessary loading ++@cindex loading, preventing ++The linker normally sets the attributes of an output section based on ++the input sections which map into it. You can override this by using ++the section type. For example, in the script sample below, the ++@samp{ROM} section is addressed at memory location @samp{0} and does not ++need to be loaded when the program is run. ++@smallexample ++@group ++SECTIONS @{ ++ ROM 0 (NOLOAD) : @{ @dots{} @} ++ @dots{} ++@} ++@end group ++@end smallexample ++ ++@node Output Section LMA ++@subsubsection Output Section LMA ++@kindex AT>@var{lma_region} ++@kindex AT(@var{lma}) ++@cindex load address ++@cindex section load address ++Every section has a virtual address (VMA) and a load address (LMA); see ++@ref{Basic Script Concepts}. The virtual address is specified by the ++@pxref{Output Section Address} described earlier. The load address is ++specified by the @code{AT} or @code{AT>} keywords. Specifying a load ++address is optional. ++ ++The @code{AT} keyword takes an expression as an argument. This ++specifies the exact load address of the section. The @code{AT>} keyword ++takes the name of a memory region as an argument. @xref{MEMORY}. The ++load address of the section is set to the next free address in the ++region, aligned to the section's alignment requirements. ++ ++If neither @code{AT} nor @code{AT>} is specified for an allocatable ++section, the linker will use the following heuristic to determine the ++load address: ++ ++@itemize @bullet ++@item ++If the section has a specific VMA address, then this is used as ++the LMA address as well. ++ ++@item ++If the section is not allocatable then its LMA is set to its VMA. ++ ++@item ++Otherwise if a memory region can be found that is compatible ++with the current section, and this region contains at least one ++section, then the LMA is set so the difference between the ++VMA and LMA is the same as the difference between the VMA and LMA of ++the last section in the located region. ++ ++@item ++If no memory regions have been declared then a default region ++that covers the entire address space is used in the previous step. ++ ++@item ++If no suitable region could be found, or there was no previous ++section then the LMA is set equal to the VMA. ++@end itemize ++ ++@cindex ROM initialized data ++@cindex initialized data in ROM ++This feature is designed to make it easy to build a ROM image. For ++example, the following linker script creates three output sections: one ++called @samp{.text}, which starts at @code{0x1000}, one called ++@samp{.mdata}, which is loaded at the end of the @samp{.text} section ++even though its VMA is @code{0x2000}, and one called @samp{.bss} to hold ++uninitialized data at address @code{0x3000}. The symbol @code{_data} is ++defined with the value @code{0x2000}, which shows that the location ++counter holds the VMA value, not the LMA value. ++ ++@smallexample ++@group ++SECTIONS ++ @{ ++ .text 0x1000 : @{ *(.text) _etext = . ; @} ++ .mdata 0x2000 : ++ AT ( ADDR (.text) + SIZEOF (.text) ) ++ @{ _data = . ; *(.data); _edata = . ; @} ++ .bss 0x3000 : ++ @{ _bstart = . ; *(.bss) *(COMMON) ; _bend = . ;@} ++@} ++@end group ++@end smallexample ++ ++The run-time initialization code for use with a program generated with ++this linker script would include something like the following, to copy ++the initialized data from the ROM image to its runtime address. Notice ++how this code takes advantage of the symbols defined by the linker ++script. ++ ++@smallexample ++@group ++extern char _etext, _data, _edata, _bstart, _bend; ++char *src = &_etext; ++char *dst = &_data; ++ ++/* ROM has data at end of text; copy it. */ ++while (dst < &_edata) ++ *dst++ = *src++; ++ ++/* Zero bss. */ ++for (dst = &_bstart; dst< &_bend; dst++) ++ *dst = 0; ++@end group ++@end smallexample ++ ++@node Forced Output Alignment ++@subsubsection Forced Output Alignment ++@kindex ALIGN(@var{section_align}) ++@cindex forcing output section alignment ++@cindex output section alignment ++You can increase an output section's alignment by using ALIGN. As an ++alternative you can enforce that the difference between the VMA and LMA remains ++intact throughout this output section with the ALIGN_WITH_INPUT attribute. ++ ++@node Forced Input Alignment ++@subsubsection Forced Input Alignment ++@kindex SUBALIGN(@var{subsection_align}) ++@cindex forcing input section alignment ++@cindex input section alignment ++You can force input section alignment within an output section by using ++SUBALIGN. The value specified overrides any alignment given by input ++sections, whether larger or smaller. ++ ++@node Output Section Constraint ++@subsubsection Output Section Constraint ++@kindex ONLY_IF_RO ++@kindex ONLY_IF_RW ++@cindex constraints on output sections ++You can specify that an output section should only be created if all ++of its input sections are read-only or all of its input sections are ++read-write by using the keyword @code{ONLY_IF_RO} and ++@code{ONLY_IF_RW} respectively. ++ ++@node Output Section Region ++@subsubsection Output Section Region ++@kindex >@var{region} ++@cindex section, assigning to memory region ++@cindex memory regions and sections ++You can assign a section to a previously defined region of memory by ++using @samp{>@var{region}}. @xref{MEMORY}. ++ ++Here is a simple example: ++@smallexample ++@group ++MEMORY @{ rom : ORIGIN = 0x1000, LENGTH = 0x1000 @} ++SECTIONS @{ ROM : @{ *(.text) @} >rom @} ++@end group ++@end smallexample ++ ++@node Output Section Phdr ++@subsubsection Output Section Phdr ++@kindex :@var{phdr} ++@cindex section, assigning to program header ++@cindex program headers and sections ++You can assign a section to a previously defined program segment by ++using @samp{:@var{phdr}}. @xref{PHDRS}. If a section is assigned to ++one or more segments, then all subsequent allocated sections will be ++assigned to those segments as well, unless they use an explicitly ++@code{:@var{phdr}} modifier. You can use @code{:NONE} to tell the ++linker to not put the section in any segment at all. ++ ++Here is a simple example: ++@smallexample ++@group ++PHDRS @{ text PT_LOAD ; @} ++SECTIONS @{ .text : @{ *(.text) @} :text @} ++@end group ++@end smallexample ++ ++@node Output Section Fill ++@subsubsection Output Section Fill ++@kindex =@var{fillexp} ++@cindex section fill pattern ++@cindex fill pattern, entire section ++You can set the fill pattern for an entire section by using ++@samp{=@var{fillexp}}. @var{fillexp} is an expression ++(@pxref{Expressions}). Any otherwise unspecified regions of memory ++within the output section (for example, gaps left due to the required ++alignment of input sections) will be filled with the value, repeated as ++necessary. If the fill expression is a simple hex number, ie. a string ++of hex digit starting with @samp{0x} and without a trailing @samp{k} or @samp{M}, then ++an arbitrarily long sequence of hex digits can be used to specify the ++fill pattern; Leading zeros become part of the pattern too. For all ++other cases, including extra parentheses or a unary @code{+}, the fill ++pattern is the four least significant bytes of the value of the ++expression. In all cases, the number is big-endian. ++ ++You can also change the fill value with a @code{FILL} command in the ++output section commands; (@pxref{Output Section Data}). ++ ++Here is a simple example: ++@smallexample ++@group ++SECTIONS @{ .text : @{ *(.text) @} =0x90909090 @} ++@end group ++@end smallexample ++ ++@node Overlay Description ++@subsection Overlay Description ++@kindex OVERLAY ++@cindex overlays ++An overlay description provides an easy way to describe sections which ++are to be loaded as part of a single memory image but are to be run at ++the same memory address. At run time, some sort of overlay manager will ++copy the overlaid sections in and out of the runtime memory address as ++required, perhaps by simply manipulating addressing bits. This approach ++can be useful, for example, when a certain region of memory is faster ++than another. ++ ++Overlays are described using the @code{OVERLAY} command. The ++@code{OVERLAY} command is used within a @code{SECTIONS} command, like an ++output section description. The full syntax of the @code{OVERLAY} ++command is as follows: ++@smallexample ++@group ++OVERLAY [@var{start}] : [NOCROSSREFS] [AT ( @var{ldaddr} )] ++ @{ ++ @var{secname1} ++ @{ ++ @var{output-section-command} ++ @var{output-section-command} ++ @dots{} ++ @} [:@var{phdr}@dots{}] [=@var{fill}] ++ @var{secname2} ++ @{ ++ @var{output-section-command} ++ @var{output-section-command} ++ @dots{} ++ @} [:@var{phdr}@dots{}] [=@var{fill}] ++ @dots{} ++ @} [>@var{region}] [:@var{phdr}@dots{}] [=@var{fill}] [,] ++@end group ++@end smallexample ++ ++Everything is optional except @code{OVERLAY} (a keyword), and each ++section must have a name (@var{secname1} and @var{secname2} above). The ++section definitions within the @code{OVERLAY} construct are identical to ++those within the general @code{SECTIONS} construct (@pxref{SECTIONS}), ++except that no addresses and no memory regions may be defined for ++sections within an @code{OVERLAY}. ++ ++The comma at the end may be required if a @var{fill} is used and ++the next @var{sections-command} looks like a continuation of the expression. ++ ++The sections are all defined with the same starting address. The load ++addresses of the sections are arranged such that they are consecutive in ++memory starting at the load address used for the @code{OVERLAY} as a ++whole (as with normal section definitions, the load address is optional, ++and defaults to the start address; the start address is also optional, ++and defaults to the current value of the location counter). ++ ++If the @code{NOCROSSREFS} keyword is used, and there are any ++references among the sections, the linker will report an error. Since ++the sections all run at the same address, it normally does not make ++sense for one section to refer directly to another. ++@xref{Miscellaneous Commands, NOCROSSREFS}. ++ ++For each section within the @code{OVERLAY}, the linker automatically ++provides two symbols. The symbol @code{__load_start_@var{secname}} is ++defined as the starting load address of the section. The symbol ++@code{__load_stop_@var{secname}} is defined as the final load address of ++the section. Any characters within @var{secname} which are not legal ++within C identifiers are removed. C (or assembler) code may use these ++symbols to move the overlaid sections around as necessary. ++ ++At the end of the overlay, the value of the location counter is set to ++the start address of the overlay plus the size of the largest section. ++ ++Here is an example. Remember that this would appear inside a ++@code{SECTIONS} construct. ++@smallexample ++@group ++ OVERLAY 0x1000 : AT (0x4000) ++ @{ ++ .text0 @{ o1/*.o(.text) @} ++ .text1 @{ o2/*.o(.text) @} ++ @} ++@end group ++@end smallexample ++@noindent ++This will define both @samp{.text0} and @samp{.text1} to start at ++address 0x1000. @samp{.text0} will be loaded at address 0x4000, and ++@samp{.text1} will be loaded immediately after @samp{.text0}. The ++following symbols will be defined if referenced: @code{__load_start_text0}, ++@code{__load_stop_text0}, @code{__load_start_text1}, ++@code{__load_stop_text1}. ++ ++C code to copy overlay @code{.text1} into the overlay area might look ++like the following. ++ ++@smallexample ++@group ++ extern char __load_start_text1, __load_stop_text1; ++ memcpy ((char *) 0x1000, &__load_start_text1, ++ &__load_stop_text1 - &__load_start_text1); ++@end group ++@end smallexample ++ ++Note that the @code{OVERLAY} command is just syntactic sugar, since ++everything it does can be done using the more basic commands. The above ++example could have been written identically as follows. ++ ++@smallexample ++@group ++ .text0 0x1000 : AT (0x4000) @{ o1/*.o(.text) @} ++ PROVIDE (__load_start_text0 = LOADADDR (.text0)); ++ PROVIDE (__load_stop_text0 = LOADADDR (.text0) + SIZEOF (.text0)); ++ .text1 0x1000 : AT (0x4000 + SIZEOF (.text0)) @{ o2/*.o(.text) @} ++ PROVIDE (__load_start_text1 = LOADADDR (.text1)); ++ PROVIDE (__load_stop_text1 = LOADADDR (.text1) + SIZEOF (.text1)); ++ . = 0x1000 + MAX (SIZEOF (.text0), SIZEOF (.text1)); ++@end group ++@end smallexample ++ ++@node MEMORY ++@section MEMORY Command ++@kindex MEMORY ++@cindex memory regions ++@cindex regions of memory ++@cindex allocating memory ++@cindex discontinuous memory ++The linker's default configuration permits allocation of all available ++memory. You can override this by using the @code{MEMORY} command. ++ ++The @code{MEMORY} command describes the location and size of blocks of ++memory in the target. You can use it to describe which memory regions ++may be used by the linker, and which memory regions it must avoid. You ++can then assign sections to particular memory regions. The linker will ++set section addresses based on the memory regions, and will warn about ++regions that become too full. The linker will not shuffle sections ++around to fit into the available regions. ++ ++A linker script may contain many uses of the @code{MEMORY} command, ++however, all memory blocks defined are treated as if they were ++specified inside a single @code{MEMORY} command. The syntax for ++@code{MEMORY} is: ++@smallexample ++@group ++MEMORY ++ @{ ++ @var{name} [(@var{attr})] : ORIGIN = @var{origin}, LENGTH = @var{len} ++ @dots{} ++ @} ++@end group ++@end smallexample ++ ++The @var{name} is a name used in the linker script to refer to the ++region. The region name has no meaning outside of the linker script. ++Region names are stored in a separate name space, and will not conflict ++with symbol names, file names, or section names. Each memory region ++must have a distinct name within the @code{MEMORY} command. However you can ++add later alias names to existing memory regions with the @ref{REGION_ALIAS} ++command. ++ ++@cindex memory region attributes ++The @var{attr} string is an optional list of attributes that specify ++whether to use a particular memory region for an input section which is ++not explicitly mapped in the linker script. As described in ++@ref{SECTIONS}, if you do not specify an output section for some input ++section, the linker will create an output section with the same name as ++the input section. If you define region attributes, the linker will use ++them to select the memory region for the output section that it creates. ++ ++The @var{attr} string must consist only of the following characters: ++@table @samp ++@item R ++Read-only section ++@item W ++Read/write section ++@item X ++Executable section ++@item A ++Allocatable section ++@item I ++Initialized section ++@item L ++Same as @samp{I} ++@item ! ++Invert the sense of any of the attributes that follow ++@end table ++ ++If an unmapped section matches any of the listed attributes other than ++@samp{!}, it will be placed in the memory region. The @samp{!} ++attribute reverses the test for the characters that follow, so that an ++unmapped section will be placed in the memory region only if it does ++not match any of the attributes listed afterwards. Thus an attribute ++string of @samp{RW!X} will match any unmapped section that has either ++or both of the @samp{R} and @samp{W} attributes, but only as long as ++the section does not also have the @samp{X} attribute. ++ ++@kindex ORIGIN = ++@kindex o = ++@kindex org = ++The @var{origin} is an numerical expression for the start address of ++the memory region. The expression must evaluate to a constant and it ++cannot involve any symbols. The keyword @code{ORIGIN} may be ++abbreviated to @code{org} or @code{o} (but not, for example, ++@code{ORG}). ++ ++@kindex LENGTH = ++@kindex len = ++@kindex l = ++The @var{len} is an expression for the size in bytes of the memory ++region. As with the @var{origin} expression, the expression must ++be numerical only and must evaluate to a constant. The keyword ++@code{LENGTH} may be abbreviated to @code{len} or @code{l}. ++ ++In the following example, we specify that there are two memory regions ++available for allocation: one starting at @samp{0} for 256 kilobytes, ++and the other starting at @samp{0x40000000} for four megabytes. The ++linker will place into the @samp{rom} memory region every section which ++is not explicitly mapped into a memory region, and is either read-only ++or executable. The linker will place other sections which are not ++explicitly mapped into a memory region into the @samp{ram} memory ++region. ++ ++@smallexample ++@group ++MEMORY ++ @{ ++ rom (rx) : ORIGIN = 0, LENGTH = 256K ++ ram (!rx) : org = 0x40000000, l = 4M ++ @} ++@end group ++@end smallexample ++ ++Once you define a memory region, you can direct the linker to place ++specific output sections into that memory region by using the ++@samp{>@var{region}} output section attribute. For example, if you have ++a memory region named @samp{mem}, you would use @samp{>mem} in the ++output section definition. @xref{Output Section Region}. If no address ++was specified for the output section, the linker will set the address to ++the next available address within the memory region. If the combined ++output sections directed to a memory region are too large for the ++region, the linker will issue an error message. ++ ++It is possible to access the origin and length of a memory in an ++expression via the @code{ORIGIN(@var{memory})} and ++@code{LENGTH(@var{memory})} functions: ++ ++@smallexample ++@group ++ _fstack = ORIGIN(ram) + LENGTH(ram) - 4; ++@end group ++@end smallexample ++ ++@node PHDRS ++@section PHDRS Command ++@kindex PHDRS ++@cindex program headers ++@cindex ELF program headers ++@cindex program segments ++@cindex segments, ELF ++The ELF object file format uses @dfn{program headers}, also knows as ++@dfn{segments}. The program headers describe how the program should be ++loaded into memory. You can print them out by using the @code{objdump} ++program with the @samp{-p} option. ++ ++When you run an ELF program on a native ELF system, the system loader ++reads the program headers in order to figure out how to load the ++program. This will only work if the program headers are set correctly. ++This manual does not describe the details of how the system loader ++interprets program headers; for more information, see the ELF ABI. ++ ++The linker will create reasonable program headers by default. However, ++in some cases, you may need to specify the program headers more ++precisely. You may use the @code{PHDRS} command for this purpose. When ++the linker sees the @code{PHDRS} command in the linker script, it will ++not create any program headers other than the ones specified. ++ ++The linker only pays attention to the @code{PHDRS} command when ++generating an ELF output file. In other cases, the linker will simply ++ignore @code{PHDRS}. ++ ++This is the syntax of the @code{PHDRS} command. The words @code{PHDRS}, ++@code{FILEHDR}, @code{AT}, and @code{FLAGS} are keywords. ++ ++@smallexample ++@group ++PHDRS ++@{ ++ @var{name} @var{type} [ FILEHDR ] [ PHDRS ] [ AT ( @var{address} ) ] ++ [ FLAGS ( @var{flags} ) ] ; ++@} ++@end group ++@end smallexample ++ ++The @var{name} is used only for reference in the @code{SECTIONS} command ++of the linker script. It is not put into the output file. Program ++header names are stored in a separate name space, and will not conflict ++with symbol names, file names, or section names. Each program header ++must have a distinct name. The headers are processed in order and it ++is usual for them to map to sections in ascending load address order. ++ ++Certain program header types describe segments of memory which the ++system loader will load from the file. In the linker script, you ++specify the contents of these segments by placing allocatable output ++sections in the segments. You use the @samp{:@var{phdr}} output section ++attribute to place a section in a particular segment. @xref{Output ++Section Phdr}. ++ ++It is normal to put certain sections in more than one segment. This ++merely implies that one segment of memory contains another. You may ++repeat @samp{:@var{phdr}}, using it once for each segment which should ++contain the section. ++ ++If you place a section in one or more segments using @samp{:@var{phdr}}, ++then the linker will place all subsequent allocatable sections which do ++not specify @samp{:@var{phdr}} in the same segments. This is for ++convenience, since generally a whole set of contiguous sections will be ++placed in a single segment. You can use @code{:NONE} to override the ++default segment and tell the linker to not put the section in any ++segment at all. ++ ++@kindex FILEHDR ++@kindex PHDRS ++You may use the @code{FILEHDR} and @code{PHDRS} keywords after ++the program header type to further describe the contents of the segment. ++The @code{FILEHDR} keyword means that the segment should include the ELF ++file header. The @code{PHDRS} keyword means that the segment should ++include the ELF program headers themselves. If applied to a loadable ++segment (@code{PT_LOAD}), all prior loadable segments must have one of ++these keywords. ++ ++The @var{type} may be one of the following. The numbers indicate the ++value of the keyword. ++ ++@table @asis ++@item @code{PT_NULL} (0) ++Indicates an unused program header. ++ ++@item @code{PT_LOAD} (1) ++Indicates that this program header describes a segment to be loaded from ++the file. ++ ++@item @code{PT_DYNAMIC} (2) ++Indicates a segment where dynamic linking information can be found. ++ ++@item @code{PT_INTERP} (3) ++Indicates a segment where the name of the program interpreter may be ++found. ++ ++@item @code{PT_NOTE} (4) ++Indicates a segment holding note information. ++ ++@item @code{PT_SHLIB} (5) ++A reserved program header type, defined but not specified by the ELF ++ABI. ++ ++@item @code{PT_PHDR} (6) ++Indicates a segment where the program headers may be found. ++ ++@item @code{PT_TLS} (7) ++Indicates a segment containing thread local storage. ++ ++@item @var{expression} ++An expression giving the numeric type of the program header. This may ++be used for types not defined above. ++@end table ++ ++You can specify that a segment should be loaded at a particular address ++in memory by using an @code{AT} expression. This is identical to the ++@code{AT} command used as an output section attribute (@pxref{Output ++Section LMA}). The @code{AT} command for a program header overrides the ++output section attribute. ++ ++The linker will normally set the segment flags based on the sections ++which comprise the segment. You may use the @code{FLAGS} keyword to ++explicitly specify the segment flags. The value of @var{flags} must be ++an integer. It is used to set the @code{p_flags} field of the program ++header. ++ ++Here is an example of @code{PHDRS}. This shows a typical set of program ++headers used on a native ELF system. ++ ++@example ++@group ++PHDRS ++@{ ++ headers PT_PHDR PHDRS ; ++ interp PT_INTERP ; ++ text PT_LOAD FILEHDR PHDRS ; ++ data PT_LOAD ; ++ dynamic PT_DYNAMIC ; ++@} ++ ++SECTIONS ++@{ ++ . = SIZEOF_HEADERS; ++ .interp : @{ *(.interp) @} :text :interp ++ .text : @{ *(.text) @} :text ++ .rodata : @{ *(.rodata) @} /* defaults to :text */ ++ @dots{} ++ . = . + 0x1000; /* move to a new page in memory */ ++ .data : @{ *(.data) @} :data ++ .dynamic : @{ *(.dynamic) @} :data :dynamic ++ @dots{} ++@} ++@end group ++@end example ++ ++@node VERSION ++@section VERSION Command ++@kindex VERSION @{script text@} ++@cindex symbol versions ++@cindex version script ++@cindex versions of symbols ++The linker supports symbol versions when using ELF. Symbol versions are ++only useful when using shared libraries. The dynamic linker can use ++symbol versions to select a specific version of a function when it runs ++a program that may have been linked against an earlier version of the ++shared library. ++ ++You can include a version script directly in the main linker script, or ++you can supply the version script as an implicit linker script. You can ++also use the @samp{--version-script} linker option. ++ ++The syntax of the @code{VERSION} command is simply ++@smallexample ++VERSION @{ version-script-commands @} ++@end smallexample ++ ++The format of the version script commands is identical to that used by ++Sun's linker in Solaris 2.5. The version script defines a tree of ++version nodes. You specify the node names and interdependencies in the ++version script. You can specify which symbols are bound to which ++version nodes, and you can reduce a specified set of symbols to local ++scope so that they are not globally visible outside of the shared ++library. ++ ++The easiest way to demonstrate the version script language is with a few ++examples. ++ ++@smallexample ++VERS_1.1 @{ ++ global: ++ foo1; ++ local: ++ old*; ++ original*; ++ new*; ++@}; ++ ++VERS_1.2 @{ ++ foo2; ++@} VERS_1.1; ++ ++VERS_2.0 @{ ++ bar1; bar2; ++ extern "C++" @{ ++ ns::*; ++ "f(int, double)"; ++ @}; ++@} VERS_1.2; ++@end smallexample ++ ++This example version script defines three version nodes. The first ++version node defined is @samp{VERS_1.1}; it has no other dependencies. ++The script binds the symbol @samp{foo1} to @samp{VERS_1.1}. It reduces ++a number of symbols to local scope so that they are not visible outside ++of the shared library; this is done using wildcard patterns, so that any ++symbol whose name begins with @samp{old}, @samp{original}, or @samp{new} ++is matched. The wildcard patterns available are the same as those used ++in the shell when matching filenames (also known as ``globbing''). ++However, if you specify the symbol name inside double quotes, then the ++name is treated as literal, rather than as a glob pattern. ++ ++Next, the version script defines node @samp{VERS_1.2}. This node ++depends upon @samp{VERS_1.1}. The script binds the symbol @samp{foo2} ++to the version node @samp{VERS_1.2}. ++ ++Finally, the version script defines node @samp{VERS_2.0}. This node ++depends upon @samp{VERS_1.2}. The scripts binds the symbols @samp{bar1} ++and @samp{bar2} are bound to the version node @samp{VERS_2.0}. ++ ++When the linker finds a symbol defined in a library which is not ++specifically bound to a version node, it will effectively bind it to an ++unspecified base version of the library. You can bind all otherwise ++unspecified symbols to a given version node by using @samp{global: *;} ++somewhere in the version script. Note that it's slightly crazy to use ++wildcards in a global spec except on the last version node. Global ++wildcards elsewhere run the risk of accidentally adding symbols to the ++set exported for an old version. That's wrong since older versions ++ought to have a fixed set of symbols. ++ ++The names of the version nodes have no specific meaning other than what ++they might suggest to the person reading them. The @samp{2.0} version ++could just as well have appeared in between @samp{1.1} and @samp{1.2}. ++However, this would be a confusing way to write a version script. ++ ++Node name can be omitted, provided it is the only version node ++in the version script. Such version script doesn't assign any versions to ++symbols, only selects which symbols will be globally visible out and which ++won't. ++ ++@smallexample ++@{ global: foo; bar; local: *; @}; ++@end smallexample ++ ++When you link an application against a shared library that has versioned ++symbols, the application itself knows which version of each symbol it ++requires, and it also knows which version nodes it needs from each ++shared library it is linked against. Thus at runtime, the dynamic ++loader can make a quick check to make sure that the libraries you have ++linked against do in fact supply all of the version nodes that the ++application will need to resolve all of the dynamic symbols. In this ++way it is possible for the dynamic linker to know with certainty that ++all external symbols that it needs will be resolvable without having to ++search for each symbol reference. ++ ++The symbol versioning is in effect a much more sophisticated way of ++doing minor version checking that SunOS does. The fundamental problem ++that is being addressed here is that typically references to external ++functions are bound on an as-needed basis, and are not all bound when ++the application starts up. If a shared library is out of date, a ++required interface may be missing; when the application tries to use ++that interface, it may suddenly and unexpectedly fail. With symbol ++versioning, the user will get a warning when they start their program if ++the libraries being used with the application are too old. ++ ++There are several GNU extensions to Sun's versioning approach. The ++first of these is the ability to bind a symbol to a version node in the ++source file where the symbol is defined instead of in the versioning ++script. This was done mainly to reduce the burden on the library ++maintainer. You can do this by putting something like: ++@smallexample ++__asm__(".symver original_foo,foo@@VERS_1.1"); ++@end smallexample ++@noindent ++in the C source file. This renames the function @samp{original_foo} to ++be an alias for @samp{foo} bound to the version node @samp{VERS_1.1}. ++The @samp{local:} directive can be used to prevent the symbol ++@samp{original_foo} from being exported. A @samp{.symver} directive ++takes precedence over a version script. ++ ++The second GNU extension is to allow multiple versions of the same ++function to appear in a given shared library. In this way you can make ++an incompatible change to an interface without increasing the major ++version number of the shared library, while still allowing applications ++linked against the old interface to continue to function. ++ ++To do this, you must use multiple @samp{.symver} directives in the ++source file. Here is an example: ++ ++@smallexample ++__asm__(".symver original_foo,foo@@"); ++__asm__(".symver old_foo,foo@@VERS_1.1"); ++__asm__(".symver old_foo1,foo@@VERS_1.2"); ++__asm__(".symver new_foo,foo@@@@VERS_2.0"); ++@end smallexample ++ ++In this example, @samp{foo@@} represents the symbol @samp{foo} bound to the ++unspecified base version of the symbol. The source file that contains this ++example would define 4 C functions: @samp{original_foo}, @samp{old_foo}, ++@samp{old_foo1}, and @samp{new_foo}. ++ ++When you have multiple definitions of a given symbol, there needs to be ++some way to specify a default version to which external references to ++this symbol will be bound. You can do this with the ++@samp{foo@@@@VERS_2.0} type of @samp{.symver} directive. You can only ++declare one version of a symbol as the default in this manner; otherwise ++you would effectively have multiple definitions of the same symbol. ++ ++If you wish to bind a reference to a specific version of the symbol ++within the shared library, you can use the aliases of convenience ++(i.e., @samp{old_foo}), or you can use the @samp{.symver} directive to ++specifically bind to an external version of the function in question. ++ ++You can also specify the language in the version script: ++ ++@smallexample ++VERSION extern "lang" @{ version-script-commands @} ++@end smallexample ++ ++The supported @samp{lang}s are @samp{C}, @samp{C++}, and @samp{Java}. ++The linker will iterate over the list of symbols at the link time and ++demangle them according to @samp{lang} before matching them to the ++patterns specified in @samp{version-script-commands}. The default ++@samp{lang} is @samp{C}. ++ ++Demangled names may contains spaces and other special characters. As ++described above, you can use a glob pattern to match demangled names, ++or you can use a double-quoted string to match the string exactly. In ++the latter case, be aware that minor differences (such as differing ++whitespace) between the version script and the demangler output will ++cause a mismatch. As the exact string generated by the demangler ++might change in the future, even if the mangled name does not, you ++should check that all of your version directives are behaving as you ++expect when you upgrade. ++ ++@node Expressions ++@section Expressions in Linker Scripts ++@cindex expressions ++@cindex arithmetic ++The syntax for expressions in the linker script language is identical to ++that of C expressions, except that whitespace is required in some ++places to resolve syntactic ambiguities. All expressions are ++evaluated as integers. All expressions are evaluated in the same ++size, which is 32 bits if both the host and target are 32 bits, and is ++otherwise 64 bits. ++ ++You can use and set symbol values in expressions. ++ ++The linker defines several special purpose builtin functions for use in ++expressions. ++ ++@menu ++* Constants:: Constants ++* Symbolic Constants:: Symbolic constants ++* Symbols:: Symbol Names ++* Orphan Sections:: Orphan Sections ++* Location Counter:: The Location Counter ++* Operators:: Operators ++* Evaluation:: Evaluation ++* Expression Section:: The Section of an Expression ++* Builtin Functions:: Builtin Functions ++@end menu ++ ++@node Constants ++@subsection Constants ++@cindex integer notation ++@cindex constants in linker scripts ++All constants are integers. ++ ++As in C, the linker considers an integer beginning with @samp{0} to be ++octal, and an integer beginning with @samp{0x} or @samp{0X} to be ++hexadecimal. Alternatively the linker accepts suffixes of @samp{h} or ++@samp{H} for hexadecimal, @samp{o} or @samp{O} for octal, @samp{b} or ++@samp{B} for binary and @samp{d} or @samp{D} for decimal. Any integer ++value without a prefix or a suffix is considered to be decimal. ++ ++@cindex scaled integers ++@cindex K and M integer suffixes ++@cindex M and K integer suffixes ++@cindex suffixes for integers ++@cindex integer suffixes ++In addition, you can use the suffixes @code{K} and @code{M} to scale a ++constant by ++@c TEXI2ROFF-KILL ++@ifnottex ++@c END TEXI2ROFF-KILL ++@code{1024} or @code{1024*1024} ++@c TEXI2ROFF-KILL ++@end ifnottex ++@tex ++${\rm 1024}$ or ${\rm 1024}^2$ ++@end tex ++@c END TEXI2ROFF-KILL ++respectively. For example, the following ++all refer to the same quantity: ++ ++@smallexample ++_fourk_1 = 4K; ++_fourk_2 = 4096; ++_fourk_3 = 0x1000; ++_fourk_4 = 10000o; ++@end smallexample ++ ++Note - the @code{K} and @code{M} suffixes cannot be used in ++conjunction with the base suffixes mentioned above. ++ ++@node Symbolic Constants ++@subsection Symbolic Constants ++@cindex symbolic constants ++@kindex CONSTANT ++It is possible to refer to target-specific constants via the use of ++the @code{CONSTANT(@var{name})} operator, where @var{name} is one of: ++ ++@table @code ++@item MAXPAGESIZE ++@kindex MAXPAGESIZE ++The target's maximum page size. ++ ++@item COMMONPAGESIZE ++@kindex COMMONPAGESIZE ++The target's default page size. ++@end table ++ ++So for example: ++ ++@smallexample ++ .text ALIGN (CONSTANT (MAXPAGESIZE)) : @{ *(.text) @} ++@end smallexample ++ ++will create a text section aligned to the largest page boundary ++supported by the target. ++ ++@node Symbols ++@subsection Symbol Names ++@cindex symbol names ++@cindex names ++@cindex quoted symbol names ++@kindex " ++Unless quoted, symbol names start with a letter, underscore, or period ++and may include letters, digits, underscores, periods, and hyphens. ++Unquoted symbol names must not conflict with any keywords. You can ++specify a symbol which contains odd characters or has the same name as a ++keyword by surrounding the symbol name in double quotes: ++@smallexample ++"SECTION" = 9; ++"with a space" = "also with a space" + 10; ++@end smallexample ++ ++Since symbols can contain many non-alphabetic characters, it is safest ++to delimit symbols with spaces. For example, @samp{A-B} is one symbol, ++whereas @samp{A - B} is an expression involving subtraction. ++ ++@node Orphan Sections ++@subsection Orphan Sections ++@cindex orphan ++Orphan sections are sections present in the input files which ++are not explicitly placed into the output file by the linker ++script. The linker will still copy these sections into the ++output file by either finding, or creating a suitable output section ++in which to place the orphaned input section. ++ ++If the name of an orphaned input section exactly matches the name of ++an existing output section, then the orphaned input section will be ++placed at the end of that output section. ++ ++If there is no output section with a matching name then new output ++sections will be created. Each new output section will have the same ++name as the orphan section placed within it. If there are multiple ++orphan sections with the same name, these will all be combined into ++one new output section. ++ ++If new output sections are created to hold orphaned input sections, ++then the linker must decide where to place these new output sections ++in relation to existing output sections. On most modern targets, the ++linker attempts to place orphan sections after sections of the same ++attribute, such as code vs data, loadable vs non-loadable, etc. If no ++sections with matching attributes are found, or your target lacks this ++support, the orphan section is placed at the end of the file. ++ ++The command-line options @samp{--orphan-handling} and @samp{--unique} ++(@pxref{Options,,Command-line Options}) can be used to control which ++output sections an orphan is placed in. ++ ++@node Location Counter ++@subsection The Location Counter ++@kindex . ++@cindex dot ++@cindex location counter ++@cindex current output location ++The special linker variable @dfn{dot} @samp{.} always contains the ++current output location counter. Since the @code{.} always refers to a ++location in an output section, it may only appear in an expression ++within a @code{SECTIONS} command. The @code{.} symbol may appear ++anywhere that an ordinary symbol is allowed in an expression. ++ ++@cindex holes ++Assigning a value to @code{.} will cause the location counter to be ++moved. This may be used to create holes in the output section. The ++location counter may not be moved backwards inside an output section, ++and may not be moved backwards outside of an output section if so ++doing creates areas with overlapping LMAs. ++ ++@smallexample ++SECTIONS ++@{ ++ output : ++ @{ ++ file1(.text) ++ . = . + 1000; ++ file2(.text) ++ . += 1000; ++ file3(.text) ++ @} = 0x12345678; ++@} ++@end smallexample ++@noindent ++In the previous example, the @samp{.text} section from @file{file1} is ++located at the beginning of the output section @samp{output}. It is ++followed by a 1000 byte gap. Then the @samp{.text} section from ++@file{file2} appears, also with a 1000 byte gap following before the ++@samp{.text} section from @file{file3}. The notation @samp{= 0x12345678} ++specifies what data to write in the gaps (@pxref{Output Section Fill}). ++ ++@cindex dot inside sections ++Note: @code{.} actually refers to the byte offset from the start of the ++current containing object. Normally this is the @code{SECTIONS} ++statement, whose start address is 0, hence @code{.} can be used as an ++absolute address. If @code{.} is used inside a section description ++however, it refers to the byte offset from the start of that section, ++not an absolute address. Thus in a script like this: ++ ++@smallexample ++SECTIONS ++@{ ++ . = 0x100 ++ .text: @{ ++ *(.text) ++ . = 0x200 ++ @} ++ . = 0x500 ++ .data: @{ ++ *(.data) ++ . += 0x600 ++ @} ++@} ++@end smallexample ++ ++The @samp{.text} section will be assigned a starting address of 0x100 ++and a size of exactly 0x200 bytes, even if there is not enough data in ++the @samp{.text} input sections to fill this area. (If there is too ++much data, an error will be produced because this would be an attempt to ++move @code{.} backwards). The @samp{.data} section will start at 0x500 ++and it will have an extra 0x600 bytes worth of space after the end of ++the values from the @samp{.data} input sections and before the end of ++the @samp{.data} output section itself. ++ ++@cindex dot outside sections ++Setting symbols to the value of the location counter outside of an ++output section statement can result in unexpected values if the linker ++needs to place orphan sections. For example, given the following: ++ ++@smallexample ++SECTIONS ++@{ ++ start_of_text = . ; ++ .text: @{ *(.text) @} ++ end_of_text = . ; ++ ++ start_of_data = . ; ++ .data: @{ *(.data) @} ++ end_of_data = . ; ++@} ++@end smallexample ++ ++If the linker needs to place some input section, e.g. @code{.rodata}, ++not mentioned in the script, it might choose to place that section ++between @code{.text} and @code{.data}. You might think the linker ++should place @code{.rodata} on the blank line in the above script, but ++blank lines are of no particular significance to the linker. As well, ++the linker doesn't associate the above symbol names with their ++sections. Instead, it assumes that all assignments or other ++statements belong to the previous output section, except for the ++special case of an assignment to @code{.}. I.e., the linker will ++place the orphan @code{.rodata} section as if the script was written ++as follows: ++ ++@smallexample ++SECTIONS ++@{ ++ start_of_text = . ; ++ .text: @{ *(.text) @} ++ end_of_text = . ; ++ ++ start_of_data = . ; ++ .rodata: @{ *(.rodata) @} ++ .data: @{ *(.data) @} ++ end_of_data = . ; ++@} ++@end smallexample ++ ++This may or may not be the script author's intention for the value of ++@code{start_of_data}. One way to influence the orphan section ++placement is to assign the location counter to itself, as the linker ++assumes that an assignment to @code{.} is setting the start address of ++a following output section and thus should be grouped with that ++section. So you could write: ++ ++@smallexample ++SECTIONS ++@{ ++ start_of_text = . ; ++ .text: @{ *(.text) @} ++ end_of_text = . ; ++ ++ . = . ; ++ start_of_data = . ; ++ .data: @{ *(.data) @} ++ end_of_data = . ; ++@} ++@end smallexample ++ ++Now, the orphan @code{.rodata} section will be placed between ++@code{end_of_text} and @code{start_of_data}. ++ ++@need 2000 ++@node Operators ++@subsection Operators ++@cindex operators for arithmetic ++@cindex arithmetic operators ++@cindex precedence in expressions ++The linker recognizes the standard C set of arithmetic operators, with ++the standard bindings and precedence levels: ++@c TEXI2ROFF-KILL ++@ifnottex ++@c END TEXI2ROFF-KILL ++@smallexample ++precedence associativity Operators Notes ++(highest) ++1 left ! - ~ (1) ++2 left * / % ++3 left + - ++4 left >> << ++5 left == != > < <= >= ++6 left & ++7 left | ++8 left && ++9 left || ++10 right ? : ++11 right &= += -= *= /= (2) ++(lowest) ++@end smallexample ++Notes: ++(1) Prefix operators ++(2) @xref{Assignments}. ++@c TEXI2ROFF-KILL ++@end ifnottex ++@tex ++\vskip \baselineskip ++%"lispnarrowing" is the extra indent used generally for smallexample ++\hskip\lispnarrowing\vbox{\offinterlineskip ++\hrule ++\halign ++{\vrule#&\strut\hfil\ #\ \hfil&\vrule#&\strut\hfil\ #\ \hfil&\vrule#&\strut\hfil\ {\tt #}\ \hfil&\vrule#\cr ++height2pt&\omit&&\omit&&\omit&\cr ++&Precedence&& Associativity &&{\rm Operators}&\cr ++height2pt&\omit&&\omit&&\omit&\cr ++\noalign{\hrule} ++height2pt&\omit&&\omit&&\omit&\cr ++&highest&&&&&\cr ++% '176 is tilde, '~' in tt font ++&1&&left&&\qquad- \char'176\ !\qquad\dag&\cr ++&2&&left&&* / \%&\cr ++&3&&left&&+ -&\cr ++&4&&left&&>> <<&\cr ++&5&&left&&== != > < <= >=&\cr ++&6&&left&&\&&\cr ++&7&&left&&|&\cr ++&8&&left&&{\&\&}&\cr ++&9&&left&&||&\cr ++&10&&right&&? :&\cr ++&11&&right&&\qquad\&= += -= *= /=\qquad\ddag&\cr ++&lowest&&&&&\cr ++height2pt&\omit&&\omit&&\omit&\cr} ++\hrule} ++@end tex ++@iftex ++{ ++@obeylines@parskip=0pt@parindent=0pt ++@dag@quad Prefix operators. ++@ddag@quad @xref{Assignments}. ++} ++@end iftex ++@c END TEXI2ROFF-KILL ++ ++@node Evaluation ++@subsection Evaluation ++@cindex lazy evaluation ++@cindex expression evaluation order ++The linker evaluates expressions lazily. It only computes the value of ++an expression when absolutely necessary. ++ ++The linker needs some information, such as the value of the start ++address of the first section, and the origins and lengths of memory ++regions, in order to do any linking at all. These values are computed ++as soon as possible when the linker reads in the linker script. ++ ++However, other values (such as symbol values) are not known or needed ++until after storage allocation. Such values are evaluated later, when ++other information (such as the sizes of output sections) is available ++for use in the symbol assignment expression. ++ ++The sizes of sections cannot be known until after allocation, so ++assignments dependent upon these are not performed until after ++allocation. ++ ++Some expressions, such as those depending upon the location counter ++@samp{.}, must be evaluated during section allocation. ++ ++If the result of an expression is required, but the value is not ++available, then an error results. For example, a script like the ++following ++@smallexample ++@group ++SECTIONS ++ @{ ++ .text 9+this_isnt_constant : ++ @{ *(.text) @} ++ @} ++@end group ++@end smallexample ++@noindent ++will cause the error message @samp{non constant expression for initial ++address}. ++ ++@node Expression Section ++@subsection The Section of an Expression ++@cindex expression sections ++@cindex absolute expressions ++@cindex relative expressions ++@cindex absolute and relocatable symbols ++@cindex relocatable and absolute symbols ++@cindex symbols, relocatable and absolute ++Addresses and symbols may be section relative, or absolute. A section ++relative symbol is relocatable. If you request relocatable output ++using the @samp{-r} option, a further link operation may change the ++value of a section relative symbol. On the other hand, an absolute ++symbol will retain the same value throughout any further link ++operations. ++ ++Some terms in linker expressions are addresses. This is true of ++section relative symbols and for builtin functions that return an ++address, such as @code{ADDR}, @code{LOADADDR}, @code{ORIGIN} and ++@code{SEGMENT_START}. Other terms are simply numbers, or are builtin ++functions that return a non-address value, such as @code{LENGTH}. ++One complication is that unless you set @code{LD_FEATURE ("SANE_EXPR")} ++(@pxref{Miscellaneous Commands}), numbers and absolute symbols are treated ++differently depending on their location, for compatibility with older ++versions of @code{ld}. Expressions appearing outside an output ++section definition treat all numbers as absolute addresses. ++Expressions appearing inside an output section definition treat ++absolute symbols as numbers. If @code{LD_FEATURE ("SANE_EXPR")} is ++given, then absolute symbols and numbers are simply treated as numbers ++everywhere. ++ ++In the following simple example, ++ ++@smallexample ++@group ++SECTIONS ++ @{ ++ . = 0x100; ++ __executable_start = 0x100; ++ .data : ++ @{ ++ . = 0x10; ++ __data_start = 0x10; ++ *(.data) ++ @} ++ @dots{} ++ @} ++@end group ++@end smallexample ++ ++both @code{.} and @code{__executable_start} are set to the absolute ++address 0x100 in the first two assignments, then both @code{.} and ++@code{__data_start} are set to 0x10 relative to the @code{.data} ++section in the second two assignments. ++ ++For expressions involving numbers, relative addresses and absolute ++addresses, ld follows these rules to evaluate terms: ++ ++@itemize @bullet ++@item ++Unary operations on an absolute address or number, and binary ++operations on two absolute addresses or two numbers, or between one ++absolute address and a number, apply the operator to the value(s). ++@item ++Unary operations on a relative address, and binary operations on two ++relative addresses in the same section or between one relative address ++and a number, apply the operator to the offset part of the address(es). ++@item ++Other binary operations, that is, between two relative addresses not ++in the same section, or between a relative address and an absolute ++address, first convert any non-absolute term to an absolute address ++before applying the operator. ++@end itemize ++ ++The result section of each sub-expression is as follows: ++ ++@itemize @bullet ++@item ++An operation involving only numbers results in a number. ++@item ++The result of comparisons, @samp{&&} and @samp{||} is also a number. ++@item ++The result of other binary arithmetic and logical operations on two ++relative addresses in the same section or two absolute addresses ++(after above conversions) is also a number when ++@code{LD_FEATURE ("SANE_EXPR")} or inside an output section definition ++but an absolute address otherwise. ++@item ++The result of other operations on relative addresses or one ++relative address and a number, is a relative address in the same ++section as the relative operand(s). ++@item ++The result of other operations on absolute addresses (after above ++conversions) is an absolute address. ++@end itemize ++ ++You can use the builtin function @code{ABSOLUTE} to force an expression ++to be absolute when it would otherwise be relative. For example, to ++create an absolute symbol set to the address of the end of the output ++section @samp{.data}: ++@smallexample ++SECTIONS ++ @{ ++ .data : @{ *(.data) _edata = ABSOLUTE(.); @} ++ @} ++@end smallexample ++@noindent ++If @samp{ABSOLUTE} were not used, @samp{_edata} would be relative to the ++@samp{.data} section. ++ ++Using @code{LOADADDR} also forces an expression absolute, since this ++particular builtin function returns an absolute address. ++ ++@node Builtin Functions ++@subsection Builtin Functions ++@cindex functions in expressions ++The linker script language includes a number of builtin functions for ++use in linker script expressions. ++ ++@table @code ++@item ABSOLUTE(@var{exp}) ++@kindex ABSOLUTE(@var{exp}) ++@cindex expression, absolute ++Return the absolute (non-relocatable, as opposed to non-negative) value ++of the expression @var{exp}. Primarily useful to assign an absolute ++value to a symbol within a section definition, where symbol values are ++normally section relative. @xref{Expression Section}. ++ ++@item ADDR(@var{section}) ++@kindex ADDR(@var{section}) ++@cindex section address in expression ++Return the address (VMA) of the named @var{section}. Your ++script must previously have defined the location of that section. In ++the following example, @code{start_of_output_1}, @code{symbol_1} and ++@code{symbol_2} are assigned equivalent values, except that ++@code{symbol_1} will be relative to the @code{.output1} section while ++the other two will be absolute: ++@smallexample ++@group ++SECTIONS @{ @dots{} ++ .output1 : ++ @{ ++ start_of_output_1 = ABSOLUTE(.); ++ @dots{} ++ @} ++ .output : ++ @{ ++ symbol_1 = ADDR(.output1); ++ symbol_2 = start_of_output_1; ++ @} ++@dots{} @} ++@end group ++@end smallexample ++ ++@item ALIGN(@var{align}) ++@itemx ALIGN(@var{exp},@var{align}) ++@kindex ALIGN(@var{align}) ++@kindex ALIGN(@var{exp},@var{align}) ++@cindex round up location counter ++@cindex align location counter ++@cindex round up expression ++@cindex align expression ++Return the location counter (@code{.}) or arbitrary expression aligned ++to the next @var{align} boundary. The single operand @code{ALIGN} ++doesn't change the value of the location counter---it just does ++arithmetic on it. The two operand @code{ALIGN} allows an arbitrary ++expression to be aligned upwards (@code{ALIGN(@var{align})} is ++equivalent to @code{ALIGN(ABSOLUTE(.), @var{align})}). ++ ++Here is an example which aligns the output @code{.data} section to the ++next @code{0x2000} byte boundary after the preceding section and sets a ++variable within the section to the next @code{0x8000} boundary after the ++input sections: ++@smallexample ++@group ++SECTIONS @{ @dots{} ++ .data ALIGN(0x2000): @{ ++ *(.data) ++ variable = ALIGN(0x8000); ++ @} ++@dots{} @} ++@end group ++@end smallexample ++@noindent ++The first use of @code{ALIGN} in this example specifies the location of ++a section because it is used as the optional @var{address} attribute of ++a section definition (@pxref{Output Section Address}). The second use ++of @code{ALIGN} is used to defines the value of a symbol. ++ ++The builtin function @code{NEXT} is closely related to @code{ALIGN}. ++ ++@item ALIGNOF(@var{section}) ++@kindex ALIGNOF(@var{section}) ++@cindex section alignment ++Return the alignment in bytes of the named @var{section}, if that section has ++been allocated. If the section has not been allocated when this is ++evaluated, the linker will report an error. In the following example, ++the alignment of the @code{.output} section is stored as the first ++value in that section. ++@smallexample ++@group ++SECTIONS@{ @dots{} ++ .output @{ ++ LONG (ALIGNOF (.output)) ++ @dots{} ++ @} ++@dots{} @} ++@end group ++@end smallexample ++ ++@item BLOCK(@var{exp}) ++@kindex BLOCK(@var{exp}) ++This is a synonym for @code{ALIGN}, for compatibility with older linker ++scripts. It is most often seen when setting the address of an output ++section. ++ ++@item DATA_SEGMENT_ALIGN(@var{maxpagesize}, @var{commonpagesize}) ++@kindex DATA_SEGMENT_ALIGN(@var{maxpagesize}, @var{commonpagesize}) ++This is equivalent to either ++@smallexample ++(ALIGN(@var{maxpagesize}) + (. & (@var{maxpagesize} - 1))) ++@end smallexample ++or ++@smallexample ++(ALIGN(@var{maxpagesize}) ++ + ((. + @var{commonpagesize} - 1) & (@var{maxpagesize} - @var{commonpagesize}))) ++@end smallexample ++@noindent ++depending on whether the latter uses fewer @var{commonpagesize} sized pages ++for the data segment (area between the result of this expression and ++@code{DATA_SEGMENT_END}) than the former or not. ++If the latter form is used, it means @var{commonpagesize} bytes of runtime ++memory will be saved at the expense of up to @var{commonpagesize} wasted ++bytes in the on-disk file. ++ ++This expression can only be used directly in @code{SECTIONS} commands, not in ++any output section descriptions and only once in the linker script. ++@var{commonpagesize} should be less or equal to @var{maxpagesize} and should ++be the system page size the object wants to be optimized for while still ++running on system page sizes up to @var{maxpagesize}. Note however ++that @samp{-z relro} protection will not be effective if the system ++page size is larger than @var{commonpagesize}. ++ ++@noindent ++Example: ++@smallexample ++ . = DATA_SEGMENT_ALIGN(0x10000, 0x2000); ++@end smallexample ++ ++@item DATA_SEGMENT_END(@var{exp}) ++@kindex DATA_SEGMENT_END(@var{exp}) ++This defines the end of data segment for @code{DATA_SEGMENT_ALIGN} ++evaluation purposes. ++ ++@smallexample ++ . = DATA_SEGMENT_END(.); ++@end smallexample ++ ++@item DATA_SEGMENT_RELRO_END(@var{offset}, @var{exp}) ++@kindex DATA_SEGMENT_RELRO_END(@var{offset}, @var{exp}) ++This defines the end of the @code{PT_GNU_RELRO} segment when ++@samp{-z relro} option is used. ++When @samp{-z relro} option is not present, @code{DATA_SEGMENT_RELRO_END} ++does nothing, otherwise @code{DATA_SEGMENT_ALIGN} is padded so that ++@var{exp} + @var{offset} is aligned to the @var{commonpagesize} ++argument given to @code{DATA_SEGMENT_ALIGN}. If present in the linker ++script, it must be placed between @code{DATA_SEGMENT_ALIGN} and ++@code{DATA_SEGMENT_END}. Evaluates to the second argument plus any ++padding needed at the end of the @code{PT_GNU_RELRO} segment due to ++section alignment. ++ ++@smallexample ++ . = DATA_SEGMENT_RELRO_END(24, .); ++@end smallexample ++ ++@item DEFINED(@var{symbol}) ++@kindex DEFINED(@var{symbol}) ++@cindex symbol defaults ++Return 1 if @var{symbol} is in the linker global symbol table and is ++defined before the statement using DEFINED in the script, otherwise ++return 0. You can use this function to provide ++default values for symbols. For example, the following script fragment ++shows how to set a global symbol @samp{begin} to the first location in ++the @samp{.text} section---but if a symbol called @samp{begin} already ++existed, its value is preserved: ++ ++@smallexample ++@group ++SECTIONS @{ @dots{} ++ .text : @{ ++ begin = DEFINED(begin) ? begin : . ; ++ @dots{} ++ @} ++ @dots{} ++@} ++@end group ++@end smallexample ++ ++@item LENGTH(@var{memory}) ++@kindex LENGTH(@var{memory}) ++Return the length of the memory region named @var{memory}. ++ ++@item LOADADDR(@var{section}) ++@kindex LOADADDR(@var{section}) ++@cindex section load address in expression ++Return the absolute LMA of the named @var{section}. (@pxref{Output ++Section LMA}). ++ ++@item LOG2CEIL(@var{exp}) ++@kindex LOG2CEIL(@var{exp}) ++Return the binary logarithm of @var{exp} rounded towards infinity. ++@code{LOG2CEIL(0)} returns 0. ++ ++@kindex MAX ++@item MAX(@var{exp1}, @var{exp2}) ++Returns the maximum of @var{exp1} and @var{exp2}. ++ ++@kindex MIN ++@item MIN(@var{exp1}, @var{exp2}) ++Returns the minimum of @var{exp1} and @var{exp2}. ++ ++@item NEXT(@var{exp}) ++@kindex NEXT(@var{exp}) ++@cindex unallocated address, next ++Return the next unallocated address that is a multiple of @var{exp}. ++This function is closely related to @code{ALIGN(@var{exp})}; unless you ++use the @code{MEMORY} command to define discontinuous memory for the ++output file, the two functions are equivalent. ++ ++@item ORIGIN(@var{memory}) ++@kindex ORIGIN(@var{memory}) ++Return the origin of the memory region named @var{memory}. ++ ++@item SEGMENT_START(@var{segment}, @var{default}) ++@kindex SEGMENT_START(@var{segment}, @var{default}) ++Return the base address of the named @var{segment}. If an explicit ++value has already been given for this segment (with a command-line ++@samp{-T} option) then that value will be returned otherwise the value ++will be @var{default}. At present, the @samp{-T} command-line option ++can only be used to set the base address for the ``text'', ``data'', and ++``bss'' sections, but you can use @code{SEGMENT_START} with any segment ++name. ++ ++@item SIZEOF(@var{section}) ++@kindex SIZEOF(@var{section}) ++@cindex section size ++Return the size in bytes of the named @var{section}, if that section has ++been allocated. If the section has not been allocated when this is ++evaluated, the linker will report an error. In the following example, ++@code{symbol_1} and @code{symbol_2} are assigned identical values: ++@smallexample ++@group ++SECTIONS@{ @dots{} ++ .output @{ ++ .start = . ; ++ @dots{} ++ .end = . ; ++ @} ++ symbol_1 = .end - .start ; ++ symbol_2 = SIZEOF(.output); ++@dots{} @} ++@end group ++@end smallexample ++ ++@item SIZEOF_HEADERS ++@kindex SIZEOF_HEADERS ++@cindex header size ++Return the size in bytes of the output file's headers. This is ++information which appears at the start of the output file. You can use ++this number when setting the start address of the first section, if you ++choose, to facilitate paging. ++ ++@cindex not enough room for program headers ++@cindex program headers, not enough room ++When producing an ELF output file, if the linker script uses the ++@code{SIZEOF_HEADERS} builtin function, the linker must compute the ++number of program headers before it has determined all the section ++addresses and sizes. If the linker later discovers that it needs ++additional program headers, it will report an error @samp{not enough ++room for program headers}. To avoid this error, you must avoid using ++the @code{SIZEOF_HEADERS} function, or you must rework your linker ++script to avoid forcing the linker to use additional program headers, or ++you must define the program headers yourself using the @code{PHDRS} ++command (@pxref{PHDRS}). ++@end table ++ ++@node Implicit Linker Scripts ++@section Implicit Linker Scripts ++@cindex implicit linker scripts ++If you specify a linker input file which the linker can not recognize as ++an object file or an archive file, it will try to read the file as a ++linker script. If the file can not be parsed as a linker script, the ++linker will report an error. ++ ++An implicit linker script will not replace the default linker script. ++ ++Typically an implicit linker script would contain only symbol ++assignments, or the @code{INPUT}, @code{GROUP}, or @code{VERSION} ++commands. ++ ++Any input files read because of an implicit linker script will be read ++at the position in the command line where the implicit linker script was ++read. This can affect archive searching. ++ ++@node Plugins ++@chapter Linker Plugins ++ ++@cindex plugins ++@cindex linker plugins ++The linker can use dynamically loaded plugins to modify its behavior. ++For example, the link-time optimization feature that some compilers ++support is implemented with a linker plugin. ++ ++Currently there is only one plugin shipped by default, but more may ++be added here later. ++ ++Plugins are enabled via the use of the @option{-plugin @var{name}} ++command line option. @xref{Options}. ++ ++@menu ++* libdep Plugin:: Static Library Dependencies Plugin ++@end menu ++ ++@node libdep Plugin ++@section Static Library Dependencies Plugin ++@cindex static library dependencies ++Originally, static libraries were contained in an archive file consisting ++just of a collection of relocatable object files. Later they evolved to ++optionally include a symbol table, to assist in finding the needed objects ++within a library. There their evolution ended, and dynamic libraries ++rose to ascendance. ++ ++One useful feature of dynamic libraries was that, more than just collecting ++multiple objects into a single file, they also included a list of their ++dependencies, such that one could specify just the name of a single dynamic ++library at link time, and all of its dependencies would be implicitly ++referenced as well. But static libraries lacked this feature, so if a ++link invocation was switched from using dynamic libraries to static ++libraries, the link command would usually fail unless it was rewritten to ++explicitly list the dependencies of the static library. ++ ++The GNU @command{ar} utility now supports a @option{--record-libdeps} option ++to embed dependency lists into static libraries as well, and the @file{libdep} ++plugin may be used to read this dependency information at link time. The ++dependency information is stored as a single string, carrying @option{-l} ++and @option{-L} arguments as they would normally appear in a linker ++command line. As such, the information can be written with any text ++utility and stored into any archive, even if GNU @command{ar} is not ++being used to create the archive. The information is stored in an ++archive member named @samp{__.LIBDEP}. ++ ++For example, given a library @file{libssl.a} that depends on another ++library @file{libcrypto.a} which may be found in @file{/usr/local/lib}, ++the @samp{__.LIBDEP} member of @file{libssl.a} would contain ++ ++@smallexample ++-L/usr/local/lib -lcrypto ++@end smallexample ++ ++@ifset GENERIC ++@node Machine Dependent ++@chapter Machine Dependent Features ++ ++@cindex machine dependencies ++@command{ld} has additional features on some platforms; the following ++sections describe them. Machines where @command{ld} has no additional ++functionality are not listed. ++ ++@menu ++@ifset H8300 ++* H8/300:: @command{ld} and the H8/300 ++@end ifset ++@ifset M68HC11 ++* M68HC11/68HC12:: @code{ld} and the Motorola 68HC11 and 68HC12 families ++@end ifset ++@ifset ARM ++* ARM:: @command{ld} and the ARM family ++@end ifset ++@ifset HPPA ++* HPPA ELF32:: @command{ld} and HPPA 32-bit ELF ++@end ifset ++@ifset M68K ++* M68K:: @command{ld} and the Motorola 68K family ++@end ifset ++@ifset MIPS ++* MIPS:: @command{ld} and the MIPS family ++@end ifset ++@ifset MMIX ++* MMIX:: @command{ld} and MMIX ++@end ifset ++@ifset MSP430 ++* MSP430:: @command{ld} and MSP430 ++@end ifset ++@ifset NDS32 ++* NDS32:: @command{ld} and NDS32 ++@end ifset ++@ifset NIOSII ++* Nios II:: @command{ld} and the Altera Nios II ++@end ifset ++@ifset POWERPC ++* PowerPC ELF32:: @command{ld} and PowerPC 32-bit ELF Support ++@end ifset ++@ifset POWERPC64 ++* PowerPC64 ELF64:: @command{ld} and PowerPC64 64-bit ELF Support ++@end ifset ++@ifset S/390 ++* S/390 ELF:: @command{ld} and S/390 ELF Support ++@end ifset ++@ifset SPU ++* SPU ELF:: @command{ld} and SPU ELF Support ++@end ifset ++@ifset TICOFF ++* TI COFF:: @command{ld} and TI COFF ++@end ifset ++@ifset WIN32 ++* WIN32:: @command{ld} and WIN32 (cygwin/mingw) ++@end ifset ++@ifset XTENSA ++* Xtensa:: @command{ld} and Xtensa Processors ++@end ifset ++@end menu ++@end ifset ++ ++@ifset H8300 ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node H8/300 ++@section @command{ld} and the H8/300 ++ ++@cindex H8/300 support ++For the H8/300, @command{ld} can perform these global optimizations when ++you specify the @samp{--relax} command-line option. ++ ++@table @emph ++@cindex relaxing on H8/300 ++@item relaxing address modes ++@command{ld} finds all @code{jsr} and @code{jmp} instructions whose ++targets are within eight bits, and turns them into eight-bit ++program-counter relative @code{bsr} and @code{bra} instructions, ++respectively. ++ ++@cindex synthesizing on H8/300 ++@item synthesizing instructions ++@c FIXME: specifically mov.b, or any mov instructions really? -> mov.b only, at least on H8, H8H, H8S ++@command{ld} finds all @code{mov.b} instructions which use the ++sixteen-bit absolute address form, but refer to the top ++page of memory, and changes them to use the eight-bit address form. ++(That is: the linker turns @samp{mov.b @code{@@}@var{aa}:16} into ++@samp{mov.b @code{@@}@var{aa}:8} whenever the address @var{aa} is in the ++top page of memory). ++ ++@command{ld} finds all @code{mov} instructions which use the register ++indirect with 32-bit displacement addressing mode, but use a small ++displacement inside 16-bit displacement range, and changes them to use ++the 16-bit displacement form. (That is: the linker turns @samp{mov.b ++@code{@@}@var{d}:32,ERx} into @samp{mov.b @code{@@}@var{d}:16,ERx} ++whenever the displacement @var{d} is in the 16 bit signed integer ++range. Only implemented in ELF-format ld). ++ ++@item bit manipulation instructions ++@command{ld} finds all bit manipulation instructions like @code{band, bclr, ++biand, bild, bior, bist, bixor, bld, bnot, bor, bset, bst, btst, bxor} ++which use 32 bit and 16 bit absolute address form, but refer to the top ++page of memory, and changes them to use the 8 bit address form. ++(That is: the linker turns @samp{bset #xx:3,@code{@@}@var{aa}:32} into ++@samp{bset #xx:3,@code{@@}@var{aa}:8} whenever the address @var{aa} is in ++the top page of memory). ++ ++@item system control instructions ++@command{ld} finds all @code{ldc.w, stc.w} instructions which use the ++32 bit absolute address form, but refer to the top page of memory, and ++changes them to use 16 bit address form. ++(That is: the linker turns @samp{ldc.w @code{@@}@var{aa}:32,ccr} into ++@samp{ldc.w @code{@@}@var{aa}:16,ccr} whenever the address @var{aa} is in ++the top page of memory). ++@end table ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifclear GENERIC ++@ifset Renesas ++@c This stuff is pointless to say unless you're especially concerned ++@c with Renesas chips; don't enable it for generic case, please. ++@node Renesas ++@chapter @command{ld} and Other Renesas Chips ++ ++@command{ld} also supports the Renesas (formerly Hitachi) H8/300H, ++H8/500, and SH chips. No special features, commands, or command-line ++options are required for these chips. ++@end ifset ++@end ifclear ++ ++@ifset ARM ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@ifset M68HC11 ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node M68HC11/68HC12 ++@section @command{ld} and the Motorola 68HC11 and 68HC12 families ++ ++@cindex M68HC11 and 68HC12 support ++ ++@subsection Linker Relaxation ++ ++For the Motorola 68HC11, @command{ld} can perform these global ++optimizations when you specify the @samp{--relax} command-line option. ++ ++@table @emph ++@cindex relaxing on M68HC11 ++@item relaxing address modes ++@command{ld} finds all @code{jsr} and @code{jmp} instructions whose ++targets are within eight bits, and turns them into eight-bit ++program-counter relative @code{bsr} and @code{bra} instructions, ++respectively. ++ ++@command{ld} also looks at all 16-bit extended addressing modes and ++transforms them in a direct addressing mode when the address is in ++page 0 (between 0 and 0x0ff). ++ ++@item relaxing gcc instruction group ++When @command{gcc} is called with @option{-mrelax}, it can emit group ++of instructions that the linker can optimize to use a 68HC11 direct ++addressing mode. These instructions consists of @code{bclr} or ++@code{bset} instructions. ++ ++@end table ++ ++@subsection Trampoline Generation ++ ++@cindex trampoline generation on M68HC11 ++@cindex trampoline generation on M68HC12 ++For 68HC11 and 68HC12, @command{ld} can generate trampoline code to ++call a far function using a normal @code{jsr} instruction. The linker ++will also change the relocation to some far function to use the ++trampoline address instead of the function address. This is typically the ++case when a pointer to a function is taken. The pointer will in fact ++point to the function trampoline. ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@node ARM ++@section @command{ld} and the ARM family ++ ++@cindex ARM interworking support ++@kindex --support-old-code ++For the ARM, @command{ld} will generate code stubs to allow functions calls ++between ARM and Thumb code. These stubs only work with code that has ++been compiled and assembled with the @samp{-mthumb-interwork} command ++line option. If it is necessary to link with old ARM object files or ++libraries, which have not been compiled with the -mthumb-interwork ++option then the @samp{--support-old-code} command-line switch should be ++given to the linker. This will make it generate larger stub functions ++which will work with non-interworking aware ARM code. Note, however, ++the linker does not support generating stubs for function calls to ++non-interworking aware Thumb code. ++ ++@cindex thumb entry point ++@cindex entry point, thumb ++@kindex --thumb-entry=@var{entry} ++The @samp{--thumb-entry} switch is a duplicate of the generic ++@samp{--entry} switch, in that it sets the program's starting address. ++But it also sets the bottom bit of the address, so that it can be ++branched to using a BX instruction, and the program will start ++executing in Thumb mode straight away. ++ ++@cindex PE import table prefixing ++@kindex --use-nul-prefixed-import-tables ++The @samp{--use-nul-prefixed-import-tables} switch is specifying, that ++the import tables idata4 and idata5 have to be generated with a zero ++element prefix for import libraries. This is the old style to generate ++import tables. By default this option is turned off. ++ ++@cindex BE8 ++@kindex --be8 ++The @samp{--be8} switch instructs @command{ld} to generate BE8 format ++executables. This option is only valid when linking big-endian ++objects - ie ones which have been assembled with the @option{-EB} ++option. The resulting image will contain big-endian data and ++little-endian code. ++ ++@cindex TARGET1 ++@kindex --target1-rel ++@kindex --target1-abs ++The @samp{R_ARM_TARGET1} relocation is typically used for entries in the ++@samp{.init_array} section. It is interpreted as either @samp{R_ARM_REL32} ++or @samp{R_ARM_ABS32}, depending on the target. The @samp{--target1-rel} ++and @samp{--target1-abs} switches override the default. ++ ++@cindex TARGET2 ++@kindex --target2=@var{type} ++The @samp{--target2=type} switch overrides the default definition of the ++@samp{R_ARM_TARGET2} relocation. Valid values for @samp{type}, their ++meanings, and target defaults are as follows: ++@table @samp ++@item rel ++@samp{R_ARM_REL32} (arm*-*-elf, arm*-*-eabi) ++@item abs ++@samp{R_ARM_ABS32} ++@item got-rel ++@samp{R_ARM_GOT_PREL} (arm*-*-linux, arm*-*-*bsd) ++@end table ++ ++@cindex FIX_V4BX ++@kindex --fix-v4bx ++The @samp{R_ARM_V4BX} relocation (defined by the ARM AAELF ++specification) enables objects compiled for the ARMv4 architecture to be ++interworking-safe when linked with other objects compiled for ARMv4t, but ++also allows pure ARMv4 binaries to be built from the same ARMv4 objects. ++ ++In the latter case, the switch @option{--fix-v4bx} must be passed to the ++linker, which causes v4t @code{BX rM} instructions to be rewritten as ++@code{MOV PC,rM}, since v4 processors do not have a @code{BX} instruction. ++ ++In the former case, the switch should not be used, and @samp{R_ARM_V4BX} ++relocations are ignored. ++ ++@cindex FIX_V4BX_INTERWORKING ++@kindex --fix-v4bx-interworking ++Replace @code{BX rM} instructions identified by @samp{R_ARM_V4BX} ++relocations with a branch to the following veneer: ++ ++@smallexample ++TST rM, #1 ++MOVEQ PC, rM ++BX Rn ++@end smallexample ++ ++This allows generation of libraries/applications that work on ARMv4 cores ++and are still interworking safe. Note that the above veneer clobbers the ++condition flags, so may cause incorrect program behavior in rare cases. ++ ++@cindex USE_BLX ++@kindex --use-blx ++The @samp{--use-blx} switch enables the linker to use ARM/Thumb ++BLX instructions (available on ARMv5t and above) in various ++situations. Currently it is used to perform calls via the PLT from Thumb ++code using BLX rather than using BX and a mode-switching stub before ++each PLT entry. This should lead to such calls executing slightly faster. ++ ++@cindex VFP11_DENORM_FIX ++@kindex --vfp11-denorm-fix ++The @samp{--vfp11-denorm-fix} switch enables a link-time workaround for a ++bug in certain VFP11 coprocessor hardware, which sometimes allows ++instructions with denorm operands (which must be handled by support code) ++to have those operands overwritten by subsequent instructions before ++the support code can read the intended values. ++ ++The bug may be avoided in scalar mode if you allow at least one ++intervening instruction between a VFP11 instruction which uses a register ++and another instruction which writes to the same register, or at least two ++intervening instructions if vector mode is in use. The bug only affects ++full-compliance floating-point mode: you do not need this workaround if ++you are using "runfast" mode. Please contact ARM for further details. ++ ++If you know you are using buggy VFP11 hardware, you can ++enable this workaround by specifying the linker option ++@samp{--vfp-denorm-fix=scalar} if you are using the VFP11 scalar ++mode only, or @samp{--vfp-denorm-fix=vector} if you are using ++vector mode (the latter also works for scalar code). The default is ++@samp{--vfp-denorm-fix=none}. ++ ++If the workaround is enabled, instructions are scanned for ++potentially-troublesome sequences, and a veneer is created for each ++such sequence which may trigger the erratum. The veneer consists of the ++first instruction of the sequence and a branch back to the subsequent ++instruction. The original instruction is then replaced with a branch to ++the veneer. The extra cycles required to call and return from the veneer ++are sufficient to avoid the erratum in both the scalar and vector cases. ++ ++@cindex ARM1176 erratum workaround ++@kindex --fix-arm1176 ++@kindex --no-fix-arm1176 ++The @samp{--fix-arm1176} switch enables a link-time workaround for an erratum ++in certain ARM1176 processors. The workaround is enabled by default if you ++are targeting ARM v6 (excluding ARM v6T2) or earlier. It can be disabled ++unconditionally by specifying @samp{--no-fix-arm1176}. ++ ++Further information is available in the ``ARM1176JZ-S and ARM1176JZF-S ++Programmer Advice Notice'' available on the ARM documentation website at: ++http://infocenter.arm.com/. ++ ++@cindex STM32L4xx erratum workaround ++@kindex --fix-stm32l4xx-629360 ++ ++The @samp{--fix-stm32l4xx-629360} switch enables a link-time ++workaround for a bug in the bus matrix / memory controller for some of ++the STM32 Cortex-M4 based products (STM32L4xx). When accessing ++off-chip memory via the affected bus for bus reads of 9 words or more, ++the bus can generate corrupt data and/or abort. These are only ++core-initiated accesses (not DMA), and might affect any access: ++integer loads such as LDM, POP and floating-point loads such as VLDM, ++VPOP. Stores are not affected. ++ ++The bug can be avoided by splitting memory accesses into the ++necessary chunks to keep bus reads below 8 words. ++ ++The workaround is not enabled by default, this is equivalent to use ++@samp{--fix-stm32l4xx-629360=none}. If you know you are using buggy ++STM32L4xx hardware, you can enable the workaround by specifying the ++linker option @samp{--fix-stm32l4xx-629360}, or the equivalent ++@samp{--fix-stm32l4xx-629360=default}. ++ ++If the workaround is enabled, instructions are scanned for ++potentially-troublesome sequences, and a veneer is created for each ++such sequence which may trigger the erratum. The veneer consists in a ++replacement sequence emulating the behaviour of the original one and a ++branch back to the subsequent instruction. The original instruction is ++then replaced with a branch to the veneer. ++ ++The workaround does not always preserve the memory access order for ++the LDMDB instruction, when the instruction loads the PC. ++ ++The workaround is not able to handle problematic instructions when ++they are in the middle of an IT block, since a branch is not allowed ++there. In that case, the linker reports a warning and no replacement ++occurs. ++ ++The workaround is not able to replace problematic instructions with a ++PC-relative branch instruction if the @samp{.text} section is too ++large. In that case, when the branch that replaces the original code ++cannot be encoded, the linker reports a warning and no replacement ++occurs. ++ ++@cindex NO_ENUM_SIZE_WARNING ++@kindex --no-enum-size-warning ++The @option{--no-enum-size-warning} switch prevents the linker from ++warning when linking object files that specify incompatible EABI ++enumeration size attributes. For example, with this switch enabled, ++linking of an object file using 32-bit enumeration values with another ++using enumeration values fitted into the smallest possible space will ++not be diagnosed. ++ ++@cindex NO_WCHAR_SIZE_WARNING ++@kindex --no-wchar-size-warning ++The @option{--no-wchar-size-warning} switch prevents the linker from ++warning when linking object files that specify incompatible EABI ++@code{wchar_t} size attributes. For example, with this switch enabled, ++linking of an object file using 32-bit @code{wchar_t} values with another ++using 16-bit @code{wchar_t} values will not be diagnosed. ++ ++@cindex PIC_VENEER ++@kindex --pic-veneer ++The @samp{--pic-veneer} switch makes the linker use PIC sequences for ++ARM/Thumb interworking veneers, even if the rest of the binary ++is not PIC. This avoids problems on uClinux targets where ++@samp{--emit-relocs} is used to generate relocatable binaries. ++ ++@cindex STUB_GROUP_SIZE ++@kindex --stub-group-size=@var{N} ++The linker will automatically generate and insert small sequences of ++code into a linked ARM ELF executable whenever an attempt is made to ++perform a function call to a symbol that is too far away. The ++placement of these sequences of instructions - called stubs - is ++controlled by the command-line option @option{--stub-group-size=N}. ++The placement is important because a poor choice can create a need for ++duplicate stubs, increasing the code size. The linker will try to ++group stubs together in order to reduce interruptions to the flow of ++code, but it needs guidance as to how big these groups should be and ++where they should be placed. ++ ++The value of @samp{N}, the parameter to the ++@option{--stub-group-size=} option controls where the stub groups are ++placed. If it is negative then all stubs are placed after the first ++branch that needs them. If it is positive then the stubs can be ++placed either before or after the branches that need them. If the ++value of @samp{N} is 1 (either +1 or -1) then the linker will choose ++exactly where to place groups of stubs, using its built in heuristics. ++A value of @samp{N} greater than 1 (or smaller than -1) tells the ++linker that a single group of stubs can service at most @samp{N} bytes ++from the input sections. ++ ++The default, if @option{--stub-group-size=} is not specified, is ++@samp{N = +1}. ++ ++Farcalls stubs insertion is fully supported for the ARM-EABI target ++only, because it relies on object files properties not present ++otherwise. ++ ++@cindex Cortex-A8 erratum workaround ++@kindex --fix-cortex-a8 ++@kindex --no-fix-cortex-a8 ++The @samp{--fix-cortex-a8} switch enables a link-time workaround for an erratum in certain Cortex-A8 processors. The workaround is enabled by default if you are targeting the ARM v7-A architecture profile. It can be enabled otherwise by specifying @samp{--fix-cortex-a8}, or disabled unconditionally by specifying @samp{--no-fix-cortex-a8}. ++ ++The erratum only affects Thumb-2 code. Please contact ARM for further details. ++ ++@cindex Cortex-A53 erratum 835769 workaround ++@kindex --fix-cortex-a53-835769 ++@kindex --no-fix-cortex-a53-835769 ++The @samp{--fix-cortex-a53-835769} switch enables a link-time workaround for erratum 835769 present on certain early revisions of Cortex-A53 processors. The workaround is disabled by default. It can be enabled by specifying @samp{--fix-cortex-a53-835769}, or disabled unconditionally by specifying @samp{--no-fix-cortex-a53-835769}. ++ ++Please contact ARM for further details. ++ ++@kindex --merge-exidx-entries ++@kindex --no-merge-exidx-entries ++@cindex Merging exidx entries ++The @samp{--no-merge-exidx-entries} switch disables the merging of adjacent exidx entries in debuginfo. ++ ++@kindex --long-plt ++@cindex 32-bit PLT entries ++The @samp{--long-plt} option enables the use of 16 byte PLT entries ++which support up to 4Gb of code. The default is to use 12 byte PLT ++entries which only support 512Mb of code. ++ ++@kindex --no-apply-dynamic-relocs ++@cindex AArch64 rela addend ++The @samp{--no-apply-dynamic-relocs} option makes AArch64 linker do not apply ++link-time values for dynamic relocations. ++ ++@cindex Placement of SG veneers ++All SG veneers are placed in the special output section @code{.gnu.sgstubs}. ++Its start address must be set, either with the command-line option ++@samp{--section-start} or in a linker script, to indicate where to place these ++veneers in memory. ++ ++@kindex --cmse-implib ++@cindex Secure gateway import library ++The @samp{--cmse-implib} option requests that the import libraries ++specified by the @samp{--out-implib} and @samp{--in-implib} options are ++secure gateway import libraries, suitable for linking a non-secure ++executable against secure code as per ARMv8-M Security Extensions. ++ ++@kindex --in-implib=@var{file} ++@cindex Input import library ++The @samp{--in-implib=file} specifies an input import library whose symbols ++must keep the same address in the executable being produced. A warning is ++given if no @samp{--out-implib} is given but new symbols have been introduced ++in the executable that should be listed in its import library. Otherwise, if ++@samp{--out-implib} is specified, the symbols are added to the output import ++library. A warning is also given if some symbols present in the input import ++library have disappeared from the executable. This option is only effective ++for Secure Gateway import libraries, ie. when @samp{--cmse-implib} is ++specified. ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset HPPA ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node HPPA ELF32 ++@section @command{ld} and HPPA 32-bit ELF Support ++@cindex HPPA multiple sub-space stubs ++@kindex --multi-subspace ++When generating a shared library, @command{ld} will by default generate ++import stubs suitable for use with a single sub-space application. ++The @samp{--multi-subspace} switch causes @command{ld} to generate export ++stubs, and different (larger) import stubs suitable for use with ++multiple sub-spaces. ++ ++@cindex HPPA stub grouping ++@kindex --stub-group-size=@var{N} ++Long branch stubs and import/export stubs are placed by @command{ld} in ++stub sections located between groups of input sections. ++@samp{--stub-group-size} specifies the maximum size of a group of input ++sections handled by one stub section. Since branch offsets are signed, ++a stub section may serve two groups of input sections, one group before ++the stub section, and one group after it. However, when using ++conditional branches that require stubs, it may be better (for branch ++prediction) that stub sections only serve one group of input sections. ++A negative value for @samp{N} chooses this scheme, ensuring that ++branches to stubs always use a negative offset. Two special values of ++@samp{N} are recognized, @samp{1} and @samp{-1}. These both instruct ++@command{ld} to automatically size input section groups for the branch types ++detected, with the same behaviour regarding stub placement as other ++positive or negative values of @samp{N} respectively. ++ ++Note that @samp{--stub-group-size} does not split input sections. A ++single input section larger than the group size specified will of course ++create a larger group (of one section). If input sections are too ++large, it may not be possible for a branch to reach its stub. ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset M68K ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node M68K ++@section @command{ld} and the Motorola 68K family ++ ++@cindex Motorola 68K GOT generation ++@kindex --got=@var{type} ++The @samp{--got=@var{type}} option lets you choose the GOT generation scheme. ++The choices are @samp{single}, @samp{negative}, @samp{multigot} and ++@samp{target}. When @samp{target} is selected the linker chooses ++the default GOT generation scheme for the current target. ++@samp{single} tells the linker to generate a single GOT with ++entries only at non-negative offsets. ++@samp{negative} instructs the linker to generate a single GOT with ++entries at both negative and positive offsets. Not all environments ++support such GOTs. ++@samp{multigot} allows the linker to generate several GOTs in the ++output file. All GOT references from a single input object ++file access the same GOT, but references from different input object ++files might access different GOTs. Not all environments support such GOTs. ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset MIPS ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node MIPS ++@section @command{ld} and the MIPS family ++ ++@cindex MIPS microMIPS instruction choice selection ++@kindex --insn32 ++@kindex --no-insn32 ++The @samp{--insn32} and @samp{--no-insn32} options control the choice of ++microMIPS instructions used in code generated by the linker, such as that ++in the PLT or lazy binding stubs, or in relaxation. If @samp{--insn32} is ++used, then the linker only uses 32-bit instruction encodings. By default ++or if @samp{--no-insn32} is used, all instruction encodings are used, ++including 16-bit ones where possible. ++ ++@cindex MIPS branch relocation check control ++@kindex --ignore-branch-isa ++@kindex --no-ignore-branch-isa ++The @samp{--ignore-branch-isa} and @samp{--no-ignore-branch-isa} options ++control branch relocation checks for invalid ISA mode transitions. If ++@samp{--ignore-branch-isa} is used, then the linker accepts any branch ++relocations and any ISA mode transition required is lost in relocation ++calculation, except for some cases of @code{BAL} instructions which meet ++relaxation conditions and are converted to equivalent @code{JALX} ++instructions as the associated relocation is calculated. By default ++or if @samp{--no-ignore-branch-isa} is used a check is made causing ++the loss of an ISA mode transition to produce an error. ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset MMIX ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node MMIX ++@section @code{ld} and MMIX ++For MMIX, there is a choice of generating @code{ELF} object files or ++@code{mmo} object files when linking. The simulator @code{mmix} ++understands the @code{mmo} format. The binutils @code{objcopy} utility ++can translate between the two formats. ++ ++There is one special section, the @samp{.MMIX.reg_contents} section. ++Contents in this section is assumed to correspond to that of global ++registers, and symbols referring to it are translated to special symbols, ++equal to registers. In a final link, the start address of the ++@samp{.MMIX.reg_contents} section corresponds to the first allocated ++global register multiplied by 8. Register @code{$255} is not included in ++this section; it is always set to the program entry, which is at the ++symbol @code{Main} for @code{mmo} files. ++ ++Global symbols with the prefix @code{__.MMIX.start.}, for example ++@code{__.MMIX.start..text} and @code{__.MMIX.start..data} are special. ++The default linker script uses these to set the default start address ++of a section. ++ ++Initial and trailing multiples of zero-valued 32-bit words in a section, ++are left out from an mmo file. ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset MSP430 ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node MSP430 ++@section @code{ld} and MSP430 ++For the MSP430 it is possible to select the MPU architecture. The flag @samp{-m [mpu type]} ++will select an appropriate linker script for selected MPU type. (To get a list of known MPUs ++just pass @samp{-m help} option to the linker). ++ ++@cindex MSP430 extra sections ++The linker will recognize some extra sections which are MSP430 specific: ++ ++@table @code ++@item @samp{.vectors} ++Defines a portion of ROM where interrupt vectors located. ++ ++@item @samp{.bootloader} ++Defines the bootloader portion of the ROM (if applicable). Any code ++in this section will be uploaded to the MPU. ++ ++@item @samp{.infomem} ++Defines an information memory section (if applicable). Any code in ++this section will be uploaded to the MPU. ++ ++@item @samp{.infomemnobits} ++This is the same as the @samp{.infomem} section except that any code ++in this section will not be uploaded to the MPU. ++ ++@item @samp{.noinit} ++Denotes a portion of RAM located above @samp{.bss} section. ++ ++The last two sections are used by gcc. ++@end table ++ ++@table @option ++@cindex MSP430 Options ++@kindex --code-region ++@item --code-region=[either,lower,upper,none] ++This will transform .text* sections to [either,lower,upper].text* sections. The ++argument passed to GCC for -mcode-region is propagated to the linker ++using this option. ++ ++@kindex --data-region ++@item --data-region=[either,lower,upper,none] ++This will transform .data*, .bss* and .rodata* sections to ++[either,lower,upper].[data,bss,rodata]* sections. The argument passed to GCC ++for -mdata-region is propagated to the linker using this option. ++ ++@kindex --disable-sec-transformation ++@item --disable-sec-transformation ++Prevent the transformation of sections as specified by the @code{--code-region} ++and @code{--data-region} options. ++This is useful if you are compiling and linking using a single call to the GCC ++wrapper, and want to compile the source files using -m[code,data]-region but ++not transform the sections for prebuilt libraries and objects. ++@end table ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset NDS32 ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node NDS32 ++@section @code{ld} and NDS32 ++@kindex relaxing on NDS32 ++For NDS32, there are some options to select relaxation behavior. The linker ++relaxes objects according to these options. ++ ++@table @code ++@item @samp{--m[no-]fp-as-gp} ++Disable/enable fp-as-gp relaxation. ++ ++@item @samp{--mexport-symbols=FILE} ++Exporting symbols and their address into FILE as linker script. ++ ++@item @samp{--m[no-]ex9} ++Disable/enable link-time EX9 relaxation. ++ ++@item @samp{--mexport-ex9=FILE} ++Export the EX9 table after linking. ++ ++@item @samp{--mimport-ex9=FILE} ++Import the Ex9 table for EX9 relaxation. ++ ++@item @samp{--mupdate-ex9} ++Update the existing EX9 table. ++ ++@item @samp{--mex9-limit=NUM} ++Maximum number of entries in the ex9 table. ++ ++@item @samp{--mex9-loop-aware} ++Avoid generating the EX9 instruction inside the loop. ++ ++@item @samp{--m[no-]ifc} ++Disable/enable the link-time IFC optimization. ++ ++@item @samp{--mifc-loop-aware} ++Avoid generating the IFC instruction inside the loop. ++@end table ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset NIOSII ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node Nios II ++@section @command{ld} and the Altera Nios II ++@cindex Nios II call relaxation ++@kindex --relax on Nios II ++ ++Call and immediate jump instructions on Nios II processors are limited to ++transferring control to addresses in the same 256MB memory segment, ++which may result in @command{ld} giving ++@samp{relocation truncated to fit} errors with very large programs. ++The command-line option @option{--relax} enables the generation of ++trampolines that can access the entire 32-bit address space for calls ++outside the normal @code{call} and @code{jmpi} address range. These ++trampolines are inserted at section boundaries, so may not themselves ++be reachable if an input section and its associated call trampolines are ++larger than 256MB. ++ ++The @option{--relax} option is enabled by default unless @option{-r} ++is also specified. You can disable trampoline generation by using the ++@option{--no-relax} linker option. You can also disable this optimization ++locally by using the @samp{set .noat} directive in assembly-language ++source files, as the linker-inserted trampolines use the @code{at} ++register as a temporary. ++ ++Note that the linker @option{--relax} option is independent of assembler ++relaxation options, and that using the GNU assembler's @option{-relax-all} ++option interferes with the linker's more selective call instruction relaxation. ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset POWERPC ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node PowerPC ELF32 ++@section @command{ld} and PowerPC 32-bit ELF Support ++@cindex PowerPC long branches ++@kindex --relax on PowerPC ++Branches on PowerPC processors are limited to a signed 26-bit ++displacement, which may result in @command{ld} giving ++@samp{relocation truncated to fit} errors with very large programs. ++@samp{--relax} enables the generation of trampolines that can access ++the entire 32-bit address space. These trampolines are inserted at ++section boundaries, so may not themselves be reachable if an input ++section exceeds 33M in size. You may combine @samp{-r} and ++@samp{--relax} to add trampolines in a partial link. In that case ++both branches to undefined symbols and inter-section branches are also ++considered potentially out of range, and trampolines inserted. ++ ++@cindex PowerPC ELF32 options ++@table @option ++@cindex PowerPC PLT ++@kindex --bss-plt ++@item --bss-plt ++Current PowerPC GCC accepts a @samp{-msecure-plt} option that ++generates code capable of using a newer PLT and GOT layout that has ++the security advantage of no executable section ever needing to be ++writable and no writable section ever being executable. PowerPC ++@command{ld} will generate this layout, including stubs to access the ++PLT, if all input files (including startup and static libraries) were ++compiled with @samp{-msecure-plt}. @samp{--bss-plt} forces the old ++BSS PLT (and GOT layout) which can give slightly better performance. ++ ++@kindex --secure-plt ++@item --secure-plt ++@command{ld} will use the new PLT and GOT layout if it is linking new ++@samp{-fpic} or @samp{-fPIC} code, but does not do so automatically ++when linking non-PIC code. This option requests the new PLT and GOT ++layout. A warning will be given if some object file requires the old ++style BSS PLT. ++ ++@cindex PowerPC GOT ++@kindex --sdata-got ++@item --sdata-got ++The new secure PLT and GOT are placed differently relative to other ++sections compared to older BSS PLT and GOT placement. The location of ++@code{.plt} must change because the new secure PLT is an initialized ++section while the old PLT is uninitialized. The reason for the ++@code{.got} change is more subtle: The new placement allows ++@code{.got} to be read-only in applications linked with ++@samp{-z relro -z now}. However, this placement means that ++@code{.sdata} cannot always be used in shared libraries, because the ++PowerPC ABI accesses @code{.sdata} in shared libraries from the GOT ++pointer. @samp{--sdata-got} forces the old GOT placement. PowerPC ++GCC doesn't use @code{.sdata} in shared libraries, so this option is ++really only useful for other compilers that may do so. ++ ++@cindex PowerPC stub symbols ++@kindex --emit-stub-syms ++@item --emit-stub-syms ++This option causes @command{ld} to label linker stubs with a local ++symbol that encodes the stub type and destination. ++ ++@cindex PowerPC TLS optimization ++@kindex --no-tls-optimize ++@item --no-tls-optimize ++PowerPC @command{ld} normally performs some optimization of code ++sequences used to access Thread-Local Storage. Use this option to ++disable the optimization. ++@end table ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset POWERPC64 ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node PowerPC64 ELF64 ++@section @command{ld} and PowerPC64 64-bit ELF Support ++ ++@cindex PowerPC64 ELF64 options ++@table @option ++@cindex PowerPC64 stub grouping ++@kindex --stub-group-size ++@item --stub-group-size ++Long branch stubs, PLT call stubs and TOC adjusting stubs are placed ++by @command{ld} in stub sections located between groups of input sections. ++@samp{--stub-group-size} specifies the maximum size of a group of input ++sections handled by one stub section. Since branch offsets are signed, ++a stub section may serve two groups of input sections, one group before ++the stub section, and one group after it. However, when using ++conditional branches that require stubs, it may be better (for branch ++prediction) that stub sections only serve one group of input sections. ++A negative value for @samp{N} chooses this scheme, ensuring that ++branches to stubs always use a negative offset. Two special values of ++@samp{N} are recognized, @samp{1} and @samp{-1}. These both instruct ++@command{ld} to automatically size input section groups for the branch types ++detected, with the same behaviour regarding stub placement as other ++positive or negative values of @samp{N} respectively. ++ ++Note that @samp{--stub-group-size} does not split input sections. A ++single input section larger than the group size specified will of course ++create a larger group (of one section). If input sections are too ++large, it may not be possible for a branch to reach its stub. ++ ++@cindex PowerPC64 stub symbols ++@kindex --emit-stub-syms ++@item --emit-stub-syms ++This option causes @command{ld} to label linker stubs with a local ++symbol that encodes the stub type and destination. ++ ++@cindex PowerPC64 dot symbols ++@kindex --dotsyms ++@kindex --no-dotsyms ++@item --dotsyms ++@itemx --no-dotsyms ++These two options control how @command{ld} interprets version patterns ++in a version script. Older PowerPC64 compilers emitted both a ++function descriptor symbol with the same name as the function, and a ++code entry symbol with the name prefixed by a dot (@samp{.}). To ++properly version a function @samp{foo}, the version script thus needs ++to control both @samp{foo} and @samp{.foo}. The option ++@samp{--dotsyms}, on by default, automatically adds the required ++dot-prefixed patterns. Use @samp{--no-dotsyms} to disable this ++feature. ++ ++@cindex PowerPC64 register save/restore functions ++@kindex --save-restore-funcs ++@kindex --no-save-restore-funcs ++@item --save-restore-funcs ++@itemx --no-save-restore-funcs ++These two options control whether PowerPC64 @command{ld} automatically ++provides out-of-line register save and restore functions used by ++@samp{-Os} code. The default is to provide any such referenced ++function for a normal final link, and to not do so for a relocatable ++link. ++ ++@cindex PowerPC64 TLS optimization ++@kindex --no-tls-optimize ++@item --no-tls-optimize ++PowerPC64 @command{ld} normally performs some optimization of code ++sequences used to access Thread-Local Storage. Use this option to ++disable the optimization. ++ ++@cindex PowerPC64 __tls_get_addr optimization ++@kindex --tls-get-addr-optimize ++@kindex --no-tls-get-addr-optimize ++@kindex --tls-get-addr-regsave ++@kindex --no-tls-get-addr-regsave ++@item --tls-get-addr-optimize ++@itemx --no-tls-get-addr-optimize ++These options control how PowerPC64 @command{ld} uses a special ++stub to call __tls_get_addr. PowerPC64 glibc 2.22 and later support ++an optimization that allows the second and subsequent calls to ++@code{__tls_get_addr} for a given symbol to be resolved by the special ++stub without calling in to glibc. By default the linker enables ++generation of the stub when glibc advertises the availability of ++__tls_get_addr_opt. ++Using @option{--tls-get-addr-optimize} with an older glibc won't do ++much besides slow down your applications, but may be useful if linking ++an application against an older glibc with the expectation that it ++will normally be used on systems having a newer glibc. ++@option{--tls-get-addr-regsave} forces generation of a stub that saves ++and restores volatile registers around the call into glibc. Normally, ++this is done when the linker detects a call to __tls_get_addr_desc. ++Such calls then go via the register saving stub to __tls_get_addr_opt. ++@option{--no-tls-get-addr-regsave} disables generation of the ++register saves. ++ ++@cindex PowerPC64 OPD optimization ++@kindex --no-opd-optimize ++@item --no-opd-optimize ++PowerPC64 @command{ld} normally removes @code{.opd} section entries ++corresponding to deleted link-once functions, or functions removed by ++the action of @samp{--gc-sections} or linker script @code{/DISCARD/}. ++Use this option to disable @code{.opd} optimization. ++ ++@cindex PowerPC64 OPD spacing ++@kindex --non-overlapping-opd ++@item --non-overlapping-opd ++Some PowerPC64 compilers have an option to generate compressed ++@code{.opd} entries spaced 16 bytes apart, overlapping the third word, ++the static chain pointer (unused in C) with the first word of the next ++entry. This option expands such entries to the full 24 bytes. ++ ++@cindex PowerPC64 TOC optimization ++@kindex --no-toc-optimize ++@item --no-toc-optimize ++PowerPC64 @command{ld} normally removes unused @code{.toc} section ++entries. Such entries are detected by examining relocations that ++reference the TOC in code sections. A reloc in a deleted code section ++marks a TOC word as unneeded, while a reloc in a kept code section ++marks a TOC word as needed. Since the TOC may reference itself, TOC ++relocs are also examined. TOC words marked as both needed and ++unneeded will of course be kept. TOC words without any referencing ++reloc are assumed to be part of a multi-word entry, and are kept or ++discarded as per the nearest marked preceding word. This works ++reliably for compiler generated code, but may be incorrect if assembly ++code is used to insert TOC entries. Use this option to disable the ++optimization. ++ ++@cindex PowerPC64 inline PLT call optimization ++@kindex --no-inline-optimize ++@item --no-inline-optimize ++PowerPC64 @command{ld} normally replaces inline PLT call sequences ++marked with @code{R_PPC64_PLTSEQ}, @code{R_PPC64_PLTCALL}, ++@code{R_PPC64_PLT16_HA} and @code{R_PPC64_PLT16_LO_DS} relocations by ++a number of @code{nop}s and a direct call when the function is defined ++locally and can't be overridden by some other definition. This option ++disables that optimization. ++ ++@cindex PowerPC64 multi-TOC ++@kindex --no-multi-toc ++@item --no-multi-toc ++If given any toc option besides @code{-mcmodel=medium} or ++@code{-mcmodel=large}, PowerPC64 GCC generates code for a TOC model ++where TOC ++entries are accessed with a 16-bit offset from r2. This limits the ++total TOC size to 64K. PowerPC64 @command{ld} extends this limit by ++grouping code sections such that each group uses less than 64K for its ++TOC entries, then inserts r2 adjusting stubs between inter-group ++calls. @command{ld} does not split apart input sections, so cannot ++help if a single input file has a @code{.toc} section that exceeds ++64K, most likely from linking multiple files with @command{ld -r}. ++Use this option to turn off this feature. ++ ++@cindex PowerPC64 TOC sorting ++@kindex --no-toc-sort ++@item --no-toc-sort ++By default, @command{ld} sorts TOC sections so that those whose file ++happens to have a section called @code{.init} or @code{.fini} are ++placed first, followed by TOC sections referenced by code generated ++with PowerPC64 gcc's @code{-mcmodel=small}, and lastly TOC sections ++referenced only by code generated with PowerPC64 gcc's ++@code{-mcmodel=medium} or @code{-mcmodel=large} options. Doing this ++results in better TOC grouping for multi-TOC. Use this option to turn ++off this feature. ++ ++@cindex PowerPC64 PLT stub alignment ++@kindex --plt-align ++@kindex --no-plt-align ++@item --plt-align ++@itemx --no-plt-align ++Use these options to control whether individual PLT call stubs are ++aligned to a 32-byte boundary, or to the specified power of two ++boundary when using @code{--plt-align=}. A negative value may be ++specified to pad PLT call stubs so that they do not cross the ++specified power of two boundary (or the minimum number of boundaries ++if a PLT stub is so large that it must cross a boundary). By default ++PLT call stubs are aligned to 32-byte boundaries. ++ ++@cindex PowerPC64 PLT call stub static chain ++@kindex --plt-static-chain ++@kindex --no-plt-static-chain ++@item --plt-static-chain ++@itemx --no-plt-static-chain ++Use these options to control whether PLT call stubs load the static ++chain pointer (r11). @code{ld} defaults to not loading the static ++chain since there is never any need to do so on a PLT call. ++ ++@cindex PowerPC64 PLT call stub thread safety ++@kindex --plt-thread-safe ++@kindex --no-plt-thread-safe ++@item --plt-thread-safe ++@itemx --no-plt-thread-safe ++With power7's weakly ordered memory model, it is possible when using ++lazy binding for ld.so to update a plt entry in one thread and have ++another thread see the individual plt entry words update in the wrong ++order, despite ld.so carefully writing in the correct order and using ++memory write barriers. To avoid this we need some sort of read ++barrier in the call stub, or use LD_BIND_NOW=1. By default, @code{ld} ++looks for calls to commonly used functions that create threads, and if ++seen, adds the necessary barriers. Use these options to change the ++default behaviour. ++ ++@cindex PowerPC64 ELFv2 PLT localentry optimization ++@kindex --plt-localentry ++@kindex --no-plt-localentry ++@item --plt-localentry ++@itemx --no-localentry ++ELFv2 functions with localentry:0 are those with a single entry point, ++ie. global entry == local entry, and that have no requirement on r2 ++(the TOC/GOT pointer) or r12, and guarantee r2 is unchanged on return. ++Such an external function can be called via the PLT without saving r2 ++or restoring it on return, avoiding a common load-hit-store for small ++functions. The optimization is attractive, with up to 40% reduction ++in execution time for a small function, but can result in symbol ++interposition failures. Also, minor changes in a shared library, ++including system libraries, can cause a function that was localentry:0 ++to become localentry:8. This will result in a dynamic loader ++complaint and failure to run. The option is experimental, use with ++care. @option{--no-plt-localentry} is the default. ++ ++@cindex PowerPC64 Power10 stubs ++@kindex --power10-stubs ++@kindex --no-power10-stubs ++@item --power10-stubs ++@itemx --no-power10-stubs ++When PowerPC64 @command{ld} links input object files containing ++relocations used on power10 prefixed instructions it normally creates ++linkage stubs (PLT call and long branch) using power10 instructions ++for @code{@@notoc} PLT calls where @code{r2} is not known. The ++power10 notoc stubs are smaller and faster, so are preferred for ++power10. @option{--power10-stubs} and @option{--no-power10-stubs} ++allow you to override the linker's selection of stub instructions. ++@option{--power10-stubs=auto} allows the user to select the default ++auto mode. ++@end table ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset S/390 ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node S/390 ELF ++@section @command{ld} and S/390 ELF Support ++ ++@cindex S/390 ELF options ++@table @option ++ ++@cindex S/390 ++@kindex --s390-pgste ++@item --s390-pgste ++This option marks the result file with a @code{PT_S390_PGSTE} ++segment. The Linux kernel is supposed to allocate 4k page tables for ++binaries marked that way. ++@end table ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset SPU ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node SPU ELF ++@section @command{ld} and SPU ELF Support ++ ++@cindex SPU ELF options ++@table @option ++ ++@cindex SPU plugins ++@kindex --plugin ++@item --plugin ++This option marks an executable as a PIC plugin module. ++ ++@cindex SPU overlays ++@kindex --no-overlays ++@item --no-overlays ++Normally, @command{ld} recognizes calls to functions within overlay ++regions, and redirects such calls to an overlay manager via a stub. ++@command{ld} also provides a built-in overlay manager. This option ++turns off all this special overlay handling. ++ ++@cindex SPU overlay stub symbols ++@kindex --emit-stub-syms ++@item --emit-stub-syms ++This option causes @command{ld} to label overlay stubs with a local ++symbol that encodes the stub type and destination. ++ ++@cindex SPU extra overlay stubs ++@kindex --extra-overlay-stubs ++@item --extra-overlay-stubs ++This option causes @command{ld} to add overlay call stubs on all ++function calls out of overlay regions. Normally stubs are not added ++on calls to non-overlay regions. ++ ++@cindex SPU local store size ++@kindex --local-store=lo:hi ++@item --local-store=lo:hi ++@command{ld} usually checks that a final executable for SPU fits in ++the address range 0 to 256k. This option may be used to change the ++range. Disable the check entirely with @option{--local-store=0:0}. ++ ++@cindex SPU ++@kindex --stack-analysis ++@item --stack-analysis ++SPU local store space is limited. Over-allocation of stack space ++unnecessarily limits space available for code and data, while ++under-allocation results in runtime failures. If given this option, ++@command{ld} will provide an estimate of maximum stack usage. ++@command{ld} does this by examining symbols in code sections to ++determine the extents of functions, and looking at function prologues ++for stack adjusting instructions. A call-graph is created by looking ++for relocations on branch instructions. The graph is then searched ++for the maximum stack usage path. Note that this analysis does not ++find calls made via function pointers, and does not handle recursion ++and other cycles in the call graph. Stack usage may be ++under-estimated if your code makes such calls. Also, stack usage for ++dynamic allocation, e.g. alloca, will not be detected. If a link map ++is requested, detailed information about each function's stack usage ++and calls will be given. ++ ++@cindex SPU ++@kindex --emit-stack-syms ++@item --emit-stack-syms ++This option, if given along with @option{--stack-analysis} will result ++in @command{ld} emitting stack sizing symbols for each function. ++These take the form @code{__stack_} for global ++functions, and @code{__stack__} for static ++functions. @code{} is the section id in hex. The value of ++such symbols is the stack requirement for the corresponding function. ++The symbol size will be zero, type @code{STT_NOTYPE}, binding ++@code{STB_LOCAL}, and section @code{SHN_ABS}. ++@end table ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset TICOFF ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node TI COFF ++@section @command{ld}'s Support for Various TI COFF Versions ++@cindex TI COFF versions ++@kindex --format=@var{version} ++The @samp{--format} switch allows selection of one of the various ++TI COFF versions. The latest of this writing is 2; versions 0 and 1 are ++also supported. The TI COFF versions also vary in header byte-order ++format; @command{ld} will read any version or byte order, but the output ++header format depends on the default specified by the specific target. ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset WIN32 ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node WIN32 ++@section @command{ld} and WIN32 (cygwin/mingw) ++ ++This section describes some of the win32 specific @command{ld} issues. ++See @ref{Options,,Command-line Options} for detailed description of the ++command-line options mentioned here. ++ ++@table @emph ++@cindex import libraries ++@item import libraries ++The standard Windows linker creates and uses so-called import ++libraries, which contains information for linking to dll's. They are ++regular static archives and are handled as any other static ++archive. The cygwin and mingw ports of @command{ld} have specific ++support for creating such libraries provided with the ++@samp{--out-implib} command-line option. ++ ++@item Resource only DLLs ++It is possible to create a DLL that only contains resources, ie just a ++@samp{.rsrc} section, but in order to do so a custom linker script ++must be used. This is because the built-in default linker scripts ++will always create @samp{.text} and @samp{.idata} sections, even if ++there is no input to go into them. ++ ++The script should look like this, although the @code{OUTPUT_FORMAT} ++should be changed to match the desired format. ++ ++@example ++OUTPUT_FORMAT(pei-i386) ++SECTIONS ++@{ ++ . = SIZEOF_HEADERS; ++ . = ALIGN(__section_alignment__); ++ .rsrc __image_base__ + __section_alignment__ : ALIGN(4) ++ @{ ++ KEEP (*(.rsrc)) ++ KEEP (*(.rsrc$*)) ++ @} ++ /DISCARD/ : @{ *(*) @} ++@} ++@end example ++ ++With this script saved to a file called, eg @file{rsrc.ld}, a command ++line like this can be used to create the resource only DLL ++@file{rsrc.dll} from an input file called @file{rsrc.o}: ++ ++@smallexample ++ld -dll --subsystem windows -e 0 -s rsrc.o -o rsrc.dll -T rsrc.ld ++@end smallexample ++ ++@item exporting DLL symbols ++@cindex exporting DLL symbols ++The cygwin/mingw @command{ld} has several ways to export symbols for dll's. ++ ++@table @emph ++@item using auto-export functionality ++@cindex using auto-export functionality ++By default @command{ld} exports symbols with the auto-export functionality, ++which is controlled by the following command-line options: ++ ++@itemize ++@item --export-all-symbols [This is the default] ++@item --exclude-symbols ++@item --exclude-libs ++@item --exclude-modules-for-implib ++@item --version-script ++@end itemize ++ ++When auto-export is in operation, @command{ld} will export all the non-local ++(global and common) symbols it finds in a DLL, with the exception of a few ++symbols known to belong to the system's runtime and libraries. As it will ++often not be desirable to export all of a DLL's symbols, which may include ++private functions that are not part of any public interface, the command-line ++options listed above may be used to filter symbols out from the list for ++exporting. The @samp{--output-def} option can be used in order to see the ++final list of exported symbols with all exclusions taken into effect. ++ ++If @samp{--export-all-symbols} is not given explicitly on the ++command line, then the default auto-export behavior will be @emph{disabled} ++if either of the following are true: ++ ++@itemize ++@item A DEF file is used. ++@item Any symbol in any object file was marked with the __declspec(dllexport) attribute. ++@end itemize ++ ++@item using a DEF file ++@cindex using a DEF file ++Another way of exporting symbols is using a DEF file. A DEF file is ++an ASCII file containing definitions of symbols which should be ++exported when a dll is created. Usually it is named @samp{.def} and is added as any other object file to the linker's ++command line. The file's name must end in @samp{.def} or @samp{.DEF}. ++ ++@example ++gcc -o .def ++@end example ++ ++Using a DEF file turns off the normal auto-export behavior, unless the ++@samp{--export-all-symbols} option is also used. ++ ++Here is an example of a DEF file for a shared library called @samp{xyz.dll}: ++ ++@example ++LIBRARY "xyz.dll" BASE=0x20000000 ++ ++EXPORTS ++foo ++bar ++_bar = bar ++another_foo = abc.dll.afoo ++var1 DATA ++doo = foo == foo2 ++eoo DATA == var1 ++@end example ++ ++This example defines a DLL with a non-default base address and seven ++symbols in the export table. The third exported symbol @code{_bar} is an ++alias for the second. The fourth symbol, @code{another_foo} is resolved ++by "forwarding" to another module and treating it as an alias for ++@code{afoo} exported from the DLL @samp{abc.dll}. The final symbol ++@code{var1} is declared to be a data object. The @samp{doo} symbol in ++export library is an alias of @samp{foo}, which gets the string name ++in export table @samp{foo2}. The @samp{eoo} symbol is an data export ++symbol, which gets in export table the name @samp{var1}. ++ ++The optional @code{LIBRARY } command indicates the @emph{internal} ++name of the output DLL. If @samp{} does not include a suffix, ++the default library suffix, @samp{.DLL} is appended. ++ ++When the .DEF file is used to build an application, rather than a ++library, the @code{NAME } command should be used instead of ++@code{LIBRARY}. If @samp{} does not include a suffix, the default ++executable suffix, @samp{.EXE} is appended. ++ ++With either @code{LIBRARY } or @code{NAME } the optional ++specification @code{BASE = } may be used to specify a ++non-default base address for the image. ++ ++If neither @code{LIBRARY } nor @code{NAME } is specified, ++or they specify an empty string, the internal name is the same as the ++filename specified on the command line. ++ ++The complete specification of an export symbol is: ++ ++@example ++EXPORTS ++ ( ( ( [ = ] ) ++ | ( = . )) ++ [ @@ ] [NONAME] [DATA] [CONSTANT] [PRIVATE] [== ] ) * ++@end example ++ ++Declares @samp{} as an exported symbol from the DLL, or declares ++@samp{} as an exported alias for @samp{}; or declares ++@samp{} as a "forward" alias for the symbol ++@samp{} in the DLL @samp{}. ++Optionally, the symbol may be exported by the specified ordinal ++@samp{} alias. The optional @samp{} is the to be used ++string in import/export table for the symbol. ++ ++The optional keywords that follow the declaration indicate: ++ ++@code{NONAME}: Do not put the symbol name in the DLL's export table. It ++will still be exported by its ordinal alias (either the value specified ++by the .def specification or, otherwise, the value assigned by the ++linker). The symbol name, however, does remain visible in the import ++library (if any), unless @code{PRIVATE} is also specified. ++ ++@code{DATA}: The symbol is a variable or object, rather than a function. ++The import lib will export only an indirect reference to @code{foo} as ++the symbol @code{_imp__foo} (ie, @code{foo} must be resolved as ++@code{*_imp__foo}). ++ ++@code{CONSTANT}: Like @code{DATA}, but put the undecorated @code{foo} as ++well as @code{_imp__foo} into the import library. Both refer to the ++read-only import address table's pointer to the variable, not to the ++variable itself. This can be dangerous. If the user code fails to add ++the @code{dllimport} attribute and also fails to explicitly add the ++extra indirection that the use of the attribute enforces, the ++application will behave unexpectedly. ++ ++@code{PRIVATE}: Put the symbol in the DLL's export table, but do not put ++it into the static import library used to resolve imports at link time. The ++symbol can still be imported using the @code{LoadLibrary/GetProcAddress} ++API at runtime or by using the GNU ld extension of linking directly to ++the DLL without an import library. ++ ++See ld/deffilep.y in the binutils sources for the full specification of ++other DEF file statements ++ ++@cindex creating a DEF file ++While linking a shared dll, @command{ld} is able to create a DEF file ++with the @samp{--output-def } command-line option. ++ ++@item Using decorations ++@cindex Using decorations ++Another way of marking symbols for export is to modify the source code ++itself, so that when building the DLL each symbol to be exported is ++declared as: ++ ++@example ++__declspec(dllexport) int a_variable ++__declspec(dllexport) void a_function(int with_args) ++@end example ++ ++All such symbols will be exported from the DLL. If, however, ++any of the object files in the DLL contain symbols decorated in ++this way, then the normal auto-export behavior is disabled, unless ++the @samp{--export-all-symbols} option is also used. ++ ++Note that object files that wish to access these symbols must @emph{not} ++decorate them with dllexport. Instead, they should use dllimport, ++instead: ++ ++@example ++__declspec(dllimport) int a_variable ++__declspec(dllimport) void a_function(int with_args) ++@end example ++ ++This complicates the structure of library header files, because ++when included by the library itself the header must declare the ++variables and functions as dllexport, but when included by client ++code the header must declare them as dllimport. There are a number ++of idioms that are typically used to do this; often client code can ++omit the __declspec() declaration completely. See ++@samp{--enable-auto-import} and @samp{automatic data imports} for more ++information. ++@end table ++ ++@cindex automatic data imports ++@item automatic data imports ++The standard Windows dll format supports data imports from dlls only ++by adding special decorations (dllimport/dllexport), which let the ++compiler produce specific assembler instructions to deal with this ++issue. This increases the effort necessary to port existing Un*x ++code to these platforms, especially for large ++c++ libraries and applications. The auto-import feature, which was ++initially provided by Paul Sokolovsky, allows one to omit the ++decorations to achieve a behavior that conforms to that on POSIX/Un*x ++platforms. This feature is enabled with the @samp{--enable-auto-import} ++command-line option, although it is enabled by default on cygwin/mingw. ++The @samp{--enable-auto-import} option itself now serves mainly to ++suppress any warnings that are ordinarily emitted when linked objects ++trigger the feature's use. ++ ++auto-import of variables does not always work flawlessly without ++additional assistance. Sometimes, you will see this message ++ ++"variable '' can't be auto-imported. Please read the ++documentation for ld's @code{--enable-auto-import} for details." ++ ++The @samp{--enable-auto-import} documentation explains why this error ++occurs, and several methods that can be used to overcome this difficulty. ++One of these methods is the @emph{runtime pseudo-relocs} feature, described ++below. ++ ++@cindex runtime pseudo-relocation ++For complex variables imported from DLLs (such as structs or classes), ++object files typically contain a base address for the variable and an ++offset (@emph{addend}) within the variable--to specify a particular ++field or public member, for instance. Unfortunately, the runtime loader used ++in win32 environments is incapable of fixing these references at runtime ++without the additional information supplied by dllimport/dllexport decorations. ++The standard auto-import feature described above is unable to resolve these ++references. ++ ++The @samp{--enable-runtime-pseudo-relocs} switch allows these references to ++be resolved without error, while leaving the task of adjusting the references ++themselves (with their non-zero addends) to specialized code provided by the ++runtime environment. Recent versions of the cygwin and mingw environments and ++compilers provide this runtime support; older versions do not. However, the ++support is only necessary on the developer's platform; the compiled result will ++run without error on an older system. ++ ++@samp{--enable-runtime-pseudo-relocs} is not the default; it must be explicitly ++enabled as needed. ++ ++@cindex direct linking to a dll ++@item direct linking to a dll ++The cygwin/mingw ports of @command{ld} support the direct linking, ++including data symbols, to a dll without the usage of any import ++libraries. This is much faster and uses much less memory than does the ++traditional import library method, especially when linking large ++libraries or applications. When @command{ld} creates an import lib, each ++function or variable exported from the dll is stored in its own bfd, even ++though a single bfd could contain many exports. The overhead involved in ++storing, loading, and processing so many bfd's is quite large, and explains the ++tremendous time, memory, and storage needed to link against particularly ++large or complex libraries when using import libs. ++ ++Linking directly to a dll uses no extra command-line switches other than ++@samp{-L} and @samp{-l}, because @command{ld} already searches for a number ++of names to match each library. All that is needed from the developer's ++perspective is an understanding of this search, in order to force ld to ++select the dll instead of an import library. ++ ++ ++For instance, when ld is called with the argument @samp{-lxxx} it will attempt ++to find, in the first directory of its search path, ++ ++@example ++libxxx.dll.a ++xxx.dll.a ++libxxx.a ++xxx.lib ++libxxx.lib ++cygxxx.dll (*) ++libxxx.dll ++xxx.dll ++@end example ++ ++before moving on to the next directory in the search path. ++ ++(*) Actually, this is not @samp{cygxxx.dll} but in fact is @samp{xxx.dll}, ++where @samp{} is set by the @command{ld} option ++@samp{--dll-search-prefix=}. In the case of cygwin, the standard gcc spec ++file includes @samp{--dll-search-prefix=cyg}, so in effect we actually search for ++@samp{cygxxx.dll}. ++ ++Other win32-based unix environments, such as mingw or pw32, may use other ++@samp{}es, although at present only cygwin makes use of this feature. It ++was originally intended to help avoid name conflicts among dll's built for the ++various win32/un*x environments, so that (for example) two versions of a zlib dll ++could coexist on the same machine. ++ ++The generic cygwin/mingw path layout uses a @samp{bin} directory for ++applications and dll's and a @samp{lib} directory for the import ++libraries (using cygwin nomenclature): ++ ++@example ++bin/ ++ cygxxx.dll ++lib/ ++ libxxx.dll.a (in case of dll's) ++ libxxx.a (in case of static archive) ++@end example ++ ++Linking directly to a dll without using the import library can be ++done two ways: ++ ++1. Use the dll directly by adding the @samp{bin} path to the link line ++@example ++gcc -Wl,-verbose -o a.exe -L../bin/ -lxxx ++@end example ++ ++However, as the dll's often have version numbers appended to their names ++(@samp{cygncurses-5.dll}) this will often fail, unless one specifies ++@samp{-L../bin -lncurses-5} to include the version. Import libs are generally ++not versioned, and do not have this difficulty. ++ ++2. Create a symbolic link from the dll to a file in the @samp{lib} ++directory according to the above mentioned search pattern. This ++should be used to avoid unwanted changes in the tools needed for ++making the app/dll. ++ ++@example ++ln -s bin/cygxxx.dll lib/[cyg|lib|]xxx.dll[.a] ++@end example ++ ++Then you can link without any make environment changes. ++ ++@example ++gcc -Wl,-verbose -o a.exe -L../lib/ -lxxx ++@end example ++ ++This technique also avoids the version number problems, because the following is ++perfectly legal ++ ++@example ++bin/ ++ cygxxx-5.dll ++lib/ ++ libxxx.dll.a -> ../bin/cygxxx-5.dll ++@end example ++ ++Linking directly to a dll without using an import lib will work ++even when auto-import features are exercised, and even when ++@samp{--enable-runtime-pseudo-relocs} is used. ++ ++Given the improvements in speed and memory usage, one might justifiably ++wonder why import libraries are used at all. There are three reasons: ++ ++1. Until recently, the link-directly-to-dll functionality did @emph{not} ++work with auto-imported data. ++ ++2. Sometimes it is necessary to include pure static objects within the ++import library (which otherwise contains only bfd's for indirection ++symbols that point to the exports of a dll). Again, the import lib ++for the cygwin kernel makes use of this ability, and it is not ++possible to do this without an import lib. ++ ++3. Symbol aliases can only be resolved using an import lib. This is ++critical when linking against OS-supplied dll's (eg, the win32 API) ++in which symbols are usually exported as undecorated aliases of their ++stdcall-decorated assembly names. ++ ++So, import libs are not going away. But the ability to replace ++true import libs with a simple symbolic link to (or a copy of) ++a dll, in many cases, is a useful addition to the suite of tools ++binutils makes available to the win32 developer. Given the ++massive improvements in memory requirements during linking, storage ++requirements, and linking speed, we expect that many developers ++will soon begin to use this feature whenever possible. ++ ++@item symbol aliasing ++@table @emph ++@item adding additional names ++Sometimes, it is useful to export symbols with additional names. ++A symbol @samp{foo} will be exported as @samp{foo}, but it can also be ++exported as @samp{_foo} by using special directives in the DEF file ++when creating the dll. This will affect also the optional created ++import library. Consider the following DEF file: ++ ++@example ++LIBRARY "xyz.dll" BASE=0x61000000 ++ ++EXPORTS ++foo ++_foo = foo ++@end example ++ ++The line @samp{_foo = foo} maps the symbol @samp{foo} to @samp{_foo}. ++ ++Another method for creating a symbol alias is to create it in the ++source code using the "weak" attribute: ++ ++@example ++void foo () @{ /* Do something. */; @} ++void _foo () __attribute__ ((weak, alias ("foo"))); ++@end example ++ ++See the gcc manual for more information about attributes and weak ++symbols. ++ ++@item renaming symbols ++Sometimes it is useful to rename exports. For instance, the cygwin ++kernel does this regularly. A symbol @samp{_foo} can be exported as ++@samp{foo} but not as @samp{_foo} by using special directives in the ++DEF file. (This will also affect the import library, if it is ++created). In the following example: ++ ++@example ++LIBRARY "xyz.dll" BASE=0x61000000 ++ ++EXPORTS ++_foo = foo ++@end example ++ ++The line @samp{_foo = foo} maps the exported symbol @samp{foo} to ++@samp{_foo}. ++@end table ++ ++Note: using a DEF file disables the default auto-export behavior, ++unless the @samp{--export-all-symbols} command-line option is used. ++If, however, you are trying to rename symbols, then you should list ++@emph{all} desired exports in the DEF file, including the symbols ++that are not being renamed, and do @emph{not} use the ++@samp{--export-all-symbols} option. If you list only the ++renamed symbols in the DEF file, and use @samp{--export-all-symbols} ++to handle the other symbols, then the both the new names @emph{and} ++the original names for the renamed symbols will be exported. ++In effect, you'd be aliasing those symbols, not renaming them, ++which is probably not what you wanted. ++ ++@cindex weak externals ++@item weak externals ++The Windows object format, PE, specifies a form of weak symbols called ++weak externals. When a weak symbol is linked and the symbol is not ++defined, the weak symbol becomes an alias for some other symbol. There ++are three variants of weak externals: ++@itemize ++@item Definition is searched for in objects and libraries, historically ++called lazy externals. ++@item Definition is searched for only in other objects, not in libraries. ++This form is not presently implemented. ++@item No search; the symbol is an alias. This form is not presently ++implemented. ++@end itemize ++As a GNU extension, weak symbols that do not specify an alternate symbol ++are supported. If the symbol is undefined when linking, the symbol ++uses a default value. ++ ++@cindex aligned common symbols ++@item aligned common symbols ++As a GNU extension to the PE file format, it is possible to specify the ++desired alignment for a common symbol. This information is conveyed from ++the assembler or compiler to the linker by means of GNU-specific commands ++carried in the object file's @samp{.drectve} section, which are recognized ++by @command{ld} and respected when laying out the common symbols. Native ++tools will be able to process object files employing this GNU extension, ++but will fail to respect the alignment instructions, and may issue noisy ++warnings about unknown linker directives. ++ ++@end table ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifset XTENSA ++@ifclear GENERIC ++@raisesections ++@end ifclear ++ ++@node Xtensa ++@section @code{ld} and Xtensa Processors ++ ++@cindex Xtensa processors ++The default @command{ld} behavior for Xtensa processors is to interpret ++@code{SECTIONS} commands so that lists of explicitly named sections in a ++specification with a wildcard file will be interleaved when necessary to ++keep literal pools within the range of PC-relative load offsets. For ++example, with the command: ++ ++@smallexample ++SECTIONS ++@{ ++ .text : @{ ++ *(.literal .text) ++ @} ++@} ++@end smallexample ++ ++@noindent ++@command{ld} may interleave some of the @code{.literal} ++and @code{.text} sections from different object files to ensure that the ++literal pools are within the range of PC-relative load offsets. A valid ++interleaving might place the @code{.literal} sections from an initial ++group of files followed by the @code{.text} sections of that group of ++files. Then, the @code{.literal} sections from the rest of the files ++and the @code{.text} sections from the rest of the files would follow. ++ ++@cindex @option{--relax} on Xtensa ++@cindex relaxing on Xtensa ++Relaxation is enabled by default for the Xtensa version of @command{ld} and ++provides two important link-time optimizations. The first optimization ++is to combine identical literal values to reduce code size. A redundant ++literal will be removed and all the @code{L32R} instructions that use it ++will be changed to reference an identical literal, as long as the ++location of the replacement literal is within the offset range of all ++the @code{L32R} instructions. The second optimization is to remove ++unnecessary overhead from assembler-generated ``longcall'' sequences of ++@code{L32R}/@code{CALLX@var{n}} when the target functions are within ++range of direct @code{CALL@var{n}} instructions. ++ ++For each of these cases where an indirect call sequence can be optimized ++to a direct call, the linker will change the @code{CALLX@var{n}} ++instruction to a @code{CALL@var{n}} instruction, remove the @code{L32R} ++instruction, and remove the literal referenced by the @code{L32R} ++instruction if it is not used for anything else. Removing the ++@code{L32R} instruction always reduces code size but can potentially ++hurt performance by changing the alignment of subsequent branch targets. ++By default, the linker will always preserve alignments, either by ++switching some instructions between 24-bit encodings and the equivalent ++density instructions or by inserting a no-op in place of the @code{L32R} ++instruction that was removed. If code size is more important than ++performance, the @option{--size-opt} option can be used to prevent the ++linker from widening density instructions or inserting no-ops, except in ++a few cases where no-ops are required for correctness. ++ ++The following Xtensa-specific command-line options can be used to ++control the linker: ++ ++@cindex Xtensa options ++@table @option ++@item --size-opt ++When optimizing indirect calls to direct calls, optimize for code size ++more than performance. With this option, the linker will not insert ++no-ops or widen density instructions to preserve branch target ++alignment. There may still be some cases where no-ops are required to ++preserve the correctness of the code. ++ ++@item --abi-windowed ++@itemx --abi-call0 ++Choose ABI for the output object and for the generated PLT code. ++PLT code inserted by the linker must match ABI of the output object ++because windowed and call0 ABI use incompatible function call ++conventions. ++Default ABI is chosen by the ABI tag in the @code{.xtensa.info} section ++of the first input object. ++A warning is issued if ABI tags of input objects do not match each other ++or the chosen output object ABI. ++@end table ++ ++@ifclear GENERIC ++@lowersections ++@end ifclear ++@end ifset ++ ++@ifclear SingleFormat ++@node BFD ++@chapter BFD ++ ++@cindex back end ++@cindex object file management ++@cindex object formats available ++@kindex objdump -i ++The linker accesses object and archive files using the BFD libraries. ++These libraries allow the linker to use the same routines to operate on ++object files whatever the object file format. A different object file ++format can be supported simply by creating a new BFD back end and adding ++it to the library. To conserve runtime memory, however, the linker and ++associated tools are usually configured to support only a subset of the ++object file formats available. You can use @code{objdump -i} ++(@pxref{objdump,,objdump,binutils.info,The GNU Binary Utilities}) to ++list all the formats available for your configuration. ++ ++@cindex BFD requirements ++@cindex requirements for BFD ++As with most implementations, BFD is a compromise between ++several conflicting requirements. The major factor influencing ++BFD design was efficiency: any time used converting between ++formats is time which would not have been spent had BFD not ++been involved. This is partly offset by abstraction payback; since ++BFD simplifies applications and back ends, more time and care ++may be spent optimizing algorithms for a greater speed. ++ ++One minor artifact of the BFD solution which you should bear in ++mind is the potential for information loss. There are two places where ++useful information can be lost using the BFD mechanism: during ++conversion and during output. @xref{BFD information loss}. ++ ++@menu ++* BFD outline:: How it works: an outline of BFD ++@end menu ++ ++@node BFD outline ++@section How It Works: An Outline of BFD ++@cindex opening object files ++@include bfdsumm.texi ++@end ifclear ++ ++@node Reporting Bugs ++@chapter Reporting Bugs ++@cindex bugs in @command{ld} ++@cindex reporting bugs in @command{ld} ++ ++Your bug reports play an essential role in making @command{ld} reliable. ++ ++Reporting a bug may help you by bringing a solution to your problem, or ++it may not. But in any case the principal function of a bug report is ++to help the entire community by making the next version of @command{ld} ++work better. Bug reports are your contribution to the maintenance of ++@command{ld}. ++ ++In order for a bug report to serve its purpose, you must include the ++information that enables us to fix the bug. ++ ++@menu ++* Bug Criteria:: Have you found a bug? ++* Bug Reporting:: How to report bugs ++@end menu ++ ++@node Bug Criteria ++@section Have You Found a Bug? ++@cindex bug criteria ++ ++If you are not sure whether you have found a bug, here are some guidelines: ++ ++@itemize @bullet ++@cindex fatal signal ++@cindex linker crash ++@cindex crash of linker ++@item ++If the linker gets a fatal signal, for any input whatever, that is a ++@command{ld} bug. Reliable linkers never crash. ++ ++@cindex error on valid input ++@item ++If @command{ld} produces an error message for valid input, that is a bug. ++ ++@cindex invalid input ++@item ++If @command{ld} does not produce an error message for invalid input, that ++may be a bug. In the general case, the linker can not verify that ++object files are correct. ++ ++@item ++If you are an experienced user of linkers, your suggestions for ++improvement of @command{ld} are welcome in any case. ++@end itemize ++ ++@node Bug Reporting ++@section How to Report Bugs ++@cindex bug reports ++@cindex @command{ld} bugs, reporting ++ ++A number of companies and individuals offer support for @sc{gnu} ++products. If you obtained @command{ld} from a support organization, we ++recommend you contact that organization first. ++ ++You can find contact information for many support companies and ++individuals in the file @file{etc/SERVICE} in the @sc{gnu} Emacs ++distribution. ++ ++@ifset BUGURL ++Otherwise, send bug reports for @command{ld} to ++@value{BUGURL}. ++@end ifset ++ ++The fundamental principle of reporting bugs usefully is this: ++@strong{report all the facts}. If you are not sure whether to state a ++fact or leave it out, state it! ++ ++Often people omit facts because they think they know what causes the ++problem and assume that some details do not matter. Thus, you might ++assume that the name of a symbol you use in an example does not ++matter. Well, probably it does not, but one cannot be sure. Perhaps ++the bug is a stray memory reference which happens to fetch from the ++location where that name is stored in memory; perhaps, if the name ++were different, the contents of that location would fool the linker ++into doing the right thing despite the bug. Play it safe and give a ++specific, complete example. That is the easiest thing for you to do, ++and the most helpful. ++ ++Keep in mind that the purpose of a bug report is to enable us to fix ++the bug if it is new to us. Therefore, always write your bug reports ++on the assumption that the bug has not been reported previously. ++ ++Sometimes people give a few sketchy facts and ask, ``Does this ring a ++bell?'' This cannot help us fix a bug, so it is basically useless. We ++respond by asking for enough details to enable us to investigate. ++You might as well expedite matters by sending them to begin with. ++ ++To enable us to fix the bug, you should include all these things: ++ ++@itemize @bullet ++@item ++The version of @command{ld}. @command{ld} announces it if you start it with ++the @samp{--version} argument. ++ ++Without this, we will not know whether there is any point in looking for ++the bug in the current version of @command{ld}. ++ ++@item ++Any patches you may have applied to the @command{ld} source, including any ++patches made to the @code{BFD} library. ++ ++@item ++The type of machine you are using, and the operating system name and ++version number. ++ ++@item ++What compiler (and its version) was used to compile @command{ld}---e.g. ++``@code{gcc-2.7}''. ++ ++@item ++The command arguments you gave the linker to link your example and ++observe the bug. To guarantee you will not omit something important, ++list them all. A copy of the Makefile (or the output from make) is ++sufficient. ++ ++If we were to try to guess the arguments, we would probably guess wrong ++and then we might not encounter the bug. ++ ++@item ++A complete input file, or set of input files, that will reproduce the ++bug. It is generally most helpful to send the actual object files ++provided that they are reasonably small. Say no more than 10K. For ++bigger files you can either make them available by FTP or HTTP or else ++state that you are willing to send the object file(s) to whomever ++requests them. (Note - your email will be going to a mailing list, so ++we do not want to clog it up with large attachments). But small ++attachments are best. ++ ++If the source files were assembled using @code{gas} or compiled using ++@code{gcc}, then it may be OK to send the source files rather than the ++object files. In this case, be sure to say exactly what version of ++@code{gas} or @code{gcc} was used to produce the object files. Also say ++how @code{gas} or @code{gcc} were configured. ++ ++@item ++A description of what behavior you observe that you believe is ++incorrect. For example, ``It gets a fatal signal.'' ++ ++Of course, if the bug is that @command{ld} gets a fatal signal, then we ++will certainly notice it. But if the bug is incorrect output, we might ++not notice unless it is glaringly wrong. You might as well not give us ++a chance to make a mistake. ++ ++Even if the problem you experience is a fatal signal, you should still ++say so explicitly. Suppose something strange is going on, such as, your ++copy of @command{ld} is out of sync, or you have encountered a bug in the ++C library on your system. (This has happened!) Your copy might crash ++and ours would not. If you told us to expect a crash, then when ours ++fails to crash, we would know that the bug was not happening for us. If ++you had not told us to expect a crash, then we would not be able to draw ++any conclusion from our observations. ++ ++@item ++If you wish to suggest changes to the @command{ld} source, send us context ++diffs, as generated by @code{diff} with the @samp{-u}, @samp{-c}, or ++@samp{-p} option. Always send diffs from the old file to the new file. ++If you even discuss something in the @command{ld} source, refer to it by ++context, not by line number. ++ ++The line numbers in our development sources will not match those in your ++sources. Your line numbers would convey no useful information to us. ++@end itemize ++ ++Here are some things that are not necessary: ++ ++@itemize @bullet ++@item ++A description of the envelope of the bug. ++ ++Often people who encounter a bug spend a lot of time investigating ++which changes to the input file will make the bug go away and which ++changes will not affect it. ++ ++This is often time consuming and not very useful, because the way we ++will find the bug is by running a single example under the debugger ++with breakpoints, not by pure deduction from a series of examples. ++We recommend that you save your time for something else. ++ ++Of course, if you can find a simpler example to report @emph{instead} ++of the original one, that is a convenience for us. Errors in the ++output will be easier to spot, running under the debugger will take ++less time, and so on. ++ ++However, simplification is not vital; if you do not want to do this, ++report the bug anyway and send us the entire test case you used. ++ ++@item ++A patch for the bug. ++ ++A patch for the bug does help us if it is a good one. But do not omit ++the necessary information, such as the test case, on the assumption that ++a patch is all we need. We might see problems with your patch and decide ++to fix the problem another way, or we might not understand it at all. ++ ++Sometimes with a program as complicated as @command{ld} it is very hard to ++construct an example that will make the program follow a certain path ++through the code. If you do not send us the example, we will not be ++able to construct one, so we will not be able to verify that the bug is ++fixed. ++ ++And if we cannot understand what bug you are trying to fix, or why your ++patch should be an improvement, we will not install it. A test case will ++help us to understand. ++ ++@item ++A guess about what the bug is or what it depends on. ++ ++Such guesses are usually wrong. Even we cannot guess right about such ++things without first using the debugger to find the facts. ++@end itemize ++ ++@node MRI ++@appendix MRI Compatible Script Files ++@cindex MRI compatibility ++To aid users making the transition to @sc{gnu} @command{ld} from the MRI ++linker, @command{ld} can use MRI compatible linker scripts as an ++alternative to the more general-purpose linker scripting language ++described in @ref{Scripts}. MRI compatible linker scripts have a much ++simpler command set than the scripting language otherwise used with ++@command{ld}. @sc{gnu} @command{ld} supports the most commonly used MRI ++linker commands; these commands are described here. ++ ++In general, MRI scripts aren't of much use with the @code{a.out} object ++file format, since it only has three sections and MRI scripts lack some ++features to make use of them. ++ ++You can specify a file containing an MRI-compatible script using the ++@samp{-c} command-line option. ++ ++Each command in an MRI-compatible script occupies its own line; each ++command line starts with the keyword that identifies the command (though ++blank lines are also allowed for punctuation). If a line of an ++MRI-compatible script begins with an unrecognized keyword, @command{ld} ++issues a warning message, but continues processing the script. ++ ++Lines beginning with @samp{*} are comments. ++ ++You can write these commands using all upper-case letters, or all ++lower case; for example, @samp{chip} is the same as @samp{CHIP}. ++The following list shows only the upper-case form of each command. ++ ++@table @code ++@cindex @code{ABSOLUTE} (MRI) ++@item ABSOLUTE @var{secname} ++@itemx ABSOLUTE @var{secname}, @var{secname}, @dots{} @var{secname} ++Normally, @command{ld} includes in the output file all sections from all ++the input files. However, in an MRI-compatible script, you can use the ++@code{ABSOLUTE} command to restrict the sections that will be present in ++your output program. If the @code{ABSOLUTE} command is used at all in a ++script, then only the sections named explicitly in @code{ABSOLUTE} ++commands will appear in the linker output. You can still use other ++input sections (whatever you select on the command line, or using ++@code{LOAD}) to resolve addresses in the output file. ++ ++@cindex @code{ALIAS} (MRI) ++@item ALIAS @var{out-secname}, @var{in-secname} ++Use this command to place the data from input section @var{in-secname} ++in a section called @var{out-secname} in the linker output file. ++ ++@var{in-secname} may be an integer. ++ ++@cindex @code{ALIGN} (MRI) ++@item ALIGN @var{secname} = @var{expression} ++Align the section called @var{secname} to @var{expression}. The ++@var{expression} should be a power of two. ++ ++@cindex @code{BASE} (MRI) ++@item BASE @var{expression} ++Use the value of @var{expression} as the lowest address (other than ++absolute addresses) in the output file. ++ ++@cindex @code{CHIP} (MRI) ++@item CHIP @var{expression} ++@itemx CHIP @var{expression}, @var{expression} ++This command does nothing; it is accepted only for compatibility. ++ ++@cindex @code{END} (MRI) ++@item END ++This command does nothing whatever; it's only accepted for compatibility. ++ ++@cindex @code{FORMAT} (MRI) ++@item FORMAT @var{output-format} ++Similar to the @code{OUTPUT_FORMAT} command in the more general linker ++language, but restricted to S-records, if @var{output-format} is @samp{S} ++ ++@cindex @code{LIST} (MRI) ++@item LIST @var{anything}@dots{} ++Print (to the standard output file) a link map, as produced by the ++@command{ld} command-line option @samp{-M}. ++ ++The keyword @code{LIST} may be followed by anything on the ++same line, with no change in its effect. ++ ++@cindex @code{LOAD} (MRI) ++@item LOAD @var{filename} ++@itemx LOAD @var{filename}, @var{filename}, @dots{} @var{filename} ++Include one or more object file @var{filename} in the link; this has the ++same effect as specifying @var{filename} directly on the @command{ld} ++command line. ++ ++@cindex @code{NAME} (MRI) ++@item NAME @var{output-name} ++@var{output-name} is the name for the program produced by @command{ld}; the ++MRI-compatible command @code{NAME} is equivalent to the command-line ++option @samp{-o} or the general script language command @code{OUTPUT}. ++ ++@cindex @code{ORDER} (MRI) ++@item ORDER @var{secname}, @var{secname}, @dots{} @var{secname} ++@itemx ORDER @var{secname} @var{secname} @var{secname} ++Normally, @command{ld} orders the sections in its output file in the ++order in which they first appear in the input files. In an MRI-compatible ++script, you can override this ordering with the @code{ORDER} command. The ++sections you list with @code{ORDER} will appear first in your output ++file, in the order specified. ++ ++@cindex @code{PUBLIC} (MRI) ++@item PUBLIC @var{name}=@var{expression} ++@itemx PUBLIC @var{name},@var{expression} ++@itemx PUBLIC @var{name} @var{expression} ++Supply a value (@var{expression}) for external symbol ++@var{name} used in the linker input files. ++ ++@cindex @code{SECT} (MRI) ++@item SECT @var{secname}, @var{expression} ++@itemx SECT @var{secname}=@var{expression} ++@itemx SECT @var{secname} @var{expression} ++You can use any of these three forms of the @code{SECT} command to ++specify the start address (@var{expression}) for section @var{secname}. ++If you have more than one @code{SECT} statement for the same ++@var{secname}, only the @emph{first} sets the start address. ++@end table ++ ++@node GNU Free Documentation License ++@appendix GNU Free Documentation License ++@include fdl.texi ++ ++@node LD Index ++@unnumbered LD Index ++ ++@printindex cp ++ ++@tex ++% I think something like @@colophon should be in texinfo. In the ++% meantime: ++\long\def\colophon{\hbox to0pt{}\vfill ++\centerline{The body of this manual is set in} ++\centerline{\fontname\tenrm,} ++\centerline{with headings in {\bf\fontname\tenbf}} ++\centerline{and examples in {\tt\fontname\tentt}.} ++\centerline{{\it\fontname\tenit\/} and} ++\centerline{{\sl\fontname\tensl\/}} ++\centerline{are used for emphasis.}\vfill} ++\page\colophon ++% Blame: doc@@cygnus.com, 28mar91. ++@end tex ++ ++@bye +diff -rupN binutils.orig/ld/ldfile.c binutils-2.41/ld/ldfile.c +--- binutils.orig/ld/ldfile.c 2024-05-13 13:03:47.800601771 +0100 ++++ binutils-2.41/ld/ldfile.c 2024-05-13 13:04:08.595633300 +0100 +@@ -868,19 +868,7 @@ ldfile_find_command_file (const char *na + return result; + } + +-enum script_open_style { +- script_nonT, +- script_T, +- script_defaultT +-}; +- +-struct script_name_list +-{ +- struct script_name_list *next; +- enum script_open_style open_how; +- char name[1]; +-}; +- ++struct script_name_list *processed_scripts = NULL; + /* Open command file NAME. */ + + static void +@@ -888,7 +876,6 @@ ldfile_open_command_file_1 (const char * + { + FILE *ldlex_input_stack; + bool sysrooted; +- static struct script_name_list *processed_scripts = NULL; + struct script_name_list *script; + size_t len; + +diff -rupN binutils.orig/ld/ldfile.c.orig binutils-2.41/ld/ldfile.c.orig +--- binutils.orig/ld/ldfile.c.orig 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/ldfile.c.orig 2023-07-03 00:00:00.000000000 +0100 +@@ -0,0 +1,998 @@ ++/* Linker file opening and searching. ++ Copyright (C) 1991-2023 Free Software Foundation, Inc. ++ ++ This file is part of the GNU Binutils. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, ++ MA 02110-1301, USA. */ ++ ++#include "sysdep.h" ++#include "bfd.h" ++#include "bfdlink.h" ++#include "ctf-api.h" ++#include "safe-ctype.h" ++#include "ld.h" ++#include "ldmisc.h" ++#include "ldexp.h" ++#include "ldlang.h" ++#include "ldfile.h" ++#include "ldmain.h" ++#include ++#include "ldlex.h" ++#include "ldemul.h" ++#include "libiberty.h" ++#include "filenames.h" ++#include ++#if BFD_SUPPORTS_PLUGINS ++#include "plugin-api.h" ++#include "plugin.h" ++#endif /* BFD_SUPPORTS_PLUGINS */ ++ ++bool ldfile_assumed_script = false; ++const char *ldfile_output_machine_name = ""; ++unsigned long ldfile_output_machine; ++enum bfd_architecture ldfile_output_architecture; ++search_dirs_type *search_head; ++ ++#ifdef VMS ++static char *slash = ""; ++#else ++#if defined (_WIN32) && !defined (__CYGWIN32__) ++static char *slash = "\\"; ++#else ++static char *slash = "/"; ++#endif ++#endif ++ ++typedef struct search_arch ++{ ++ char *name; ++ struct search_arch *next; ++} search_arch_type; ++ ++static search_dirs_type **search_tail_ptr = &search_head; ++static search_arch_type *search_arch_head; ++static search_arch_type **search_arch_tail_ptr = &search_arch_head; ++ ++typedef struct input_remap ++{ ++ const char * pattern; /* Pattern to match input files. */ ++ const char * renamed; /* Filename to use if the pattern matches. */ ++ struct input_remap * next; /* Link in a chain of these structures. */ ++} input_remap; ++ ++static struct input_remap * input_remaps = NULL; ++ ++void ++ldfile_add_remap (const char * pattern, const char * renamed) ++{ ++ struct input_remap * new_entry; ++ ++ new_entry = xmalloc (sizeof * new_entry); ++ new_entry->pattern = xstrdup (pattern); ++ new_entry->next = NULL; ++ ++ /* Look for special filenames that mean that the input file should be ignored. */ ++ if (strcmp (renamed, "/dev/null") == 0 ++ || strcmp (renamed, "NUL") == 0) ++ new_entry->renamed = NULL; ++ else ++ /* FIXME: Should we add sanity checking of the 'renamed' string ? */ ++ new_entry->renamed = xstrdup (renamed); ++ ++ /* It would be easier to add this new node at the start of the chain, ++ but users expect that remapping will occur in the order in which ++ they occur on the command line, and in the remapping files. */ ++ if (input_remaps == NULL) ++ { ++ input_remaps = new_entry; ++ } ++ else ++ { ++ struct input_remap * i; ++ ++ for (i = input_remaps; i->next != NULL; i = i->next) ++ ; ++ i->next = new_entry; ++ } ++} ++ ++void ++ldfile_remap_input_free (void) ++{ ++ while (input_remaps != NULL) ++ { ++ struct input_remap * i = input_remaps; ++ ++ input_remaps = i->next; ++ free ((void *) i->pattern); ++ free ((void *) i->renamed); ++ free (i); ++ } ++} ++ ++bool ++ldfile_add_remap_file (const char * file) ++{ ++ FILE * f; ++ ++ f = fopen (file, FOPEN_RT); ++ if (f == NULL) ++ return false; ++ ++ size_t linelen = 256; ++ char * line = xmalloc (linelen); ++ ++ do ++ { ++ char * p = line; ++ char * q; ++ ++ /* Normally this would use getline(3), but we need to be portable. */ ++ while ((q = fgets (p, linelen - (p - line), f)) != NULL ++ && strlen (q) == linelen - (p - line) - 1 ++ && line[linelen - 2] != '\n') ++ { ++ line = xrealloc (line, 2 * linelen); ++ p = line + linelen - 1; ++ linelen += linelen; ++ } ++ ++ if (q == NULL && p == line) ++ break; ++ ++ p = strchr (line, '\n'); ++ if (p) ++ *p = '\0'; ++ ++ /* Because the file format does not know any form of quoting we ++ can search forward for the next '#' character and if found ++ make it terminating the line. */ ++ p = strchr (line, '#'); ++ if (p) ++ *p = '\0'; ++ ++ /* Remove leading whitespace. NUL is no whitespace character. */ ++ p = line; ++ while (*p == ' ' || *p == '\f' || *p == '\r' || *p == '\t' || *p == '\v') ++ ++p; ++ ++ /* If the line is blank it is ignored. */ ++ if (*p == '\0') ++ continue; ++ ++ char * pattern = p; ++ ++ /* Advance past the pattern. We accept whitespace or '=' as an ++ end-of-pattern marker. */ ++ while (*p && *p != '=' && *p != ' ' && *p != '\t' && *p != '\f' ++ && *p != '\r' && *p != '\v') ++ ++p; ++ ++ if (*p == '\0') ++ { ++ einfo ("%F%P: malformed remap file entry: %s\n", line); ++ continue; ++ } ++ ++ * p++ = '\0'; ++ ++ /* Skip whitespace again. */ ++ while (*p == ' ' || *p == '\f' || *p == '\r' || *p == '\t' || *p == '\v') ++ ++p; ++ ++ if (*p == '\0') ++ { ++ einfo ("%F%P: malformed remap file entry: %s\n", line); ++ continue; ++ } ++ ++ char * renamed = p; ++ ++ /* Advance past the rename entry. */ ++ while (*p && *p != '=' && *p != ' ' && *p != '\t' && *p != '\f' ++ && *p != '\r' && *p != '\v') ++ ++p; ++ /* And terminate it. */ ++ *p = '\0'; ++ ++ ldfile_add_remap (pattern, renamed); ++ } ++ while (! feof (f)); ++ ++ free (line); ++ fclose (f); ++ ++ return true; ++} ++ ++const char * ++ldfile_possibly_remap_input (const char * filename) ++{ ++ struct input_remap * i; ++ ++ if (filename == NULL) ++ return NULL; ++ ++ for (i = input_remaps; i != NULL; i = i->next) ++ { ++ if (fnmatch (i->pattern, filename, 0) == 0) ++ { ++ if (verbose) ++ { ++ if (strpbrk ((i->pattern), "?*[") != NULL) ++ { ++ if (i->renamed) ++ info_msg (_("remap input file '%s' to '%s' based upon pattern '%s'\n"), ++ filename, i->renamed, i->pattern); ++ else ++ info_msg (_("remove input file '%s' based upon pattern '%s'\n"), ++ filename, i->pattern); ++ } ++ else ++ { ++ if (i->renamed) ++ info_msg (_("remap input file '%s' to '%s'\n"), ++ filename, i->renamed); ++ else ++ info_msg (_("remove input file '%s'\n"), ++ filename); ++ } ++ } ++ ++ return i->renamed; ++ } ++ } ++ ++ return filename; ++} ++ ++void ++ldfile_print_input_remaps (void) ++{ ++ if (input_remaps == NULL) ++ return; ++ ++ minfo (_("\nInput File Remapping\n\n")); ++ ++ struct input_remap * i; ++ ++ for (i = input_remaps; i != NULL; i = i->next) ++ minfo (_(" Pattern: %s\tMaps To: %s\n"), i->pattern, ++ i->renamed ? i->renamed : _("")); ++} ++ ++ ++/* Test whether a pathname, after canonicalization, is the same or a ++ sub-directory of the sysroot directory. */ ++ ++static bool ++is_sysrooted_pathname (const char *name) ++{ ++ char *realname; ++ int len; ++ bool result; ++ ++ if (ld_canon_sysroot == NULL) ++ return false; ++ ++ realname = lrealpath (name); ++ len = strlen (realname); ++ result = false; ++ if (len > ld_canon_sysroot_len ++ && IS_DIR_SEPARATOR (realname[ld_canon_sysroot_len])) ++ { ++ realname[ld_canon_sysroot_len] = '\0'; ++ result = FILENAME_CMP (ld_canon_sysroot, realname) == 0; ++ } ++ ++ free (realname); ++ return result; ++} ++ ++/* Adds NAME to the library search path. ++ Makes a copy of NAME using xmalloc(). */ ++ ++void ++ldfile_add_library_path (const char *name, bool cmdline) ++{ ++ search_dirs_type *new_dirs; ++ ++ if (!cmdline && config.only_cmd_line_lib_dirs) ++ return; ++ ++ new_dirs = (search_dirs_type *) xmalloc (sizeof (search_dirs_type)); ++ new_dirs->next = NULL; ++ new_dirs->cmdline = cmdline; ++ *search_tail_ptr = new_dirs; ++ search_tail_ptr = &new_dirs->next; ++ ++ /* If a directory is marked as honoring sysroot, prepend the sysroot path ++ now. */ ++ if (name[0] == '=') ++ new_dirs->name = concat (ld_sysroot, name + 1, (const char *) NULL); ++ else if (startswith (name, "$SYSROOT")) ++ new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); ++ else ++ new_dirs->name = xstrdup (name); ++} ++ ++/* Try to open a BFD for a lang_input_statement. */ ++ ++bool ++ldfile_try_open_bfd (const char *attempt, ++ lang_input_statement_type *entry) ++{ ++ entry->the_bfd = bfd_openr (attempt, entry->target); ++ ++ if (verbose) ++ { ++ if (entry->the_bfd == NULL) ++ info_msg (_("attempt to open %s failed\n"), attempt); ++ else ++ info_msg (_("attempt to open %s succeeded\n"), attempt); ++ } ++ ++ if (entry->the_bfd == NULL) ++ { ++ if (bfd_get_error () == bfd_error_invalid_target) ++ einfo (_("%F%P: invalid BFD target `%s'\n"), entry->target); ++ return false; ++ } ++ ++ /* PR 30568: Do not track lto generated temporary object files. */ ++#if BFD_SUPPORTS_PLUGINS ++ if (!entry->flags.lto_output) ++#endif ++ track_dependency_files (attempt); ++ ++ /* Linker needs to decompress sections. */ ++ entry->the_bfd->flags |= BFD_DECOMPRESS; ++ ++ /* This is a linker input BFD. */ ++ entry->the_bfd->is_linker_input = 1; ++ ++#if BFD_SUPPORTS_PLUGINS ++ if (entry->flags.lto_output) ++ entry->the_bfd->lto_output = 1; ++#endif ++ ++ /* If we are searching for this file, see if the architecture is ++ compatible with the output file. If it isn't, keep searching. ++ If we can't open the file as an object file, stop the search ++ here. If we are statically linking, ensure that we don't link ++ a dynamic object. ++ ++ In the code below, it's OK to exit early if the check fails, ++ closing the checked BFD and returning false, but if the BFD ++ checks out compatible, do not exit early returning true, or ++ the plugins will not get a chance to claim the file. */ ++ ++ if (entry->flags.search_dirs || !entry->flags.dynamic) ++ { ++ bfd *check; ++ ++ if (bfd_check_format (entry->the_bfd, bfd_archive)) ++ check = bfd_openr_next_archived_file (entry->the_bfd, NULL); ++ else ++ check = entry->the_bfd; ++ ++ if (check != NULL) ++ { ++ if (!bfd_check_format (check, bfd_object)) ++ { ++ if (check == entry->the_bfd ++ && entry->flags.search_dirs ++ && bfd_get_error () == bfd_error_file_not_recognized ++ && !ldemul_unrecognized_file (entry)) ++ { ++ int token, skip = 0; ++ char *arg, *arg1, *arg2, *arg3; ++ extern FILE *yyin; ++ ++ /* Try to interpret the file as a linker script. */ ++ ldfile_open_command_file (attempt); ++ ++ ldfile_assumed_script = true; ++ parser_input = input_selected; ++ ldlex_script (); ++ token = INPUT_SCRIPT; ++ while (token != 0) ++ { ++ switch (token) ++ { ++ case OUTPUT_FORMAT: ++ if ((token = yylex ()) != '(') ++ continue; ++ if ((token = yylex ()) != NAME) ++ continue; ++ arg1 = yylval.name; ++ arg2 = NULL; ++ arg3 = NULL; ++ token = yylex (); ++ if (token == ',') ++ { ++ if ((token = yylex ()) != NAME) ++ { ++ free (arg1); ++ continue; ++ } ++ arg2 = yylval.name; ++ if ((token = yylex ()) != ',' ++ || (token = yylex ()) != NAME) ++ { ++ free (arg1); ++ free (arg2); ++ continue; ++ } ++ arg3 = yylval.name; ++ token = yylex (); ++ } ++ if (token == ')') ++ { ++ switch (command_line.endian) ++ { ++ default: ++ case ENDIAN_UNSET: ++ arg = arg1; break; ++ case ENDIAN_BIG: ++ arg = arg2 ? arg2 : arg1; break; ++ case ENDIAN_LITTLE: ++ arg = arg3 ? arg3 : arg1; break; ++ } ++ if (strcmp (arg, lang_get_output_target ()) != 0) ++ skip = 1; ++ } ++ free (arg1); ++ free (arg2); ++ free (arg3); ++ break; ++ case NAME: ++ case LNAME: ++ case VERS_IDENTIFIER: ++ case VERS_TAG: ++ free (yylval.name); ++ break; ++ case INT: ++ free (yylval.bigint.str); ++ break; ++ } ++ token = yylex (); ++ } ++ ldlex_popstate (); ++ ldfile_assumed_script = false; ++ fclose (yyin); ++ yyin = NULL; ++ if (skip) ++ { ++ if (command_line.warn_search_mismatch) ++ einfo (_("%P: skipping incompatible %s " ++ "when searching for %s\n"), ++ attempt, entry->local_sym_name); ++ bfd_close (entry->the_bfd); ++ entry->the_bfd = NULL; ++ return false; ++ } ++ } ++ goto success; ++ } ++ ++ if (!entry->flags.dynamic && (entry->the_bfd->flags & DYNAMIC) != 0) ++ { ++ einfo (_("%F%P: attempted static link of dynamic object `%s'\n"), ++ attempt); ++ bfd_close (entry->the_bfd); ++ entry->the_bfd = NULL; ++ return false; ++ } ++ ++ if (entry->flags.search_dirs ++ && !bfd_arch_get_compatible (check, link_info.output_bfd, ++ command_line.accept_unknown_input_arch) ++ /* XCOFF archives can have 32 and 64 bit objects. */ ++ && !(bfd_get_flavour (check) == bfd_target_xcoff_flavour ++ && (bfd_get_flavour (link_info.output_bfd) ++ == bfd_target_xcoff_flavour) ++ && bfd_check_format (entry->the_bfd, bfd_archive))) ++ { ++ if (command_line.warn_search_mismatch) ++ einfo (_("%P: skipping incompatible %s " ++ "when searching for %s\n"), ++ attempt, entry->local_sym_name); ++ bfd_close (entry->the_bfd); ++ entry->the_bfd = NULL; ++ return false; ++ } ++ } ++ } ++ success: ++#if BFD_SUPPORTS_PLUGINS ++ /* If plugins are active, they get first chance to claim ++ any successfully-opened input file. We skip archives ++ here; the plugin wants us to offer it the individual ++ members when we enumerate them, not the whole file. We ++ also ignore corefiles, because that's just weird. It is ++ a needed side-effect of calling bfd_check_format with ++ bfd_object that it sets the bfd's arch and mach, which ++ will be needed when and if we want to bfd_create a new ++ one using this one as a template. */ ++ if (link_info.lto_plugin_active ++ && !no_more_claiming ++ && bfd_check_format (entry->the_bfd, bfd_object)) ++ plugin_maybe_claim (entry); ++#endif /* BFD_SUPPORTS_PLUGINS */ ++ ++ /* It opened OK, the format checked out, and the plugins have had ++ their chance to claim it, so this is success. */ ++ return true; ++} ++ ++/* Search for and open the file specified by ENTRY. If it is an ++ archive, use ARCH, LIB and SUFFIX to modify the file name. */ ++ ++bool ++ldfile_open_file_search (const char *arch, ++ lang_input_statement_type *entry, ++ const char *lib, ++ const char *suffix) ++{ ++ search_dirs_type *search; ++ ++ /* If this is not an archive, try to open it in the current ++ directory first. */ ++ if (!entry->flags.maybe_archive) ++ { ++ if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) ++ { ++ char *name = concat (ld_sysroot, entry->filename, ++ (const char *) NULL); ++ if (ldfile_try_open_bfd (name, entry)) ++ { ++ entry->filename = name; ++ return true; ++ } ++ free (name); ++ } ++ else if (ldfile_try_open_bfd (entry->filename, entry)) ++ return true; ++ ++ if (IS_ABSOLUTE_PATH (entry->filename)) ++ return false; ++ } ++ ++ for (search = search_head; search != NULL; search = search->next) ++ { ++ char *string; ++ ++ if (entry->flags.dynamic && !bfd_link_relocatable (&link_info)) ++ { ++ if (ldemul_open_dynamic_archive (arch, search, entry)) ++ return true; ++ } ++ ++ if (entry->flags.maybe_archive && !entry->flags.full_name_provided) ++ string = concat (search->name, slash, lib, entry->filename, ++ arch, suffix, (const char *) NULL); ++ else ++ string = concat (search->name, slash, entry->filename, ++ (const char *) 0); ++ ++ if (ldfile_try_open_bfd (string, entry)) ++ { ++ entry->filename = string; ++ return true; ++ } ++ ++ free (string); ++ } ++ ++ return false; ++} ++ ++/* Open the input file specified by ENTRY. ++ PR 4437: Do not stop on the first missing file, but ++ continue processing other input files in case there ++ are more errors to report. */ ++ ++void ++ldfile_open_file (lang_input_statement_type *entry) ++{ ++ if (entry->the_bfd != NULL) ++ return; ++ ++ if (!entry->flags.search_dirs) ++ { ++ if (ldfile_try_open_bfd (entry->filename, entry)) ++ return; ++ ++ if (filename_cmp (entry->filename, entry->local_sym_name) != 0) ++ einfo (_("%P: cannot find %s (%s): %E\n"), ++ entry->filename, entry->local_sym_name); ++ else ++ einfo (_("%P: cannot find %s: %E\n"), entry->local_sym_name); ++ ++ entry->flags.missing_file = true; ++ input_flags.missing_file = true; ++ } ++ else ++ { ++ search_arch_type *arch; ++ bool found = false; ++ ++ /* If extra_search_path is set, entry->filename is a relative path. ++ Search the directory of the current linker script before searching ++ other paths. */ ++ if (entry->extra_search_path) ++ { ++ char *path = concat (entry->extra_search_path, slash, entry->filename, ++ (const char *)0); ++ if (ldfile_try_open_bfd (path, entry)) ++ { ++ entry->filename = path; ++ entry->flags.search_dirs = false; ++ return; ++ } ++ ++ free (path); ++ } ++ ++ /* Try to open or lib.a. */ ++ for (arch = search_arch_head; arch != NULL; arch = arch->next) ++ { ++ found = ldfile_open_file_search (arch->name, entry, "lib", ".a"); ++ if (found) ++ break; ++#ifdef VMS ++ found = ldfile_open_file_search (arch->name, entry, ":lib", ".a"); ++ if (found) ++ break; ++#endif ++ found = ldemul_find_potential_libraries (arch->name, entry); ++ if (found) ++ break; ++ } ++ ++ /* If we have found the file, we don't need to search directories ++ again. */ ++ if (found) ++ entry->flags.search_dirs = false; ++ else ++ { ++ if (entry->flags.sysrooted ++ && ld_sysroot ++ && IS_ABSOLUTE_PATH (entry->local_sym_name)) ++ einfo (_("%P: cannot find %s inside %s\n"), ++ entry->local_sym_name, ld_sysroot); ++#if SUPPORT_ERROR_HANDLING_SCRIPT ++ else if (error_handling_script != NULL) ++ { ++ char * argv[4]; ++ const char * res; ++ int status, err; ++ ++ argv[0] = error_handling_script; ++ argv[1] = "missing-lib"; ++ argv[2] = (char *) entry->local_sym_name; ++ argv[3] = NULL; ++ ++ if (verbose) ++ einfo (_("%P: About to run error handling script '%s' with arguments: '%s' '%s'\n"), ++ argv[0], argv[1], argv[2]); ++ ++ res = pex_one (PEX_SEARCH, error_handling_script, argv, ++ N_("error handling script"), ++ NULL /* Send stdout to random, temp file. */, ++ NULL /* Write to stderr. */, ++ &status, &err); ++ if (res != NULL) ++ { ++ einfo (_("%P: Failed to run error handling script '%s', reason: "), ++ error_handling_script); ++ /* FIXME: We assume here that errrno == err. */ ++ perror (res); ++ } ++ else /* We ignore the return status of the script ++ and always print the error message. */ ++ einfo (_("%P: cannot find %s: %E\n"), entry->local_sym_name); ++ } ++#endif ++ else ++ einfo (_("%P: cannot find %s: %E\n"), entry->local_sym_name); ++ ++ /* PR 25747: Be kind to users who forgot to add the ++ "lib" prefix to their library when it was created. */ ++ for (arch = search_arch_head; arch != NULL; arch = arch->next) ++ { ++ if (ldfile_open_file_search (arch->name, entry, "", ".a")) ++ { ++ const char * base = lbasename (entry->filename); ++ ++ einfo (_("%P: note to link with %s use -l:%s or rename it to lib%s\n"), ++ entry->filename, base, base); ++ bfd_close (entry->the_bfd); ++ entry->the_bfd = NULL; ++ break; ++ } ++ } ++ ++ entry->flags.missing_file = true; ++ input_flags.missing_file = true; ++ } ++ } ++} ++ ++/* Try to open NAME. */ ++ ++static FILE * ++try_open (const char *name, bool *sysrooted) ++{ ++ FILE *result; ++ ++ result = fopen (name, "r"); ++ ++ if (result != NULL) ++ *sysrooted = is_sysrooted_pathname (name); ++ ++ if (verbose) ++ { ++ if (result == NULL) ++ info_msg (_("cannot find script file %s\n"), name); ++ else ++ info_msg (_("opened script file %s\n"), name); ++ } ++ ++ return result; ++} ++ ++/* Return TRUE iff directory DIR contains an "ldscripts" subdirectory. */ ++ ++static bool ++check_for_scripts_dir (char *dir) ++{ ++ char *buf; ++ struct stat s; ++ bool res; ++ ++ buf = concat (dir, "/ldscripts", (const char *) NULL); ++ res = stat (buf, &s) == 0 && S_ISDIR (s.st_mode); ++ free (buf); ++ return res; ++} ++ ++/* Return the default directory for finding script files. ++ We look for the "ldscripts" directory in: ++ ++ SCRIPTDIR (passed from Makefile) ++ (adjusted according to the current location of the binary) ++ the dir where this program is (for using it from the build tree). */ ++ ++static char * ++find_scripts_dir (void) ++{ ++ char *dir; ++ ++ dir = make_relative_prefix (program_name, BINDIR, SCRIPTDIR); ++ if (dir) ++ { ++ if (check_for_scripts_dir (dir)) ++ return dir; ++ free (dir); ++ } ++ ++ dir = make_relative_prefix (program_name, TOOLBINDIR, SCRIPTDIR); ++ if (dir) ++ { ++ if (check_for_scripts_dir (dir)) ++ return dir; ++ free (dir); ++ } ++ ++ /* Look for "ldscripts" in the dir where our binary is. */ ++ dir = make_relative_prefix (program_name, ".", "."); ++ if (dir) ++ { ++ if (check_for_scripts_dir (dir)) ++ return dir; ++ free (dir); ++ } ++ ++ return NULL; ++} ++ ++/* If DEFAULT_ONLY is false, try to open NAME; if that fails, look for ++ it in directories specified with -L, then in the default script ++ directory. If DEFAULT_ONLY is true, the search is restricted to ++ the default script location. */ ++ ++static FILE * ++ldfile_find_command_file (const char *name, ++ bool default_only, ++ bool *sysrooted) ++{ ++ search_dirs_type *search; ++ FILE *result = NULL; ++ char *path; ++ static search_dirs_type *script_search; ++ ++ if (!default_only) ++ { ++ /* First try raw name. */ ++ result = try_open (name, sysrooted); ++ if (result != NULL) ++ return result; ++ } ++ ++ if (!script_search) ++ { ++ char *script_dir = find_scripts_dir (); ++ if (script_dir) ++ { ++ search_dirs_type **save_tail_ptr = search_tail_ptr; ++ search_tail_ptr = &script_search; ++ ldfile_add_library_path (script_dir, true); ++ search_tail_ptr = save_tail_ptr; ++ } ++ } ++ ++ /* Temporarily append script_search to the path list so that the ++ paths specified with -L will be searched first. */ ++ *search_tail_ptr = script_search; ++ ++ /* Try now prefixes. */ ++ for (search = default_only ? script_search : search_head; ++ search != NULL; ++ search = search->next) ++ { ++ path = concat (search->name, slash, name, (const char *) NULL); ++ result = try_open (path, sysrooted); ++ free (path); ++ if (result) ++ break; ++ } ++ ++ /* Restore the original path list. */ ++ *search_tail_ptr = NULL; ++ ++ return result; ++} ++ ++enum script_open_style { ++ script_nonT, ++ script_T, ++ script_defaultT ++}; ++ ++struct script_name_list ++{ ++ struct script_name_list *next; ++ enum script_open_style open_how; ++ char name[1]; ++}; ++ ++/* Open command file NAME. */ ++ ++static void ++ldfile_open_command_file_1 (const char *name, enum script_open_style open_how) ++{ ++ FILE *ldlex_input_stack; ++ bool sysrooted; ++ static struct script_name_list *processed_scripts = NULL; ++ struct script_name_list *script; ++ size_t len; ++ ++ /* PR 24576: Catch the case where the user has accidentally included ++ the same linker script twice. */ ++ for (script = processed_scripts; script != NULL; script = script->next) ++ { ++ if ((open_how != script_nonT || script->open_how != script_nonT) ++ && strcmp (name, script->name) == 0) ++ { ++ einfo (_("%F%P: error: linker script file '%s'" ++ " appears multiple times\n"), name); ++ return; ++ } ++ } ++ ++ /* FIXME: This memory is never freed, but that should not really matter. ++ It will be released when the linker exits, and it is unlikely to ever ++ be more than a few tens of bytes. */ ++ len = strlen (name); ++ script = xmalloc (sizeof (*script) + len); ++ script->next = processed_scripts; ++ script->open_how = open_how; ++ memcpy (script->name, name, len + 1); ++ processed_scripts = script; ++ ++ ldlex_input_stack = ldfile_find_command_file (name, ++ open_how == script_defaultT, ++ &sysrooted); ++ if (ldlex_input_stack == NULL) ++ { ++ bfd_set_error (bfd_error_system_call); ++ einfo (_("%F%P: cannot open linker script file %s: %E\n"), name); ++ return; ++ } ++ ++ track_dependency_files (name); ++ ++ lex_push_file (ldlex_input_stack, name, sysrooted); ++ ++ lineno = 1; ++ ++ saved_script_handle = ldlex_input_stack; ++} ++ ++/* Open command file NAME in the current directory, -L directories, ++ the default script location, in that order. */ ++ ++void ++ldfile_open_command_file (const char *name) ++{ ++ ldfile_open_command_file_1 (name, script_nonT); ++} ++ ++void ++ldfile_open_script_file (const char *name) ++{ ++ ldfile_open_command_file_1 (name, script_T); ++} ++ ++/* Open command file NAME at the default script location. */ ++ ++void ++ldfile_open_default_command_file (const char *name) ++{ ++ ldfile_open_command_file_1 (name, script_defaultT); ++} ++ ++void ++ldfile_add_arch (const char *in_name) ++{ ++ char *name = xstrdup (in_name); ++ search_arch_type *new_arch ++ = (search_arch_type *) xmalloc (sizeof (search_arch_type)); ++ ++ ldfile_output_machine_name = in_name; ++ ++ new_arch->name = name; ++ new_arch->next = NULL; ++ while (*name) ++ { ++ *name = TOLOWER (*name); ++ name++; ++ } ++ *search_arch_tail_ptr = new_arch; ++ search_arch_tail_ptr = &new_arch->next; ++ ++} ++ ++/* Set the output architecture. */ ++ ++void ++ldfile_set_output_arch (const char *string, enum bfd_architecture defarch) ++{ ++ const bfd_arch_info_type *arch = bfd_scan_arch (string); ++ ++ if (arch) ++ { ++ ldfile_output_architecture = arch->arch; ++ ldfile_output_machine = arch->mach; ++ ldfile_output_machine_name = arch->printable_name; ++ } ++ else if (defarch != bfd_arch_unknown) ++ ldfile_output_architecture = defarch; ++ else ++ einfo (_("%F%P: cannot represent machine `%s'\n"), string); ++} +diff -rupN binutils.orig/ld/ldfile.h binutils-2.41/ld/ldfile.h +--- binutils.orig/ld/ldfile.h 2024-05-13 13:03:47.801601773 +0100 ++++ binutils-2.41/ld/ldfile.h 2024-05-13 13:04:08.595633300 +0100 +@@ -29,7 +29,8 @@ extern const char *ldfile_output_machine + /* Structure used to hold the list of directories to search for + libraries. */ + +-typedef struct search_dirs { ++typedef struct search_dirs ++{ + /* Next directory on list. */ + struct search_dirs *next; + /* Name of directory. */ +@@ -38,6 +39,22 @@ typedef struct search_dirs { + bool cmdline; + } search_dirs_type; + ++enum script_open_style ++{ ++ script_nonT, ++ script_T, ++ script_defaultT ++}; ++ ++struct script_name_list ++{ ++ struct script_name_list * next; ++ enum script_open_style open_how; ++ char name[1]; ++}; ++ ++extern struct script_name_list * processed_scripts; ++ + extern search_dirs_type *search_head; + + extern void ldfile_add_arch +diff -rupN binutils.orig/ld/ldgram.y binutils-2.41/ld/ldgram.y +--- binutils.orig/ld/ldgram.y 2024-05-13 13:03:47.802601774 +0100 ++++ binutils-2.41/ld/ldgram.y 2024-05-13 13:04:08.596633302 +0100 +@@ -154,7 +154,7 @@ static int error_index; + %token LOG2CEIL FORMAT PUBLIC DEFSYMEND BASE ALIAS TRUNCATE REL + %token INPUT_SCRIPT INPUT_MRI_SCRIPT INPUT_DEFSYM CASE EXTERN START + %token VERS_TAG VERS_IDENTIFIER +-%token GLOBAL LOCAL VERSIONK INPUT_VERSION_SCRIPT ++%token GLOBAL LOCAL VERSIONK INPUT_VERSION_SCRIPT INPUT_SECTION_ORDERING_SCRIPT + %token KEEP ONLY_IF_RO ONLY_IF_RW SPECIAL INPUT_SECTION_FLAGS ALIGN_WITH_INPUT + %token EXCLUDE_FILE + %token CONSTANT +@@ -169,6 +169,7 @@ file: + INPUT_SCRIPT script_file + | INPUT_MRI_SCRIPT mri_script_file + | INPUT_VERSION_SCRIPT version_script_file ++ | INPUT_SECTION_ORDERING_SCRIPT section_ordering_script_file + | INPUT_DYNAMIC_LIST dynamic_list_file + | INPUT_DEFSYM defsym_expr + ; +@@ -1503,6 +1504,39 @@ opt_semicolon: + | ';' + ; + ++section_ordering_script_file: ++ { ++ ldlex_script (); ++ PUSH_ERROR (_("section-ordering-file script")); ++ } ++ section_ordering_list ++ { ++ ldlex_popstate (); ++ POP_ERROR (); ++ } ++ ; ++ ++section_ordering_list: ++ section_ordering_list section_order ++ | section_ordering_list statement_anywhere ++ | ++ ; ++ ++section_order: NAME ':' ++ { ++ ldlex_wild (); ++ lang_enter_output_section_statement ++ ($1, NULL, 0, NULL, NULL, NULL, NULL, 0, 0); ++ } ++ '{' ++ statement_list_opt ++ '}' ++ { ++ ldlex_popstate (); ++ lang_leave_output_section_statement (NULL, NULL, NULL, NULL); ++ } ++ opt_comma ++ + %% + void + yyerror(arg) +diff -rupN binutils.orig/ld/ldgram.y.orig binutils-2.41/ld/ldgram.y.orig +--- binutils.orig/ld/ldgram.y.orig 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/ldgram.y.orig 2023-07-03 00:00:00.000000000 +0100 +@@ -0,0 +1,1518 @@ ++/* A YACC grammar to parse a superset of the AT&T linker scripting language. ++ Copyright (C) 1991-2023 Free Software Foundation, Inc. ++ Written by Steve Chamberlain of Cygnus Support (steve@cygnus.com). ++ ++ This file is part of the GNU Binutils. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, ++ MA 02110-1301, USA. */ ++ ++%{ ++/* ++ ++ */ ++ ++#define DONTDECLARE_MALLOC ++ ++#include "sysdep.h" ++#include "bfd.h" ++#include "bfdlink.h" ++#include "ctf-api.h" ++#include "ld.h" ++#include "ldexp.h" ++#include "ldver.h" ++#include "ldlang.h" ++#include "ldfile.h" ++#include "ldemul.h" ++#include "ldmisc.h" ++#include "ldmain.h" ++#include "mri.h" ++#include "ldctor.h" ++#include "ldlex.h" ++ ++#ifndef YYDEBUG ++#define YYDEBUG 1 ++#endif ++ ++static enum section_type sectype; ++static etree_type *sectype_value; ++static lang_memory_region_type *region; ++ ++static bool ldgram_had_keep = false; ++static char *ldgram_vers_current_lang = NULL; ++ ++#define ERROR_NAME_MAX 20 ++static char *error_names[ERROR_NAME_MAX]; ++static int error_index; ++#define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++; ++#define POP_ERROR() error_index--; ++%} ++%union { ++ bfd_vma integer; ++ struct big_int ++ { ++ bfd_vma integer; ++ char *str; ++ } bigint; ++ fill_type *fill; ++ char *name; ++ const char *cname; ++ struct wildcard_spec wildcard; ++ struct wildcard_list *wildcard_list; ++ struct name_list *name_list; ++ struct flag_info_list *flag_info_list; ++ struct flag_info *flag_info; ++ int token; ++ union etree_union *etree; ++ struct phdr_info ++ { ++ bool filehdr; ++ bool phdrs; ++ union etree_union *at; ++ union etree_union *flags; ++ } phdr; ++ struct lang_nocrossref *nocrossref; ++ struct lang_output_section_phdr_list *section_phdr; ++ struct bfd_elf_version_deps *deflist; ++ struct bfd_elf_version_expr *versyms; ++ struct bfd_elf_version_tree *versnode; ++} ++ ++%type exp opt_exp_with_type mustbe_exp opt_at phdr_type phdr_val ++%type opt_exp_without_type opt_subalign opt_align ++%type fill_opt fill_exp ++%type exclude_name_list ++%type section_name_list ++%type sect_flag_list ++%type sect_flags ++%type memspec_opt memspec_at_opt paren_script_name casesymlist ++%type wildcard_name ++%type section_name_spec filename_spec wildcard_maybe_exclude ++%token INT ++%token NAME LNAME ++%type length ++%type phdr_qualifiers ++%type nocrossref_list ++%type phdr_opt ++%type opt_nocrossrefs ++ ++%right PLUSEQ MINUSEQ MULTEQ DIVEQ '=' LSHIFTEQ RSHIFTEQ ANDEQ OREQ ++%right '?' ':' ++%left OROR ++%left ANDAND ++%left '|' ++%left '^' ++%left '&' ++%left EQ NE ++%left '<' '>' LE GE ++%left LSHIFT RSHIFT ++ ++%left '+' '-' ++%left '*' '/' '%' ++ ++%right UNARY ++%token END ++%left '(' ++%token ALIGN_K BLOCK BIND QUAD SQUAD LONG SHORT BYTE ASCIZ ++%token SECTIONS PHDRS INSERT_K AFTER BEFORE LINKER_VERSION ++%token DATA_SEGMENT_ALIGN DATA_SEGMENT_RELRO_END DATA_SEGMENT_END ++%token SORT_BY_NAME SORT_BY_ALIGNMENT SORT_NONE ++%token SORT_BY_INIT_PRIORITY ++%token '{' '}' ++%token SIZEOF_HEADERS OUTPUT_FORMAT FORCE_COMMON_ALLOCATION OUTPUT_ARCH ++%token INHIBIT_COMMON_ALLOCATION FORCE_GROUP_ALLOCATION ++%token SEGMENT_START ++%token INCLUDE ++%token MEMORY ++%token REGION_ALIAS ++%token LD_FEATURE ++%token NOLOAD DSECT COPY INFO OVERLAY ++%token READONLY ++%token TYPE ++%token DEFINED TARGET_K SEARCH_DIR MAP ENTRY ++%token NEXT ++%token SIZEOF ALIGNOF ADDR LOADADDR MAX_K MIN_K ++%token STARTUP HLL SYSLIB FLOAT NOFLOAT NOCROSSREFS NOCROSSREFS_TO ++%token ORIGIN FILL ++%token LENGTH CREATE_OBJECT_SYMBOLS INPUT GROUP OUTPUT CONSTRUCTORS ++%token ALIGNMOD AT SUBALIGN HIDDEN PROVIDE PROVIDE_HIDDEN AS_NEEDED ++%type assign_op atype attributes_opt sect_constraint opt_align_with_input ++%type filename ++%token CHIP LIST SECT ABSOLUTE LOAD NEWLINE ENDWORD ORDER NAMEWORD ASSERT_K ++%token LOG2CEIL FORMAT PUBLIC DEFSYMEND BASE ALIAS TRUNCATE REL ++%token INPUT_SCRIPT INPUT_MRI_SCRIPT INPUT_DEFSYM CASE EXTERN START ++%token VERS_TAG VERS_IDENTIFIER ++%token GLOBAL LOCAL VERSIONK INPUT_VERSION_SCRIPT ++%token KEEP ONLY_IF_RO ONLY_IF_RW SPECIAL INPUT_SECTION_FLAGS ALIGN_WITH_INPUT ++%token EXCLUDE_FILE ++%token CONSTANT ++%type vers_defns ++%type vers_tag ++%type verdep ++%token INPUT_DYNAMIC_LIST ++ ++%% ++ ++file: ++ INPUT_SCRIPT script_file ++ | INPUT_MRI_SCRIPT mri_script_file ++ | INPUT_VERSION_SCRIPT version_script_file ++ | INPUT_DYNAMIC_LIST dynamic_list_file ++ | INPUT_DEFSYM defsym_expr ++ ; ++ ++ ++filename: NAME; ++ ++ ++defsym_expr: ++ { ldlex_expression(); } ++ assignment ++ { ldlex_popstate(); } ++ ; ++ ++/* SYNTAX WITHIN AN MRI SCRIPT FILE */ ++mri_script_file: ++ { ++ ldlex_mri_script (); ++ PUSH_ERROR (_("MRI style script")); ++ } ++ mri_script_lines ++ { ++ ldlex_popstate (); ++ mri_draw_tree (); ++ POP_ERROR (); ++ } ++ ; ++ ++mri_script_lines: ++ mri_script_lines mri_script_command NEWLINE ++ | ++ ; ++ ++mri_script_command: ++ CHIP exp ++ | CHIP exp ',' exp ++ | NAME { ++ einfo(_("%F%P: unrecognised keyword in MRI style script '%s'\n"),$1); ++ } ++ | LIST { ++ config.map_filename = "-"; ++ } ++ | ORDER ordernamelist ++ | ENDWORD ++ | PUBLIC NAME '=' exp ++ { mri_public($2, $4); } ++ | PUBLIC NAME ',' exp ++ { mri_public($2, $4); } ++ | PUBLIC NAME exp ++ { mri_public($2, $3); } ++ | FORMAT NAME ++ { mri_format($2); } ++ | SECT NAME ',' exp ++ { mri_output_section($2, $4);} ++ | SECT NAME exp ++ { mri_output_section($2, $3);} ++ | SECT NAME '=' exp ++ { mri_output_section($2, $4);} ++ | ALIGN_K NAME '=' exp ++ { mri_align($2,$4); } ++ | ALIGN_K NAME ',' exp ++ { mri_align($2,$4); } ++ | ALIGNMOD NAME '=' exp ++ { mri_alignmod($2,$4); } ++ | ALIGNMOD NAME ',' exp ++ { mri_alignmod($2,$4); } ++ | ABSOLUTE mri_abs_name_list ++ | LOAD mri_load_name_list ++ | NAMEWORD NAME ++ { mri_name($2); } ++ | ALIAS NAME ',' NAME ++ { mri_alias($2,$4,0);} ++ | ALIAS NAME ',' INT ++ { mri_alias ($2, 0, (int) $4.integer); } ++ | BASE exp ++ { mri_base($2); } ++ | TRUNCATE INT ++ { mri_truncate ((unsigned int) $2.integer); } ++ | CASE casesymlist ++ | EXTERN extern_name_list ++ | INCLUDE filename ++ { ldfile_open_command_file ($2); } ++ mri_script_lines END ++ | START NAME ++ { lang_add_entry ($2, false); } ++ | ++ ; ++ ++ordernamelist: ++ ordernamelist ',' NAME { mri_order($3); } ++ | ordernamelist NAME { mri_order($2); } ++ | ++ ; ++ ++mri_load_name_list: ++ NAME ++ { mri_load($1); } ++ | mri_load_name_list ',' NAME { mri_load($3); } ++ ; ++ ++mri_abs_name_list: ++ NAME ++ { mri_only_load($1); } ++ | mri_abs_name_list ',' NAME ++ { mri_only_load($3); } ++ ; ++ ++casesymlist: ++ /* empty */ { $$ = NULL; } ++ | NAME ++ | casesymlist ',' NAME ++ ; ++ ++extern_name_list: ++ NAME ++ { ldlang_add_undef ($1, false); } ++ | extern_name_list NAME ++ { ldlang_add_undef ($2, false); } ++ | extern_name_list ',' NAME ++ { ldlang_add_undef ($3, false); } ++ ; ++ ++script_file: ++ { ldlex_script (); } ++ ifile_list ++ { ldlex_popstate (); } ++ ; ++ ++ifile_list: ++ ifile_list ifile_p1 ++ | ++ ; ++ ++ ++ifile_p1: ++ memory ++ | sections ++ | phdrs ++ | startup ++ | high_level_library ++ | low_level_library ++ | floating_point_support ++ | statement_anywhere ++ | version ++ | ';' ++ | TARGET_K '(' NAME ')' ++ { lang_add_target($3); } ++ | SEARCH_DIR '(' filename ')' ++ { ldfile_add_library_path ($3, false); } ++ | OUTPUT '(' filename ')' ++ { lang_add_output($3, 1); } ++ | OUTPUT_FORMAT '(' NAME ')' ++ { lang_add_output_format ($3, (char *) NULL, ++ (char *) NULL, 1); } ++ | OUTPUT_FORMAT '(' NAME ',' NAME ',' NAME ')' ++ { lang_add_output_format ($3, $5, $7, 1); } ++ | OUTPUT_ARCH '(' NAME ')' ++ { ldfile_set_output_arch ($3, bfd_arch_unknown); } ++ | FORCE_COMMON_ALLOCATION ++ { command_line.force_common_definition = true ; } ++ | FORCE_GROUP_ALLOCATION ++ { command_line.force_group_allocation = true ; } ++ | INHIBIT_COMMON_ALLOCATION ++ { link_info.inhibit_common_definition = true ; } ++ | INPUT '(' input_list ')' ++ | GROUP ++ { lang_enter_group (); } ++ '(' input_list ')' ++ { lang_leave_group (); } ++ | MAP '(' filename ')' ++ { lang_add_map($3); } ++ | INCLUDE filename ++ { ldfile_open_command_file ($2); } ++ ifile_list END ++ | NOCROSSREFS '(' nocrossref_list ')' ++ { ++ lang_add_nocrossref ($3); ++ } ++ | NOCROSSREFS_TO '(' nocrossref_list ')' ++ { ++ lang_add_nocrossref_to ($3); ++ } ++ | EXTERN '(' { ldlex_expression (); } extern_name_list ')' ++ { ldlex_popstate (); } ++ | INSERT_K AFTER NAME ++ { lang_add_insert ($3, 0); } ++ | INSERT_K BEFORE NAME ++ { lang_add_insert ($3, 1); } ++ | REGION_ALIAS '(' NAME ',' NAME ')' ++ { lang_memory_region_alias ($3, $5); } ++ | LD_FEATURE '(' NAME ')' ++ { lang_ld_feature ($3); } ++ ; ++ ++input_list: ++ { ldlex_inputlist(); } ++ input_list1 ++ { ldlex_popstate(); } ++ ++input_list1: ++ NAME ++ { lang_add_input_file($1,lang_input_file_is_search_file_enum, ++ (char *)NULL); } ++ | input_list1 ',' NAME ++ { lang_add_input_file($3,lang_input_file_is_search_file_enum, ++ (char *)NULL); } ++ | input_list1 NAME ++ { lang_add_input_file($2,lang_input_file_is_search_file_enum, ++ (char *)NULL); } ++ | LNAME ++ { lang_add_input_file($1,lang_input_file_is_l_enum, ++ (char *)NULL); } ++ | input_list1 ',' LNAME ++ { lang_add_input_file($3,lang_input_file_is_l_enum, ++ (char *)NULL); } ++ | input_list1 LNAME ++ { lang_add_input_file($2,lang_input_file_is_l_enum, ++ (char *)NULL); } ++ | AS_NEEDED '(' ++ { $$ = input_flags.add_DT_NEEDED_for_regular; ++ input_flags.add_DT_NEEDED_for_regular = true; } ++ input_list1 ')' ++ { input_flags.add_DT_NEEDED_for_regular = $3; } ++ | input_list1 ',' AS_NEEDED '(' ++ { $$ = input_flags.add_DT_NEEDED_for_regular; ++ input_flags.add_DT_NEEDED_for_regular = true; } ++ input_list1 ')' ++ { input_flags.add_DT_NEEDED_for_regular = $5; } ++ | input_list1 AS_NEEDED '(' ++ { $$ = input_flags.add_DT_NEEDED_for_regular; ++ input_flags.add_DT_NEEDED_for_regular = true; } ++ input_list1 ')' ++ { input_flags.add_DT_NEEDED_for_regular = $4; } ++ ; ++ ++sections: ++ SECTIONS '{' sec_or_group_p1 '}' ++ ; ++ ++sec_or_group_p1: ++ sec_or_group_p1 section ++ | sec_or_group_p1 statement_anywhere ++ | ++ ; ++ ++statement_anywhere: ++ ENTRY '(' NAME ')' ++ { lang_add_entry ($3, false); } ++ | assignment separator ++ | ASSERT_K {ldlex_expression ();} '(' exp ',' NAME ')' ++ { ldlex_popstate (); ++ lang_add_assignment (exp_assert ($4, $6)); } ++ ; ++ ++wildcard_name: ++ NAME ++ { ++ $$ = $1; ++ } ++ ; ++ ++wildcard_maybe_exclude: ++ wildcard_name ++ { ++ $$.name = $1; ++ $$.sorted = none; ++ $$.exclude_name_list = NULL; ++ $$.section_flag_list = NULL; ++ } ++ | EXCLUDE_FILE '(' exclude_name_list ')' wildcard_name ++ { ++ $$.name = $5; ++ $$.sorted = none; ++ $$.exclude_name_list = $3; ++ $$.section_flag_list = NULL; ++ } ++ ; ++ ++filename_spec: ++ wildcard_maybe_exclude ++ | SORT_BY_NAME '(' wildcard_maybe_exclude ')' ++ { ++ $$ = $3; ++ $$.sorted = by_name; ++ } ++ | SORT_NONE '(' wildcard_maybe_exclude ')' ++ { ++ $$ = $3; ++ $$.sorted = by_none; ++ } ++ ; ++ ++section_name_spec: ++ wildcard_maybe_exclude ++ | SORT_BY_NAME '(' wildcard_maybe_exclude ')' ++ { ++ $$ = $3; ++ $$.sorted = by_name; ++ } ++ | SORT_BY_ALIGNMENT '(' wildcard_maybe_exclude ')' ++ { ++ $$ = $3; ++ $$.sorted = by_alignment; ++ } ++ | SORT_NONE '(' wildcard_maybe_exclude ')' ++ { ++ $$ = $3; ++ $$.sorted = by_none; ++ } ++ | SORT_BY_NAME '(' SORT_BY_ALIGNMENT '(' wildcard_maybe_exclude ')' ')' ++ { ++ $$ = $5; ++ $$.sorted = by_name_alignment; ++ } ++ | SORT_BY_NAME '(' SORT_BY_NAME '(' wildcard_maybe_exclude ')' ')' ++ { ++ $$ = $5; ++ $$.sorted = by_name; ++ } ++ | SORT_BY_ALIGNMENT '(' SORT_BY_NAME '(' wildcard_maybe_exclude ')' ')' ++ { ++ $$ = $5; ++ $$.sorted = by_alignment_name; ++ } ++ | SORT_BY_ALIGNMENT '(' SORT_BY_ALIGNMENT '(' wildcard_maybe_exclude ')' ')' ++ { ++ $$ = $5; ++ $$.sorted = by_alignment; ++ } ++ | SORT_BY_INIT_PRIORITY '(' wildcard_maybe_exclude ')' ++ { ++ $$ = $3; ++ $$.sorted = by_init_priority; ++ } ++ ; ++ ++sect_flag_list: NAME ++ { ++ struct flag_info_list *n; ++ n = ((struct flag_info_list *) xmalloc (sizeof *n)); ++ if ($1[0] == '!') ++ { ++ n->with = without_flags; ++ n->name = &$1[1]; ++ } ++ else ++ { ++ n->with = with_flags; ++ n->name = $1; ++ } ++ n->valid = false; ++ n->next = NULL; ++ $$ = n; ++ } ++ | sect_flag_list '&' NAME ++ { ++ struct flag_info_list *n; ++ n = ((struct flag_info_list *) xmalloc (sizeof *n)); ++ if ($3[0] == '!') ++ { ++ n->with = without_flags; ++ n->name = &$3[1]; ++ } ++ else ++ { ++ n->with = with_flags; ++ n->name = $3; ++ } ++ n->valid = false; ++ n->next = $1; ++ $$ = n; ++ } ++ ; ++ ++sect_flags: ++ INPUT_SECTION_FLAGS '(' sect_flag_list ')' ++ { ++ struct flag_info *n; ++ n = ((struct flag_info *) xmalloc (sizeof *n)); ++ n->flag_list = $3; ++ n->flags_initialized = false; ++ n->not_with_flags = 0; ++ n->only_with_flags = 0; ++ $$ = n; ++ } ++ ; ++ ++exclude_name_list: ++ exclude_name_list wildcard_name ++ { ++ struct name_list *tmp; ++ tmp = (struct name_list *) xmalloc (sizeof *tmp); ++ tmp->name = $2; ++ tmp->next = $1; ++ $$ = tmp; ++ } ++ | ++ wildcard_name ++ { ++ struct name_list *tmp; ++ tmp = (struct name_list *) xmalloc (sizeof *tmp); ++ tmp->name = $1; ++ tmp->next = NULL; ++ $$ = tmp; ++ } ++ ; ++ ++section_name_list: ++ section_name_list opt_comma section_name_spec ++ { ++ struct wildcard_list *tmp; ++ tmp = (struct wildcard_list *) xmalloc (sizeof *tmp); ++ tmp->next = $1; ++ tmp->spec = $3; ++ $$ = tmp; ++ } ++ | ++ section_name_spec ++ { ++ struct wildcard_list *tmp; ++ tmp = (struct wildcard_list *) xmalloc (sizeof *tmp); ++ tmp->next = NULL; ++ tmp->spec = $1; ++ $$ = tmp; ++ } ++ ; ++ ++input_section_spec_no_keep: ++ NAME ++ { ++ struct wildcard_spec tmp; ++ tmp.name = $1; ++ tmp.exclude_name_list = NULL; ++ tmp.sorted = none; ++ tmp.section_flag_list = NULL; ++ lang_add_wild (&tmp, NULL, ldgram_had_keep); ++ } ++ | sect_flags NAME ++ { ++ struct wildcard_spec tmp; ++ tmp.name = $2; ++ tmp.exclude_name_list = NULL; ++ tmp.sorted = none; ++ tmp.section_flag_list = $1; ++ lang_add_wild (&tmp, NULL, ldgram_had_keep); ++ } ++ | '[' section_name_list ']' ++ { ++ lang_add_wild (NULL, $2, ldgram_had_keep); ++ } ++ | sect_flags '[' section_name_list ']' ++ { ++ struct wildcard_spec tmp; ++ tmp.name = NULL; ++ tmp.exclude_name_list = NULL; ++ tmp.sorted = none; ++ tmp.section_flag_list = $1; ++ lang_add_wild (&tmp, $3, ldgram_had_keep); ++ } ++ | filename_spec '(' section_name_list ')' ++ { ++ lang_add_wild (&$1, $3, ldgram_had_keep); ++ } ++ | sect_flags filename_spec '(' section_name_list ')' ++ { ++ $2.section_flag_list = $1; ++ lang_add_wild (&$2, $4, ldgram_had_keep); ++ } ++ ; ++ ++input_section_spec: ++ input_section_spec_no_keep ++ | KEEP '(' ++ { ldgram_had_keep = true; } ++ input_section_spec_no_keep ')' ++ { ldgram_had_keep = false; } ++ ; ++ ++statement: ++ ';' ++ | assignment separator ++ | CREATE_OBJECT_SYMBOLS ++ { ++ lang_add_attribute (lang_object_symbols_statement_enum); ++ } ++ | CONSTRUCTORS ++ { ++ lang_add_attribute (lang_constructors_statement_enum); ++ } ++ | SORT_BY_NAME '(' CONSTRUCTORS ')' ++ { ++ constructors_sorted = true; ++ lang_add_attribute (lang_constructors_statement_enum); ++ } ++ | input_section_spec ++ | length '(' mustbe_exp ')' ++ { ++ lang_add_data ((int) $1, $3); ++ } ++ | ASCIZ NAME ++ { ++ lang_add_string ($2); ++ } ++ | FILL '(' fill_exp ')' ++ { ++ lang_add_fill ($3); ++ } ++ | LINKER_VERSION ++ { ++ lang_add_version_string (); ++ } ++ | ASSERT_K ++ { ldlex_expression (); } ++ '(' exp ',' NAME ')' separator ++ { ++ ldlex_popstate (); ++ lang_add_assignment (exp_assert ($4, $6)); ++ } ++ | INCLUDE filename ++ { ++ ldfile_open_command_file ($2); ++ } ++ statement_list_opt END ++ ; ++ ++statement_list: ++ statement_list statement ++ | statement ++ ; ++ ++statement_list_opt: ++ /* empty */ ++ | statement_list ++ ; ++ ++length: ++ QUAD ++ { $$ = $1; } ++ | SQUAD ++ { $$ = $1; } ++ | LONG ++ { $$ = $1; } ++ | SHORT ++ { $$ = $1; } ++ | BYTE ++ { $$ = $1; } ++ ; ++ ++fill_exp: ++ mustbe_exp ++ { ++ $$ = exp_get_fill ($1, 0, _("fill value")); ++ } ++ ; ++ ++fill_opt: ++ '=' fill_exp ++ { $$ = $2; } ++ | { $$ = (fill_type *) 0; } ++ ; ++ ++assign_op: ++ PLUSEQ ++ { $$ = '+'; } ++ | MINUSEQ ++ { $$ = '-'; } ++ | MULTEQ ++ { $$ = '*'; } ++ | DIVEQ ++ { $$ = '/'; } ++ | LSHIFTEQ ++ { $$ = LSHIFT; } ++ | RSHIFTEQ ++ { $$ = RSHIFT; } ++ | ANDEQ ++ { $$ = '&'; } ++ | OREQ ++ { $$ = '|'; } ++ ++ ; ++ ++separator: ';' | ',' ++ ; ++ ++ ++assignment: ++ NAME '=' mustbe_exp ++ { ++ lang_add_assignment (exp_assign ($1, $3, false)); ++ } ++ | NAME assign_op mustbe_exp ++ { ++ lang_add_assignment (exp_assign ($1, ++ exp_binop ($2, ++ exp_nameop (NAME, ++ $1), ++ $3), false)); ++ } ++ | HIDDEN '(' NAME '=' mustbe_exp ')' ++ { ++ lang_add_assignment (exp_assign ($3, $5, true)); ++ } ++ | PROVIDE '(' NAME '=' mustbe_exp ')' ++ { ++ lang_add_assignment (exp_provide ($3, $5, false)); ++ } ++ | PROVIDE_HIDDEN '(' NAME '=' mustbe_exp ')' ++ { ++ lang_add_assignment (exp_provide ($3, $5, true)); ++ } ++ ; ++ ++ ++opt_comma: ++ ',' | ; ++ ++ ++memory: ++ MEMORY '{' memory_spec_list_opt '}' ++ ; ++ ++memory_spec_list_opt: memory_spec_list | ; ++ ++memory_spec_list: ++ memory_spec_list opt_comma memory_spec ++ | memory_spec ++ ; ++ ++ ++memory_spec: NAME ++ { region = lang_memory_region_lookup ($1, true); } ++ attributes_opt ':' ++ origin_spec opt_comma length_spec ++ {} ++ | INCLUDE filename ++ { ldfile_open_command_file ($2); } ++ memory_spec_list_opt END ++ ; ++ ++origin_spec: ++ ORIGIN '=' mustbe_exp ++ { ++ region->origin_exp = $3; ++ } ++ ; ++ ++length_spec: ++ LENGTH '=' mustbe_exp ++ { ++ if (yychar == NAME) ++ { ++ yyclearin; ++ ldlex_backup (); ++ } ++ region->length_exp = $3; ++ } ++ ; ++ ++attributes_opt: ++ /* empty */ ++ { /* dummy action to avoid bison 1.25 error message */ } ++ | '(' attributes_list ')' ++ ; ++ ++attributes_list: ++ attributes_string ++ | attributes_list attributes_string ++ ; ++ ++attributes_string: ++ NAME ++ { lang_set_flags (region, $1, 0); } ++ | '!' NAME ++ { lang_set_flags (region, $2, 1); } ++ ; ++ ++startup: ++ STARTUP '(' filename ')' ++ { lang_startup($3); } ++ ; ++ ++high_level_library: ++ HLL '(' high_level_library_NAME_list ')' ++ | HLL '(' ')' ++ { ldemul_hll((char *)NULL); } ++ ; ++ ++high_level_library_NAME_list: ++ high_level_library_NAME_list opt_comma filename ++ { ldemul_hll($3); } ++ | filename ++ { ldemul_hll($1); } ++ ; ++ ++low_level_library: ++ SYSLIB '(' low_level_library_NAME_list ')' ++ ; ++ ++low_level_library_NAME_list: ++ low_level_library_NAME_list opt_comma filename ++ { ldemul_syslib($3); } ++ | ++ ; ++ ++floating_point_support: ++ FLOAT ++ { lang_float(true); } ++ | NOFLOAT ++ { lang_float(false); } ++ ; ++ ++nocrossref_list: ++ /* empty */ ++ { ++ $$ = NULL; ++ } ++ | NAME nocrossref_list ++ { ++ struct lang_nocrossref *n; ++ ++ n = (struct lang_nocrossref *) xmalloc (sizeof *n); ++ n->name = $1; ++ n->next = $2; ++ $$ = n; ++ } ++ | NAME ',' nocrossref_list ++ { ++ struct lang_nocrossref *n; ++ ++ n = (struct lang_nocrossref *) xmalloc (sizeof *n); ++ n->name = $1; ++ n->next = $3; ++ $$ = n; ++ } ++ ; ++ ++paren_script_name: { ldlex_script (); } ++ '(' NAME ')' ++ { ldlex_popstate (); $$ = $3; } ++ ++mustbe_exp: { ldlex_expression (); } ++ exp ++ { ldlex_popstate (); $$ = $2; } ++ ; ++ ++exp : ++ '-' exp %prec UNARY ++ { $$ = exp_unop ('-', $2); } ++ | '(' exp ')' ++ { $$ = $2; } ++ | NEXT '(' exp ')' %prec UNARY ++ { $$ = exp_unop ((int) $1,$3); } ++ | '!' exp %prec UNARY ++ { $$ = exp_unop ('!', $2); } ++ | '+' exp %prec UNARY ++ { $$ = $2; } ++ | '~' exp %prec UNARY ++ { $$ = exp_unop ('~', $2);} ++ ++ | exp '*' exp ++ { $$ = exp_binop ('*', $1, $3); } ++ | exp '/' exp ++ { $$ = exp_binop ('/', $1, $3); } ++ | exp '%' exp ++ { $$ = exp_binop ('%', $1, $3); } ++ | exp '+' exp ++ { $$ = exp_binop ('+', $1, $3); } ++ | exp '-' exp ++ { $$ = exp_binop ('-' , $1, $3); } ++ | exp LSHIFT exp ++ { $$ = exp_binop (LSHIFT , $1, $3); } ++ | exp RSHIFT exp ++ { $$ = exp_binop (RSHIFT , $1, $3); } ++ | exp EQ exp ++ { $$ = exp_binop (EQ , $1, $3); } ++ | exp NE exp ++ { $$ = exp_binop (NE , $1, $3); } ++ | exp LE exp ++ { $$ = exp_binop (LE , $1, $3); } ++ | exp GE exp ++ { $$ = exp_binop (GE , $1, $3); } ++ | exp '<' exp ++ { $$ = exp_binop ('<' , $1, $3); } ++ | exp '>' exp ++ { $$ = exp_binop ('>' , $1, $3); } ++ | exp '&' exp ++ { $$ = exp_binop ('&' , $1, $3); } ++ | exp '^' exp ++ { $$ = exp_binop ('^' , $1, $3); } ++ | exp '|' exp ++ { $$ = exp_binop ('|' , $1, $3); } ++ | exp '?' exp ':' exp ++ { $$ = exp_trinop ('?' , $1, $3, $5); } ++ | exp ANDAND exp ++ { $$ = exp_binop (ANDAND , $1, $3); } ++ | exp OROR exp ++ { $$ = exp_binop (OROR , $1, $3); } ++ | DEFINED '(' NAME ')' ++ { $$ = exp_nameop (DEFINED, $3); } ++ | INT ++ { $$ = exp_bigintop ($1.integer, $1.str); } ++ | SIZEOF_HEADERS ++ { $$ = exp_nameop (SIZEOF_HEADERS,0); } ++ ++ | ALIGNOF paren_script_name ++ { $$ = exp_nameop (ALIGNOF, $2); } ++ | SIZEOF paren_script_name ++ { $$ = exp_nameop (SIZEOF, $2); } ++ | ADDR paren_script_name ++ { $$ = exp_nameop (ADDR, $2); } ++ | LOADADDR paren_script_name ++ { $$ = exp_nameop (LOADADDR, $2); } ++ | CONSTANT '(' NAME ')' ++ { $$ = exp_nameop (CONSTANT,$3); } ++ | ABSOLUTE '(' exp ')' ++ { $$ = exp_unop (ABSOLUTE, $3); } ++ | ALIGN_K '(' exp ')' ++ { $$ = exp_unop (ALIGN_K,$3); } ++ | ALIGN_K '(' exp ',' exp ')' ++ { $$ = exp_binop (ALIGN_K,$3,$5); } ++ | DATA_SEGMENT_ALIGN '(' exp ',' exp ')' ++ { $$ = exp_binop (DATA_SEGMENT_ALIGN, $3, $5); } ++ | DATA_SEGMENT_RELRO_END '(' exp ',' exp ')' ++ { $$ = exp_binop (DATA_SEGMENT_RELRO_END, $5, $3); } ++ | DATA_SEGMENT_END '(' exp ')' ++ { $$ = exp_unop (DATA_SEGMENT_END, $3); } ++ | SEGMENT_START { ldlex_script (); } '(' NAME ++ { ldlex_popstate (); } ',' exp ')' ++ { /* The operands to the expression node are ++ placed in the opposite order from the way ++ in which they appear in the script as ++ that allows us to reuse more code in ++ fold_binary. */ ++ $$ = exp_binop (SEGMENT_START, ++ $7, ++ exp_nameop (NAME, $4)); } ++ | BLOCK '(' exp ')' ++ { $$ = exp_unop (ALIGN_K,$3); } ++ | NAME ++ { $$ = exp_nameop (NAME,$1); } ++ | MAX_K '(' exp ',' exp ')' ++ { $$ = exp_binop (MAX_K, $3, $5 ); } ++ | MIN_K '(' exp ',' exp ')' ++ { $$ = exp_binop (MIN_K, $3, $5 ); } ++ | ASSERT_K '(' exp ',' NAME ')' ++ { $$ = exp_assert ($3, $5); } ++ | ORIGIN paren_script_name ++ { $$ = exp_nameop (ORIGIN, $2); } ++ | LENGTH paren_script_name ++ { $$ = exp_nameop (LENGTH, $2); } ++ | LOG2CEIL '(' exp ')' ++ { $$ = exp_unop (LOG2CEIL, $3); } ++ ; ++ ++ ++memspec_at_opt: ++ AT '>' NAME { $$ = $3; } ++ | { $$ = 0; } ++ ; ++ ++opt_at: ++ AT '(' exp ')' { $$ = $3; } ++ | { $$ = 0; } ++ ; ++ ++opt_align: ++ ALIGN_K '(' exp ')' { $$ = $3; } ++ | { $$ = 0; } ++ ; ++ ++opt_align_with_input: ++ ALIGN_WITH_INPUT { $$ = ALIGN_WITH_INPUT; } ++ | { $$ = 0; } ++ ; ++ ++opt_subalign: ++ SUBALIGN '(' exp ')' { $$ = $3; } ++ | { $$ = 0; } ++ ; ++ ++sect_constraint: ++ ONLY_IF_RO { $$ = ONLY_IF_RO; } ++ | ONLY_IF_RW { $$ = ONLY_IF_RW; } ++ | SPECIAL { $$ = SPECIAL; } ++ | { $$ = 0; } ++ ; ++ ++section: NAME ++ { ldlex_expression(); } ++ opt_exp_with_type ++ opt_at ++ opt_align ++ opt_align_with_input ++ opt_subalign ++ sect_constraint ++ { ++ ldlex_popstate (); ++ ldlex_wild (); ++ lang_enter_output_section_statement ($1, $3, sectype, ++ sectype_value, $5, $7, $4, $8, $6); ++ } ++ '{' ++ statement_list_opt ++ '}' ++ { ldlex_popstate (); } ++ memspec_opt memspec_at_opt phdr_opt fill_opt ++ { ++ /* fill_opt may have switched the lexer into ++ expression state, and back again, but in ++ order to find the end of the fill ++ expression the parser must look ahead one ++ token. If it is a NAME, throw it away as ++ it will have been lexed in the wrong ++ state. */ ++ if (yychar == NAME) ++ { ++ yyclearin; ++ ldlex_backup (); ++ } ++ lang_leave_output_section_statement ($17, $14, ++ $16, $15); ++ } ++ opt_comma ++ | OVERLAY ++ { ldlex_expression (); } ++ opt_exp_without_type opt_nocrossrefs opt_at opt_subalign ++ { ldlex_popstate (); } ++ '{' ++ { ++ lang_enter_overlay ($3, $6); ++ } ++ overlay_section ++ '}' ++ memspec_opt memspec_at_opt phdr_opt fill_opt ++ { ++ if (yychar == NAME) ++ { ++ yyclearin; ++ ldlex_backup (); ++ } ++ lang_leave_overlay ($5, (int) $4, ++ $15, $12, $14, $13); ++ } ++ opt_comma ++ | /* The GROUP case is just enough to support the gcc ++ svr3.ifile script. It is not intended to be full ++ support. I'm not even sure what GROUP is supposed ++ to mean. */ ++ GROUP ++ { ldlex_expression (); } ++ opt_exp_with_type ++ { ++ ldlex_popstate (); ++ lang_add_assignment (exp_assign (".", $3, false)); ++ } ++ '{' sec_or_group_p1 '}' ++ | INCLUDE filename ++ { ++ ldfile_open_command_file ($2); ++ } ++ sec_or_group_p1 END ++ ; ++ ++type: ++ NOLOAD { sectype = noload_section; } ++ | DSECT { sectype = noalloc_section; } ++ | COPY { sectype = noalloc_section; } ++ | INFO { sectype = noalloc_section; } ++ | OVERLAY { sectype = noalloc_section; } ++ | READONLY '(' TYPE '=' exp ')' { sectype = typed_readonly_section; sectype_value = $5; } ++ | READONLY { sectype = readonly_section; } ++ | TYPE '=' exp { sectype = type_section; sectype_value = $3; } ++ ; ++ ++atype: ++ '(' type ')' ++ | /* EMPTY */ { sectype = normal_section; } ++ | '(' ')' { sectype = normal_section; } ++ ; ++ ++opt_exp_with_type: ++ exp atype ':' { $$ = $1; } ++ | atype ':' { $$ = (etree_type *)NULL; } ++ | /* The BIND cases are to support the gcc svr3.ifile ++ script. They aren't intended to implement full ++ support for the BIND keyword. I'm not even sure ++ what BIND is supposed to mean. */ ++ BIND '(' exp ')' atype ':' { $$ = $3; } ++ | BIND '(' exp ')' BLOCK '(' exp ')' atype ':' ++ { $$ = $3; } ++ ; ++ ++opt_exp_without_type: ++ exp ':' { $$ = $1; } ++ | ':' { $$ = (etree_type *) NULL; } ++ ; ++ ++opt_nocrossrefs: ++ /* empty */ ++ { $$ = 0; } ++ | NOCROSSREFS ++ { $$ = 1; } ++ ; ++ ++memspec_opt: ++ '>' NAME ++ { $$ = $2; } ++ | { $$ = DEFAULT_MEMORY_REGION; } ++ ; ++ ++phdr_opt: ++ /* empty */ ++ { ++ $$ = NULL; ++ } ++ | phdr_opt ':' NAME ++ { ++ struct lang_output_section_phdr_list *n; ++ ++ n = ((struct lang_output_section_phdr_list *) ++ xmalloc (sizeof *n)); ++ n->name = $3; ++ n->used = false; ++ n->next = $1; ++ $$ = n; ++ } ++ ; ++ ++overlay_section: ++ /* empty */ ++ | overlay_section ++ NAME ++ { ++ ldlex_wild (); ++ lang_enter_overlay_section ($2); ++ } ++ '{' ++ statement_list_opt ++ '}' ++ { ldlex_popstate (); } ++ phdr_opt fill_opt ++ { ++ if (yychar == NAME) ++ { ++ yyclearin; ++ ldlex_backup (); ++ } ++ lang_leave_overlay_section ($9, $8); ++ } ++ opt_comma ++ ; ++ ++phdrs: ++ PHDRS '{' phdr_list '}' ++ ; ++ ++phdr_list: ++ /* empty */ ++ | phdr_list phdr ++ ; ++ ++phdr: ++ NAME { ldlex_expression (); } ++ phdr_type phdr_qualifiers { ldlex_popstate (); } ++ ';' ++ { ++ lang_new_phdr ($1, $3, $4.filehdr, $4.phdrs, $4.at, ++ $4.flags); ++ } ++ ; ++ ++phdr_type: ++ exp ++ { ++ $$ = $1; ++ ++ if ($1->type.node_class == etree_name ++ && $1->type.node_code == NAME) ++ { ++ const char *s; ++ unsigned int i; ++ static const char * const phdr_types[] = ++ { ++ "PT_NULL", "PT_LOAD", "PT_DYNAMIC", ++ "PT_INTERP", "PT_NOTE", "PT_SHLIB", ++ "PT_PHDR", "PT_TLS" ++ }; ++ ++ s = $1->name.name; ++ for (i = 0; ++ i < sizeof phdr_types / sizeof phdr_types[0]; ++ i++) ++ if (strcmp (s, phdr_types[i]) == 0) ++ { ++ $$ = exp_intop (i); ++ break; ++ } ++ if (i == sizeof phdr_types / sizeof phdr_types[0]) ++ { ++ if (strcmp (s, "PT_GNU_EH_FRAME") == 0) ++ $$ = exp_intop (0x6474e550); ++ else if (strcmp (s, "PT_GNU_STACK") == 0) ++ $$ = exp_intop (0x6474e551); ++ else if (strcmp (s, "PT_GNU_RELRO") == 0) ++ $$ = exp_intop (0x6474e552); ++ else if (strcmp (s, "PT_GNU_PROPERTY") == 0) ++ $$ = exp_intop (0x6474e553); ++ else ++ { ++ einfo (_("\ ++%X%P:%pS: unknown phdr type `%s' (try integer literal)\n"), ++ NULL, s); ++ $$ = exp_intop (0); ++ } ++ } ++ } ++ } ++ ; ++ ++phdr_qualifiers: ++ /* empty */ ++ { ++ memset (&$$, 0, sizeof (struct phdr_info)); ++ } ++ | NAME phdr_val phdr_qualifiers ++ { ++ $$ = $3; ++ if (strcmp ($1, "FILEHDR") == 0 && $2 == NULL) ++ $$.filehdr = true; ++ else if (strcmp ($1, "PHDRS") == 0 && $2 == NULL) ++ $$.phdrs = true; ++ else if (strcmp ($1, "FLAGS") == 0 && $2 != NULL) ++ $$.flags = $2; ++ else ++ einfo (_("%X%P:%pS: PHDRS syntax error at `%s'\n"), ++ NULL, $1); ++ } ++ | AT '(' exp ')' phdr_qualifiers ++ { ++ $$ = $5; ++ $$.at = $3; ++ } ++ ; ++ ++phdr_val: ++ /* empty */ ++ { ++ $$ = NULL; ++ } ++ | '(' exp ')' ++ { ++ $$ = $2; ++ } ++ ; ++ ++dynamic_list_file: ++ { ++ ldlex_version_file (); ++ PUSH_ERROR (_("dynamic list")); ++ } ++ dynamic_list_nodes ++ { ++ ldlex_popstate (); ++ POP_ERROR (); ++ } ++ ; ++ ++dynamic_list_nodes: ++ dynamic_list_node ++ | dynamic_list_nodes dynamic_list_node ++ ; ++ ++dynamic_list_node: ++ '{' dynamic_list_tag '}' ';' ++ ; ++ ++dynamic_list_tag: ++ vers_defns ';' ++ { ++ lang_append_dynamic_list (current_dynamic_list_p, $1); ++ } ++ ; ++ ++/* This syntax is used within an external version script file. */ ++ ++version_script_file: ++ { ++ ldlex_version_file (); ++ PUSH_ERROR (_("VERSION script")); ++ } ++ vers_nodes ++ { ++ ldlex_popstate (); ++ POP_ERROR (); ++ } ++ ; ++ ++/* This is used within a normal linker script file. */ ++ ++version: ++ { ++ ldlex_version_script (); ++ } ++ VERSIONK '{' vers_nodes '}' ++ { ++ ldlex_popstate (); ++ } ++ ; ++ ++vers_nodes: ++ vers_node ++ | vers_nodes vers_node ++ ; ++ ++vers_node: ++ '{' vers_tag '}' ';' ++ { ++ lang_register_vers_node (NULL, $2, NULL); ++ } ++ | VERS_TAG '{' vers_tag '}' ';' ++ { ++ lang_register_vers_node ($1, $3, NULL); ++ } ++ | VERS_TAG '{' vers_tag '}' verdep ';' ++ { ++ lang_register_vers_node ($1, $3, $5); ++ } ++ ; ++ ++verdep: ++ VERS_TAG ++ { ++ $$ = lang_add_vers_depend (NULL, $1); ++ } ++ | verdep VERS_TAG ++ { ++ $$ = lang_add_vers_depend ($1, $2); ++ } ++ ; ++ ++vers_tag: ++ /* empty */ ++ { ++ $$ = lang_new_vers_node (NULL, NULL); ++ } ++ | vers_defns ';' ++ { ++ $$ = lang_new_vers_node ($1, NULL); ++ } ++ | GLOBAL ':' vers_defns ';' ++ { ++ $$ = lang_new_vers_node ($3, NULL); ++ } ++ | LOCAL ':' vers_defns ';' ++ { ++ $$ = lang_new_vers_node (NULL, $3); ++ } ++ | GLOBAL ':' vers_defns ';' LOCAL ':' vers_defns ';' ++ { ++ $$ = lang_new_vers_node ($3, $7); ++ } ++ ; ++ ++vers_defns: ++ VERS_IDENTIFIER ++ { ++ $$ = lang_new_vers_pattern (NULL, $1, ldgram_vers_current_lang, false); ++ } ++ | NAME ++ { ++ $$ = lang_new_vers_pattern (NULL, $1, ldgram_vers_current_lang, true); ++ } ++ | vers_defns ';' VERS_IDENTIFIER ++ { ++ $$ = lang_new_vers_pattern ($1, $3, ldgram_vers_current_lang, false); ++ } ++ | vers_defns ';' NAME ++ { ++ $$ = lang_new_vers_pattern ($1, $3, ldgram_vers_current_lang, true); ++ } ++ | vers_defns ';' EXTERN NAME '{' ++ { ++ $$ = ldgram_vers_current_lang; ++ ldgram_vers_current_lang = $4; ++ } ++ vers_defns opt_semicolon '}' ++ { ++ struct bfd_elf_version_expr *pat; ++ for (pat = $7; pat->next != NULL; pat = pat->next); ++ pat->next = $1; ++ $$ = $7; ++ ldgram_vers_current_lang = $6; ++ } ++ | EXTERN NAME '{' ++ { ++ $$ = ldgram_vers_current_lang; ++ ldgram_vers_current_lang = $2; ++ } ++ vers_defns opt_semicolon '}' ++ { ++ $$ = $5; ++ ldgram_vers_current_lang = $4; ++ } ++ | GLOBAL ++ { ++ $$ = lang_new_vers_pattern (NULL, "global", ldgram_vers_current_lang, false); ++ } ++ | vers_defns ';' GLOBAL ++ { ++ $$ = lang_new_vers_pattern ($1, "global", ldgram_vers_current_lang, false); ++ } ++ | LOCAL ++ { ++ $$ = lang_new_vers_pattern (NULL, "local", ldgram_vers_current_lang, false); ++ } ++ | vers_defns ';' LOCAL ++ { ++ $$ = lang_new_vers_pattern ($1, "local", ldgram_vers_current_lang, false); ++ } ++ | EXTERN ++ { ++ $$ = lang_new_vers_pattern (NULL, "extern", ldgram_vers_current_lang, false); ++ } ++ | vers_defns ';' EXTERN ++ { ++ $$ = lang_new_vers_pattern ($1, "extern", ldgram_vers_current_lang, false); ++ } ++ ; ++ ++opt_semicolon: ++ /* empty */ ++ | ';' ++ ; ++ ++%% ++void ++yyerror(arg) ++ const char *arg; ++{ ++ if (ldfile_assumed_script) ++ einfo (_("%P:%s: file format not recognized; treating as linker script\n"), ++ ldlex_filename ()); ++ if (error_index > 0 && error_index < ERROR_NAME_MAX) ++ einfo (_("%F%P:%pS: %s in %s\n"), NULL, arg, error_names[error_index - 1]); ++ else ++ einfo ("%F%P:%pS: %s\n", NULL, arg); ++} +diff -rupN binutils.orig/ld/ldlang.c binutils-2.41/ld/ldlang.c +--- binutils.orig/ld/ldlang.c 2024-05-13 13:03:47.804601777 +0100 ++++ binutils-2.41/ld/ldlang.c 2024-05-13 13:04:08.599633306 +0100 +@@ -1282,6 +1282,7 @@ output_section_statement_newfunc (struct + ret->s.output_section_statement.section_alignment = NULL; + ret->s.output_section_statement.block_value = 1; + lang_list_init (&ret->s.output_section_statement.children); ++ lang_list_init (&ret->s.output_section_statement.sort_children); + lang_statement_append (stat_ptr, &ret->s, &ret->s.header.next); + + /* For every output section statement added to the list, except the +@@ -7566,13 +7567,22 @@ lang_enter_output_section_statement (con + lang_output_section_statement_type *os; + + os = lang_output_section_statement_lookup (output_section_statement_name, +- constraint, 2); ++ constraint, ++ in_section_ordering ? 0 : 2); ++ if (os == NULL) /* && in_section_ordering */ ++ einfo (_("%F%P:%pS: error: output section '%s' must already exist\n"), ++ NULL, output_section_statement_name); + current_section = os; + ++ /* Make next things chain into subchain of this. */ ++ push_stat_ptr (in_section_ordering ? &os->sort_children : &os->children); ++ ++ if (in_section_ordering) ++ return os; ++ + if (os->addr_tree == NULL) +- { +- os->addr_tree = address_exp; +- } ++ os->addr_tree = address_exp; ++ + os->sectype = sectype; + if (sectype == type_section || sectype == typed_readonly_section) + os->sectype_value = sectype_value; +@@ -7582,9 +7592,6 @@ lang_enter_output_section_statement (con + os->flags = SEC_NO_FLAGS; + os->block_value = 1; + +- /* Make next things chain into subchain of this. */ +- push_stat_ptr (&os->children); +- + os->align_lma_with_input = align_with_input == ALIGN_WITH_INPUT; + if (os->align_lma_with_input && align != NULL) + einfo (_("%F%P:%pS: error: align with input and explicit align specified\n"), +@@ -7924,21 +7931,6 @@ find_rescan_insertion (lang_input_statem + return iter; + } + +-/* Insert SRCLIST into DESTLIST after given element by chaining +- on FIELD as the next-pointer. (Counterintuitively does not need +- a pointer to the actual after-node itself, just its chain field.) */ +- +-static void +-lang_list_insert_after (lang_statement_list_type *destlist, +- lang_statement_list_type *srclist, +- lang_statement_union_type **field) +-{ +- *(srclist->tail) = *field; +- *field = srclist->head; +- if (destlist->tail == field) +- destlist->tail = srclist->tail; +-} +- + /* Detach new nodes added to DESTLIST since the time ORIGLIST + was taken as a copy of it and leave them in ORIGLIST. */ + +@@ -7986,6 +7978,21 @@ find_next_input_statement (lang_statemen + } + #endif /* BFD_SUPPORTS_PLUGINS */ + ++/* Insert SRCLIST into DESTLIST after given element by chaining ++ on FIELD as the next-pointer. (Counterintuitively does not need ++ a pointer to the actual after-node itself, just its chain field.) */ ++ ++static void ++lang_list_insert_after (lang_statement_list_type *destlist, ++ lang_statement_list_type *srclist, ++ lang_statement_union_type **field) ++{ ++ *(srclist->tail) = *field; ++ *field = srclist->head; ++ if (destlist->tail == field) ++ destlist->tail = srclist->tail; ++} ++ + /* Add NAME to the list of garbage collection entry points. */ + + void +@@ -8080,9 +8087,34 @@ reset_resolved_wilds (void) + lang_for_each_statement (reset_one_wild); + } + ++/* For each output section statement, splice any entries on the ++ sort_children list before the first wild statement on the children ++ list. */ ++ ++static void ++lang_os_merge_sort_children (void) ++{ ++ lang_output_section_statement_type *os; ++ for (os = (void *) lang_os_list.head; os != NULL; os = os->next) ++ { ++ if (os->sort_children.head != NULL) ++ { ++ lang_statement_union_type **where; ++ for (where = &os->children.head; ++ *where != NULL; ++ where = &(*where)->header.next) ++ if ((*where)->header.type == lang_wild_statement_enum) ++ break; ++ lang_list_insert_after (&os->children, &os->sort_children, where); ++ } ++ } ++} ++ + void + lang_process (void) + { ++ lang_os_merge_sort_children (); ++ + /* Finalize dynamic list. */ + if (link_info.dynamic_list) + lang_finalize_version_expr_head (&link_info.dynamic_list->head); +@@ -8764,6 +8796,10 @@ lang_leave_output_section_statement (fil + lang_output_section_phdr_list *phdrs, + const char *lma_memspec) + { ++ pop_stat_ptr (); ++ if (in_section_ordering) ++ return; ++ + lang_get_regions (¤t_section->region, + ¤t_section->lma_region, + memspec, lma_memspec, +@@ -8772,7 +8808,6 @@ lang_leave_output_section_statement (fil + + current_section->fill = fill; + current_section->phdrs = phdrs; +- pop_stat_ptr (); + } + + /* Set the output format type. -oformat overrides scripts. */ +diff -rupN binutils.orig/ld/ldlang.c.orig binutils-2.41/ld/ldlang.c.orig +--- binutils.orig/ld/ldlang.c.orig 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/ldlang.c.orig 2023-07-03 00:00:00.000000000 +0100 +@@ -0,0 +1,9907 @@ ++/* Linker command language support. ++ Copyright (C) 1991-2023 Free Software Foundation, Inc. ++ ++ This file is part of the GNU Binutils. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, ++ MA 02110-1301, USA. */ ++ ++#include "sysdep.h" ++#include ++#include "bfd.h" ++#include "libiberty.h" ++#include "filenames.h" ++#include "safe-ctype.h" ++#include "obstack.h" ++#include "bfdlink.h" ++#include "ctf-api.h" ++#include "ld.h" ++#include "ldmain.h" ++#include "ldexp.h" ++#include "ldlang.h" ++#include ++#include "ldlex.h" ++#include "ldmisc.h" ++#include "ldctor.h" ++#include "ldfile.h" ++#include "ldemul.h" ++#include "fnmatch.h" ++#include "demangle.h" ++#include "hashtab.h" ++#include "elf-bfd.h" ++#include "bfdver.h" ++ ++#if BFD_SUPPORTS_PLUGINS ++#include "plugin.h" ++#endif ++ ++#ifndef offsetof ++#define offsetof(TYPE, MEMBER) ((size_t) & (((TYPE*) 0)->MEMBER)) ++#endif ++ ++/* Convert between addresses in bytes and sizes in octets. ++ For currently supported targets, octets_per_byte is always a power ++ of two, so we can use shifts. */ ++#define TO_ADDR(X) ((X) >> opb_shift) ++#define TO_SIZE(X) ((X) << opb_shift) ++ ++/* Local variables. */ ++static struct obstack stat_obstack; ++static struct obstack map_obstack; ++static struct obstack pt_obstack; ++ ++#define obstack_chunk_alloc xmalloc ++#define obstack_chunk_free free ++static const char *entry_symbol_default = "start"; ++static bool map_head_is_link_order = false; ++static lang_output_section_statement_type *default_common_section; ++static bool map_option_f; ++static bfd_vma print_dot; ++static lang_input_statement_type *first_file; ++static const char *current_target; ++static lang_statement_list_type *stat_save[10]; ++static lang_statement_list_type **stat_save_ptr = &stat_save[0]; ++static struct unique_sections *unique_section_list; ++static struct asneeded_minfo *asneeded_list_head; ++static unsigned int opb_shift = 0; ++ ++/* Forward declarations. */ ++static void exp_init_os (etree_type *); ++static lang_input_statement_type *lookup_name (const char *); ++static bool wont_add_section_p (asection *, ++ lang_output_section_statement_type *); ++static void insert_undefined (const char *); ++static bool sort_def_symbol (struct bfd_link_hash_entry *, void *); ++static lang_statement_union_type *new_statement (enum statement_enum type, ++ size_t size, ++ lang_statement_list_type *list); ++static void print_statement (lang_statement_union_type *, ++ lang_output_section_statement_type *); ++static void print_statement_list (lang_statement_union_type *, ++ lang_output_section_statement_type *); ++static void print_statements (void); ++static void print_input_section (asection *, bool); ++static bool lang_one_common (struct bfd_link_hash_entry *, void *); ++static void lang_record_phdrs (void); ++static void lang_do_version_exports_section (void); ++static void lang_finalize_version_expr_head ++ (struct bfd_elf_version_expr_head *); ++static void lang_do_memory_regions (bool); ++ ++/* Exported variables. */ ++const char *output_target; ++lang_output_section_statement_type *abs_output_section; ++/* Header for list of statements corresponding to any files involved in the ++ link, either specified from the command-line or added implicitely (eg. ++ archive member used to resolved undefined symbol, wildcard statement from ++ linker script, etc.). Next pointer is in next field of a ++ lang_statement_header_type (reached via header field in a ++ lang_statement_union). */ ++lang_statement_list_type statement_list; ++lang_statement_list_type lang_os_list; ++lang_statement_list_type *stat_ptr = &statement_list; ++/* Header for list of statements corresponding to files used in the final ++ executable. This can be either object file specified on the command-line ++ or library member resolving an undefined reference. Next pointer is in next ++ field of a lang_input_statement_type (reached via input_statement field in a ++ lang_statement_union). */ ++lang_statement_list_type file_chain = { NULL, NULL }; ++/* Header for list of statements corresponding to files specified on the ++ command-line for linking. It thus contains real object files and archive ++ but not archive members. Next pointer is in next_real_file field of a ++ lang_input_statement_type statement (reached via input_statement field in a ++ lang_statement_union). */ ++lang_statement_list_type input_file_chain; ++static const char *current_input_file; ++struct bfd_elf_dynamic_list **current_dynamic_list_p; ++struct bfd_sym_chain entry_symbol = { NULL, NULL }; ++const char *entry_section = ".text"; ++struct lang_input_statement_flags input_flags; ++bool entry_from_cmdline; ++bool lang_has_input_file = false; ++bool had_output_filename = false; ++bool lang_float_flag = false; ++bool delete_output_file_on_failure = false; ++bool enable_linker_version = false; ++struct lang_phdr *lang_phdr_list; ++struct lang_nocrossrefs *nocrossref_list; ++struct asneeded_minfo **asneeded_list_tail; ++#ifdef ENABLE_LIBCTF ++static ctf_dict_t *ctf_output; ++#endif ++ ++/* Functions that traverse the linker script and might evaluate ++ DEFINED() need to increment this at the start of the traversal. */ ++int lang_statement_iteration = 0; ++ ++/* Count times through one_lang_size_sections_pass after mark phase. */ ++static int lang_sizing_iteration = 0; ++ ++/* Return TRUE if the PATTERN argument is a wildcard pattern. ++ Although backslashes are treated specially if a pattern contains ++ wildcards, we do not consider the mere presence of a backslash to ++ be enough to cause the pattern to be treated as a wildcard. ++ That lets us handle DOS filenames more naturally. */ ++#define wildcardp(pattern) (strpbrk ((pattern), "?*[") != NULL) ++ ++#define new_stat(x, y) \ ++ (x##_type *) new_statement (x##_enum, sizeof (x##_type), y) ++ ++#define outside_section_address(q) \ ++ ((q)->output_offset + (q)->output_section->vma) ++ ++#define outside_symbol_address(q) \ ++ ((q)->value + outside_section_address (q->section)) ++ ++/* CTF sections smaller than this are not compressed: compression of ++ dictionaries this small doesn't gain much, and this lets consumers mmap the ++ sections directly out of the ELF file and use them with no decompression ++ overhead if they want to. */ ++#define CTF_COMPRESSION_THRESHOLD 4096 ++ ++void * ++stat_alloc (size_t size) ++{ ++ return obstack_alloc (&stat_obstack, size); ++} ++ ++/* Code for handling simple wildcards without going through fnmatch, ++ which can be expensive because of charset translations etc. */ ++ ++/* A simple wild is a literal string followed by a single '*', ++ where the literal part is at least 4 characters long. */ ++ ++static bool ++is_simple_wild (const char *name) ++{ ++ size_t len = strcspn (name, "*?["); ++ return len >= 4 && name[len] == '*' && name[len + 1] == '\0'; ++} ++ ++static bool ++match_simple_wild (const char *pattern, const char *name) ++{ ++ /* The first four characters of the pattern are guaranteed valid ++ non-wildcard characters. So we can go faster. */ ++ if (pattern[0] != name[0] || pattern[1] != name[1] ++ || pattern[2] != name[2] || pattern[3] != name[3]) ++ return false; ++ ++ pattern += 4; ++ name += 4; ++ while (*pattern != '*') ++ if (*name++ != *pattern++) ++ return false; ++ ++ return true; ++} ++ ++static int ++name_match (const char *pattern, const char *name) ++{ ++ if (is_simple_wild (pattern)) ++ return !match_simple_wild (pattern, name); ++ if (wildcardp (pattern)) ++ return fnmatch (pattern, name, 0); ++ return strcmp (pattern, name); ++} ++ ++/* Given an analyzed wildcard_spec SPEC, match it against NAME, ++ returns zero on a match, non-zero if there's no match. */ ++ ++static int ++spec_match (const struct wildcard_spec *spec, const char *name) ++{ ++ size_t nl = spec->namelen; ++ size_t pl = spec->prefixlen; ++ size_t sl = spec->suffixlen; ++ size_t inputlen = strlen (name); ++ int r; ++ ++ if (pl) ++ { ++ if (inputlen < pl) ++ return 1; ++ ++ r = memcmp (spec->name, name, pl); ++ if (r) ++ return r; ++ } ++ ++ if (sl) ++ { ++ if (inputlen < sl) ++ return 1; ++ ++ r = memcmp (spec->name + nl - sl, name + inputlen - sl, sl); ++ if (r) ++ return r; ++ } ++ ++ if (nl == pl + sl + 1 && spec->name[pl] == '*') ++ return 0; ++ ++ if (nl > pl) ++ return fnmatch (spec->name + pl, name + pl, 0); ++ ++ if (inputlen >= nl) ++ return name[nl]; ++ ++ return 0; ++} ++ ++static char * ++ldirname (const char *name) ++{ ++ const char *base = lbasename (name); ++ char *dirname; ++ ++ while (base > name && IS_DIR_SEPARATOR (base[-1])) ++ --base; ++ if (base == name) ++ return strdup ("."); ++ dirname = strdup (name); ++ dirname[base - name] = '\0'; ++ return dirname; ++} ++ ++/* If PATTERN is of the form archive:file, return a pointer to the ++ separator. If not, return NULL. */ ++ ++static char * ++archive_path (const char *pattern) ++{ ++ char *p = NULL; ++ ++ if (link_info.path_separator == 0) ++ return p; ++ ++ p = strchr (pattern, link_info.path_separator); ++#ifdef HAVE_DOS_BASED_FILE_SYSTEM ++ if (p == NULL || link_info.path_separator != ':') ++ return p; ++ ++ /* Assume a match on the second char is part of drive specifier, ++ as in "c:\silly.dos". */ ++ if (p == pattern + 1 && ISALPHA (*pattern)) ++ p = strchr (p + 1, link_info.path_separator); ++#endif ++ return p; ++} ++ ++/* Given that FILE_SPEC results in a non-NULL SEP result from archive_path, ++ return whether F matches FILE_SPEC. */ ++ ++static bool ++input_statement_is_archive_path (const char *file_spec, char *sep, ++ lang_input_statement_type *f) ++{ ++ bool match = false; ++ ++ if ((*(sep + 1) == 0 ++ || name_match (sep + 1, f->filename) == 0) ++ && ((sep != file_spec) ++ == (f->the_bfd != NULL && f->the_bfd->my_archive != NULL))) ++ { ++ match = true; ++ ++ if (sep != file_spec) ++ { ++ const char *aname = bfd_get_filename (f->the_bfd->my_archive); ++ *sep = 0; ++ match = name_match (file_spec, aname) == 0; ++ *sep = link_info.path_separator; ++ } ++ } ++ return match; ++} ++ ++static bool ++unique_section_p (const asection *sec, ++ const lang_output_section_statement_type *os) ++{ ++ struct unique_sections *unam; ++ const char *secnam; ++ ++ if (!link_info.resolve_section_groups ++ && sec->owner != NULL ++ && bfd_is_group_section (sec->owner, sec)) ++ return !(os != NULL ++ && strcmp (os->name, DISCARD_SECTION_NAME) == 0); ++ ++ secnam = sec->name; ++ for (unam = unique_section_list; unam; unam = unam->next) ++ if (name_match (unam->name, secnam) == 0) ++ return true; ++ ++ return false; ++} ++ ++/* Generic traversal routines for finding matching sections. */ ++ ++/* Return true if FILE matches a pattern in EXCLUDE_LIST, otherwise return ++ false. */ ++ ++static bool ++walk_wild_file_in_exclude_list (struct name_list *exclude_list, ++ lang_input_statement_type *file) ++{ ++ struct name_list *list_tmp; ++ ++ for (list_tmp = exclude_list; ++ list_tmp; ++ list_tmp = list_tmp->next) ++ { ++ char *p = archive_path (list_tmp->name); ++ ++ if (p != NULL) ++ { ++ if (input_statement_is_archive_path (list_tmp->name, p, file)) ++ return true; ++ } ++ ++ else if (name_match (list_tmp->name, file->filename) == 0) ++ return true; ++ ++ /* FIXME: Perhaps remove the following at some stage? Matching ++ unadorned archives like this was never documented and has ++ been superceded by the archive:path syntax. */ ++ else if (file->the_bfd != NULL ++ && file->the_bfd->my_archive != NULL ++ && name_match (list_tmp->name, ++ bfd_get_filename (file->the_bfd->my_archive)) == 0) ++ return true; ++ } ++ ++ return false; ++} ++ ++/* Add SECTION (from input FILE) to the list of matching sections ++ within PTR (the matching wildcard is SEC). */ ++ ++static void ++add_matching_section (lang_wild_statement_type *ptr, ++ struct wildcard_list *sec, ++ asection *section, ++ lang_input_statement_type *file) ++{ ++ lang_input_matcher_type *new_section; ++ /* Add a section reference to the list. */ ++ new_section = new_stat (lang_input_matcher, &ptr->matching_sections); ++ new_section->section = section; ++ new_section->pattern = sec; ++ new_section->input_stmt = file; ++} ++ ++/* Process section S (from input file FILE) in relation to wildcard ++ statement PTR. We already know that a prefix of the name of S matches ++ some wildcard in PTR's wildcard list. Here we check if the filename ++ matches as well (if it's specified) and if any of the wildcards in fact ++ does match. */ ++ ++static void ++walk_wild_section_match (lang_wild_statement_type *ptr, ++ lang_input_statement_type *file, ++ asection *s) ++{ ++ struct wildcard_list *sec; ++ const char *file_spec = ptr->filename; ++ char *p; ++ ++ /* Check if filenames match. */ ++ if (file_spec == NULL) ++ ; ++ else if ((p = archive_path (file_spec)) != NULL) ++ { ++ if (!input_statement_is_archive_path (file_spec, p, file)) ++ return; ++ } ++ else if (wildcardp (file_spec)) ++ { ++ if (fnmatch (file_spec, file->filename, 0) != 0) ++ return; ++ } ++ else ++ { ++ /* XXX Matching against non-wildcard filename in wild statements ++ was done by going through lookup_name, which uses ++ ->local_sym_name to compare against, not ->filename. We retain ++ this behaviour even though the above code paths use filename. ++ It would be more logical to use it here as well, in which ++ case the above wildcard() arm could be folded into this by using ++ name_match. This would also solve the worry of what to do ++ about unset local_sym_name (in which case lookup_name simply adds ++ the input file again). */ ++ const char *filename = file->local_sym_name; ++ lang_input_statement_type *arch_is; ++ if (filename && filename_cmp (filename, file_spec) == 0) ++ ; ++ /* FIXME: see also walk_wild_file_in_exclude_list for why we ++ also check parents BFD (local_sym_)name to match input statements ++ with unadorned archive names. */ ++ else if (file->the_bfd ++ && file->the_bfd->my_archive ++ && (arch_is = bfd_usrdata (file->the_bfd->my_archive)) ++ && arch_is->local_sym_name ++ && filename_cmp (arch_is->local_sym_name, file_spec) == 0) ++ ; ++ else ++ return; ++ } ++ ++ /* If filename is excluded we're done. */ ++ if (walk_wild_file_in_exclude_list (ptr->exclude_name_list, file)) ++ return; ++ ++ /* Check section name against each wildcard spec. If there's no ++ wildcard all sections match. */ ++ sec = ptr->section_list; ++ if (sec == NULL) ++ add_matching_section (ptr, sec, s, file); ++ else ++ { ++ const char *sname = bfd_section_name (s); ++ for (; sec != NULL; sec = sec->next) ++ { ++ if (sec->spec.name != NULL ++ && spec_match (&sec->spec, sname) != 0) ++ continue; ++ ++ /* Don't process sections from files which were excluded. */ ++ if (!walk_wild_file_in_exclude_list (sec->spec.exclude_name_list, ++ file)) ++ add_matching_section (ptr, sec, s, file); ++ } ++ } ++} ++ ++/* Return the numerical value of the init_priority attribute from ++ section name NAME. */ ++ ++static int ++get_init_priority (const asection *sec) ++{ ++ const char *name = bfd_section_name (sec); ++ const char *dot; ++ ++ /* GCC uses the following section names for the init_priority ++ attribute with numerical values 101 to 65535 inclusive. A ++ lower value means a higher priority. ++ ++ 1: .init_array.NNNNN/.fini_array.NNNNN: Where NNNNN is the ++ decimal numerical value of the init_priority attribute. ++ The order of execution in .init_array is forward and ++ .fini_array is backward. ++ 2: .ctors.NNNNN/.dtors.NNNNN: Where NNNNN is 65535 minus the ++ decimal numerical value of the init_priority attribute. ++ The order of execution in .ctors is backward and .dtors ++ is forward. ++ ++ .init_array.NNNNN sections would normally be placed in an output ++ .init_array section, .fini_array.NNNNN in .fini_array, ++ .ctors.NNNNN in .ctors, and .dtors.NNNNN in .dtors. This means ++ we should sort by increasing number (and could just use ++ SORT_BY_NAME in scripts). However if .ctors.NNNNN sections are ++ being placed in .init_array (which may also contain ++ .init_array.NNNNN sections) or .dtors.NNNNN sections are being ++ placed in .fini_array then we need to extract the init_priority ++ attribute and sort on that. */ ++ dot = strrchr (name, '.'); ++ if (dot != NULL && ISDIGIT (dot[1])) ++ { ++ char *end; ++ unsigned long init_priority = strtoul (dot + 1, &end, 10); ++ if (*end == 0) ++ { ++ if (dot == name + 6 ++ && (strncmp (name, ".ctors", 6) == 0 ++ || strncmp (name, ".dtors", 6) == 0)) ++ init_priority = 65535 - init_priority; ++ if (init_priority <= INT_MAX) ++ return init_priority; ++ } ++ } ++ return -1; ++} ++ ++/* Compare sections ASEC and BSEC according to SORT. */ ++ ++static int ++compare_section (sort_type sort, asection *asec, asection *bsec) ++{ ++ int ret; ++ int a_priority, b_priority; ++ ++ switch (sort) ++ { ++ default: ++ abort (); ++ ++ case by_init_priority: ++ a_priority = get_init_priority (asec); ++ b_priority = get_init_priority (bsec); ++ if (a_priority < 0 || b_priority < 0) ++ goto sort_by_name; ++ ret = a_priority - b_priority; ++ if (ret) ++ break; ++ else ++ goto sort_by_name; ++ ++ case by_alignment_name: ++ ret = bfd_section_alignment (bsec) - bfd_section_alignment (asec); ++ if (ret) ++ break; ++ /* Fall through. */ ++ ++ case by_name: ++ sort_by_name: ++ ret = strcmp (bfd_section_name (asec), bfd_section_name (bsec)); ++ break; ++ ++ case by_name_alignment: ++ ret = strcmp (bfd_section_name (asec), bfd_section_name (bsec)); ++ if (ret) ++ break; ++ /* Fall through. */ ++ ++ case by_alignment: ++ ret = bfd_section_alignment (bsec) - bfd_section_alignment (asec); ++ break; ++ } ++ ++ return ret; ++} ++ ++/* PE puts the sort key in the input statement. */ ++ ++static const char * ++sort_filename (bfd *abfd) ++{ ++ lang_input_statement_type *is = bfd_usrdata (abfd); ++ if (is->sort_key) ++ return is->sort_key; ++ return bfd_get_filename (abfd); ++} ++ ++/* Handle wildcard sorting. This returns the place in a binary search tree ++ where this FILE:SECTION should be inserted for wild statement WILD where ++ the spec SEC was the matching one. The tree is later linearized. */ ++ ++static lang_section_bst_type ** ++wild_sort (lang_wild_statement_type *wild, ++ struct wildcard_list *sec, ++ lang_input_statement_type *file, ++ asection *section) ++{ ++ lang_section_bst_type **tree; ++ ++ if (!wild->filenames_sorted ++ && (sec == NULL || sec->spec.sorted == none ++ || sec->spec.sorted == by_none)) ++ { ++ /* We might be called even if _this_ spec doesn't need sorting, ++ in which case we simply append at the right end of tree. */ ++ return wild->rightmost; ++ } ++ ++ tree = &wild->tree; ++ while (*tree) ++ { ++ /* Sorting by filename takes precedence over sorting by section ++ name. */ ++ ++ if (wild->filenames_sorted) ++ { ++ const char *fn, *ln; ++ bool fa, la; ++ int i; ++ asection *lsec = (*tree)->section; ++ ++ /* The PE support for the .idata section as generated by ++ dlltool assumes that files will be sorted by the name of ++ the archive and then the name of the file within the ++ archive. */ ++ ++ fa = file->the_bfd->my_archive != NULL; ++ if (fa) ++ fn = sort_filename (file->the_bfd->my_archive); ++ else ++ fn = sort_filename (file->the_bfd); ++ ++ la = lsec->owner->my_archive != NULL; ++ if (la) ++ ln = sort_filename (lsec->owner->my_archive); ++ else ++ ln = sort_filename (lsec->owner); ++ ++ i = filename_cmp (fn, ln); ++ if (i > 0) ++ { tree = &((*tree)->right); continue; } ++ else if (i < 0) ++ { tree = &((*tree)->left); continue; } ++ ++ if (fa || la) ++ { ++ if (fa) ++ fn = sort_filename (file->the_bfd); ++ if (la) ++ ln = sort_filename (lsec->owner); ++ ++ i = filename_cmp (fn, ln); ++ if (i > 0) ++ { tree = &((*tree)->right); continue; } ++ else if (i < 0) ++ { tree = &((*tree)->left); continue; } ++ } ++ } ++ ++ /* Here either the files are not sorted by name, or we are ++ looking at the sections for this file. */ ++ ++ /* Find the correct node to append this section. */ ++ if (sec && sec->spec.sorted != none && sec->spec.sorted != by_none ++ && compare_section (sec->spec.sorted, section, (*tree)->section) < 0) ++ tree = &((*tree)->left); ++ else ++ tree = &((*tree)->right); ++ } ++ ++ return tree; ++} ++ ++/* Use wild_sort to build a BST to sort sections. */ ++ ++static void ++output_section_callback_sort (lang_wild_statement_type *ptr, ++ struct wildcard_list *sec, ++ asection *section, ++ lang_input_statement_type *file, ++ void *output) ++{ ++ lang_section_bst_type *node; ++ lang_section_bst_type **tree; ++ lang_output_section_statement_type *os; ++ ++ os = (lang_output_section_statement_type *) output; ++ ++ if (unique_section_p (section, os)) ++ return; ++ ++ /* Don't add sections to the tree when we already know that ++ lang_add_section won't do anything with it. */ ++ if (wont_add_section_p (section, os)) ++ return; ++ ++ node = (lang_section_bst_type *) xmalloc (sizeof (lang_section_bst_type)); ++ node->left = 0; ++ node->right = 0; ++ node->section = section; ++ node->pattern = ptr->section_list; ++ ++ tree = wild_sort (ptr, sec, file, section); ++ if (tree != NULL) ++ { ++ *tree = node; ++ if (tree == ptr->rightmost) ++ ptr->rightmost = &node->right; ++ } ++} ++ ++/* Convert a sorted sections' BST back to list form. */ ++ ++static void ++output_section_callback_tree_to_list (lang_wild_statement_type *ptr, ++ lang_section_bst_type *tree, ++ void *output) ++{ ++ if (tree->left) ++ output_section_callback_tree_to_list (ptr, tree->left, output); ++ ++ lang_add_section (&ptr->children, tree->section, tree->pattern, ++ ptr->section_flag_list, ++ (lang_output_section_statement_type *) output); ++ ++ if (tree->right) ++ output_section_callback_tree_to_list (ptr, tree->right, output); ++ ++ free (tree); ++} ++ ++ ++/* Sections are matched against wildcard statements via a prefix tree. ++ The prefix tree holds prefixes of all matching patterns (up to the first ++ wildcard character), and the wild statement from which those patterns ++ came. When matching a section name against the tree we're walking through ++ the tree character by character. Each statement we hit is one that ++ potentially matches. This is checked by actually going through the ++ (glob) matching routines. ++ ++ When the section name turns out to actually match we record that section ++ in the wild statements list of matching sections. */ ++ ++/* A prefix can be matched by multiple statement, so we need a list of them. */ ++struct wild_stmt_list ++{ ++ lang_wild_statement_type *stmt; ++ struct wild_stmt_list *next; ++}; ++ ++/* The prefix tree itself. */ ++struct prefixtree ++{ ++ /* The list of all children (linked via .next). */ ++ struct prefixtree *child; ++ struct prefixtree *next; ++ /* This tree node is responsible for the prefix of parent plus 'c'. */ ++ char c; ++ /* The statements that potentially can match this prefix. */ ++ struct wild_stmt_list *stmt; ++}; ++ ++/* We always have a root node in the prefix tree. It corresponds to the ++ empty prefix. E.g. a glob like "*" would sit in this root. */ ++static struct prefixtree the_root, *ptroot = &the_root; ++ ++/* Given a prefix tree in *TREE, corresponding to prefix P, find or ++ INSERT the tree node corresponding to prefix P+C. */ ++ ++static struct prefixtree * ++get_prefix_tree (struct prefixtree **tree, char c, bool insert) ++{ ++ struct prefixtree *t; ++ for (t = *tree; t; t = t->next) ++ if (t->c == c) ++ return t; ++ if (!insert) ++ return NULL; ++ t = (struct prefixtree *) obstack_alloc (&pt_obstack, sizeof *t); ++ t->child = NULL; ++ t->next = *tree; ++ t->c = c; ++ t->stmt = NULL; ++ *tree = t; ++ return t; ++} ++ ++/* Add STMT to the set of statements that can be matched by the prefix ++ corresponding to prefix tree T. */ ++ ++static void ++pt_add_stmt (struct prefixtree *t, lang_wild_statement_type *stmt) ++{ ++ struct wild_stmt_list *sl, **psl; ++ sl = (struct wild_stmt_list *) obstack_alloc (&pt_obstack, sizeof *sl); ++ sl->stmt = stmt; ++ sl->next = NULL; ++ psl = &t->stmt; ++ while (*psl) ++ psl = &(*psl)->next; ++ *psl = sl; ++} ++ ++/* Insert STMT into the global prefix tree. */ ++ ++static void ++insert_prefix_tree (lang_wild_statement_type *stmt) ++{ ++ struct wildcard_list *sec; ++ struct prefixtree *t; ++ ++ if (!stmt->section_list) ++ { ++ /* If we have no section_list (no wildcards in the wild STMT), ++ then every section name will match, so add this to the root. */ ++ pt_add_stmt (ptroot, stmt); ++ return; ++ } ++ ++ for (sec = stmt->section_list; sec; sec = sec->next) ++ { ++ const char *name = sec->spec.name ? sec->spec.name : "*"; ++ char c; ++ t = ptroot; ++ for (; (c = *name); name++) ++ { ++ if (c == '*' || c == '[' || c == '?') ++ break; ++ t = get_prefix_tree (&t->child, c, true); ++ } ++ /* If we hit a glob character, the matching prefix is what we saw ++ until now. If we hit the end of pattern (hence it's no glob) then ++ we can do better: we only need to record a match when a section name ++ completely matches, not merely a prefix, so record the trailing 0 ++ as well. */ ++ if (!c) ++ t = get_prefix_tree (&t->child, 0, true); ++ pt_add_stmt (t, stmt); ++ } ++} ++ ++/* Dump T indented by INDENT spaces. */ ++ ++static void ++debug_prefix_tree_rec (struct prefixtree *t, int indent) ++{ ++ for (; t; t = t->next) ++ { ++ struct wild_stmt_list *sl; ++ printf ("%*s %c", indent, "", t->c); ++ for (sl = t->stmt; sl; sl = sl->next) ++ { ++ struct wildcard_list *curr; ++ printf (" %p ", sl->stmt); ++ for (curr = sl->stmt->section_list; curr; curr = curr->next) ++ printf ("%s ", curr->spec.name ? curr->spec.name : "*"); ++ } ++ printf ("\n"); ++ debug_prefix_tree_rec (t->child, indent + 2); ++ } ++} ++ ++/* Dump the global prefix tree. */ ++ ++static void ++debug_prefix_tree (void) ++{ ++ debug_prefix_tree_rec (ptroot, 2); ++} ++ ++/* Like strcspn() but start to look from the end to beginning of ++ S. Returns the length of the suffix of S consisting entirely ++ of characters not in REJECT. */ ++ ++static size_t ++rstrcspn (const char *s, const char *reject) ++{ ++ size_t len = strlen (s), sufflen = 0; ++ while (len--) ++ { ++ char c = s[len]; ++ if (strchr (reject, c) != 0) ++ break; ++ sufflen++; ++ } ++ return sufflen; ++} ++ ++/* Analyze the wildcards in wild statement PTR to setup various ++ things for quick matching. */ ++ ++static void ++analyze_walk_wild_section_handler (lang_wild_statement_type *ptr) ++{ ++ struct wildcard_list *sec; ++ ++ ptr->tree = NULL; ++ ptr->rightmost = &ptr->tree; ++ ++ for (sec = ptr->section_list; sec != NULL; sec = sec->next) ++ { ++ if (sec->spec.name) ++ { ++ sec->spec.namelen = strlen (sec->spec.name); ++ sec->spec.prefixlen = strcspn (sec->spec.name, "?*["); ++ sec->spec.suffixlen = rstrcspn (sec->spec.name + sec->spec.prefixlen, ++ "?*]"); ++ } ++ else ++ sec->spec.namelen = sec->spec.prefixlen = sec->spec.suffixlen = 0; ++ } ++ ++ insert_prefix_tree (ptr); ++} ++ ++/* Match all sections from FILE against the global prefix tree, ++ and record them into each wild statement that has a match. */ ++ ++static void ++resolve_wild_sections (lang_input_statement_type *file) ++{ ++ asection *s; ++ ++ if (file->flags.just_syms) ++ return; ++ ++ for (s = file->the_bfd->sections; s != NULL; s = s->next) ++ { ++ const char *sname = bfd_section_name (s); ++ char c = 1; ++ struct prefixtree *t = ptroot; ++ //printf (" YYY consider %s of %s\n", sname, file->the_bfd->filename); ++ do ++ { ++ if (t->stmt) ++ { ++ struct wild_stmt_list *sl; ++ for (sl = t->stmt; sl; sl = sl->next) ++ { ++ walk_wild_section_match (sl->stmt, file, s); ++ //printf (" ZZZ maybe place into %p\n", sl->stmt); ++ } ++ } ++ if (!c) ++ break; ++ c = *sname++; ++ t = get_prefix_tree (&t->child, c, false); ++ } ++ while (t); ++ } ++} ++ ++/* Match all sections from all input files against the global prefix tree. */ ++ ++static void ++resolve_wilds (void) ++{ ++ LANG_FOR_EACH_INPUT_STATEMENT (f) ++ { ++ //printf("XXX %s\n", f->filename); ++ if (f->the_bfd == NULL ++ || !bfd_check_format (f->the_bfd, bfd_archive)) ++ resolve_wild_sections (f); ++ else ++ { ++ bfd *member; ++ ++ /* This is an archive file. We must map each member of the ++ archive separately. */ ++ member = bfd_openr_next_archived_file (f->the_bfd, NULL); ++ while (member != NULL) ++ { ++ /* When lookup_name is called, it will call the add_symbols ++ entry point for the archive. For each element of the ++ archive which is included, BFD will call ldlang_add_file, ++ which will set the usrdata field of the member to the ++ lang_input_statement. */ ++ if (bfd_usrdata (member) != NULL) ++ resolve_wild_sections (bfd_usrdata (member)); ++ ++ member = bfd_openr_next_archived_file (f->the_bfd, member); ++ } ++ } ++ } ++} ++ ++/* For each input section that matches wild statement S calls ++ CALLBACK with DATA. */ ++ ++static void ++walk_wild (lang_wild_statement_type *s, callback_t callback, void *data) ++{ ++ lang_statement_union_type *l; ++ ++ for (l = s->matching_sections.head; l; l = l->header.next) ++ { ++ (*callback) (s, l->input_matcher.pattern, l->input_matcher.section, ++ l->input_matcher.input_stmt, data); ++ } ++} ++ ++/* lang_for_each_statement walks the parse tree and calls the provided ++ function for each node, except those inside output section statements ++ with constraint set to -1. */ ++ ++void ++lang_for_each_statement_worker (void (*func) (lang_statement_union_type *), ++ lang_statement_union_type *s) ++{ ++ for (; s != NULL; s = s->header.next) ++ { ++ func (s); ++ ++ switch (s->header.type) ++ { ++ case lang_constructors_statement_enum: ++ lang_for_each_statement_worker (func, constructor_list.head); ++ break; ++ case lang_output_section_statement_enum: ++ if (s->output_section_statement.constraint != -1) ++ lang_for_each_statement_worker ++ (func, s->output_section_statement.children.head); ++ break; ++ case lang_wild_statement_enum: ++ lang_for_each_statement_worker (func, ++ s->wild_statement.children.head); ++ break; ++ case lang_group_statement_enum: ++ lang_for_each_statement_worker (func, ++ s->group_statement.children.head); ++ break; ++ case lang_data_statement_enum: ++ case lang_reloc_statement_enum: ++ case lang_object_symbols_statement_enum: ++ case lang_output_statement_enum: ++ case lang_target_statement_enum: ++ case lang_input_section_enum: ++ case lang_input_statement_enum: ++ case lang_assignment_statement_enum: ++ case lang_padding_statement_enum: ++ case lang_address_statement_enum: ++ case lang_fill_statement_enum: ++ case lang_insert_statement_enum: ++ break; ++ default: ++ FAIL (); ++ break; ++ } ++ } ++} ++ ++void ++lang_for_each_statement (void (*func) (lang_statement_union_type *)) ++{ ++ lang_for_each_statement_worker (func, statement_list.head); ++} ++ ++/*----------------------------------------------------------------------*/ ++ ++void ++lang_list_init (lang_statement_list_type *list) ++{ ++ list->head = NULL; ++ list->tail = &list->head; ++} ++ ++static void ++lang_statement_append (lang_statement_list_type *list, ++ void *element, ++ void *field) ++{ ++ *(list->tail) = element; ++ list->tail = field; ++} ++ ++void ++push_stat_ptr (lang_statement_list_type *new_ptr) ++{ ++ if (stat_save_ptr >= stat_save + sizeof (stat_save) / sizeof (stat_save[0])) ++ abort (); ++ *stat_save_ptr++ = stat_ptr; ++ stat_ptr = new_ptr; ++} ++ ++void ++pop_stat_ptr (void) ++{ ++ if (stat_save_ptr <= stat_save) ++ abort (); ++ stat_ptr = *--stat_save_ptr; ++} ++ ++/* Build a new statement node for the parse tree. */ ++ ++static lang_statement_union_type * ++new_statement (enum statement_enum type, ++ size_t size, ++ lang_statement_list_type *list) ++{ ++ lang_statement_union_type *new_stmt; ++ ++ new_stmt = stat_alloc (size); ++ new_stmt->header.type = type; ++ new_stmt->header.next = NULL; ++ lang_statement_append (list, new_stmt, &new_stmt->header.next); ++ return new_stmt; ++} ++ ++/* Build a new input file node for the language. There are several ++ ways in which we treat an input file, eg, we only look at symbols, ++ or prefix it with a -l etc. ++ ++ We can be supplied with requests for input files more than once; ++ they may, for example be split over several lines like foo.o(.text) ++ foo.o(.data) etc, so when asked for a file we check that we haven't ++ got it already so we don't duplicate the bfd. */ ++ ++static lang_input_statement_type * ++new_afile (const char *name, ++ lang_input_file_enum_type file_type, ++ const char *target, ++ const char *from_filename) ++{ ++ lang_input_statement_type *p; ++ ++ lang_has_input_file = true; ++ ++ /* PR 30632: It is OK for name to be NULL. For example ++ see the initialization of first_file in lang_init(). */ ++ if (name != NULL) ++ { ++ name = ldfile_possibly_remap_input (name); ++ /* But if a name is remapped to NULL, it should be ignored. */ ++ if (name == NULL) ++ return NULL; ++ } ++ ++ p = new_stat (lang_input_statement, stat_ptr); ++ memset (&p->the_bfd, 0, ++ sizeof (*p) - offsetof (lang_input_statement_type, the_bfd)); ++ p->extra_search_path = NULL; ++ p->target = target; ++ p->flags.dynamic = input_flags.dynamic; ++ p->flags.add_DT_NEEDED_for_dynamic = input_flags.add_DT_NEEDED_for_dynamic; ++ p->flags.add_DT_NEEDED_for_regular = input_flags.add_DT_NEEDED_for_regular; ++ p->flags.whole_archive = input_flags.whole_archive; ++ p->flags.sysrooted = input_flags.sysrooted; ++ p->sort_key = NULL; ++ ++ switch (file_type) ++ { ++ case lang_input_file_is_symbols_only_enum: ++ p->filename = name; ++ p->local_sym_name = name; ++ p->flags.real = true; ++ p->flags.just_syms = true; ++ break; ++ case lang_input_file_is_fake_enum: ++ p->filename = name; ++ p->local_sym_name = name; ++ break; ++ case lang_input_file_is_l_enum: ++ if (name[0] == ':' && name[1] != '\0') ++ { ++ p->filename = name + 1; ++ p->flags.full_name_provided = true; ++ } ++ else ++ p->filename = name; ++ p->local_sym_name = concat ("-l", name, (const char *) NULL); ++ p->flags.maybe_archive = true; ++ p->flags.real = true; ++ p->flags.search_dirs = true; ++ break; ++ case lang_input_file_is_marker_enum: ++ p->filename = name; ++ p->local_sym_name = name; ++ p->flags.search_dirs = true; ++ break; ++ case lang_input_file_is_search_file_enum: ++ p->filename = name; ++ p->local_sym_name = name; ++ /* If name is a relative path, search the directory of the current linker ++ script first. */ ++ if (from_filename && !IS_ABSOLUTE_PATH (name)) ++ p->extra_search_path = ldirname (from_filename); ++ p->flags.real = true; ++ p->flags.search_dirs = true; ++ break; ++ case lang_input_file_is_file_enum: ++ p->filename = name; ++ p->local_sym_name = name; ++ p->flags.real = true; ++ break; ++ default: ++ FAIL (); ++ } ++ ++ lang_statement_append (&input_file_chain, p, &p->next_real_file); ++ return p; ++} ++ ++lang_input_statement_type * ++lang_add_input_file (const char *name, ++ lang_input_file_enum_type file_type, ++ const char *target) ++{ ++ if (name != NULL ++ && (*name == '=' || startswith (name, "$SYSROOT"))) ++ { ++ lang_input_statement_type *ret; ++ char *sysrooted_name ++ = concat (ld_sysroot, ++ name + (*name == '=' ? 1 : strlen ("$SYSROOT")), ++ (const char *) NULL); ++ ++ /* We've now forcibly prepended the sysroot, making the input ++ file independent of the context. Therefore, temporarily ++ force a non-sysrooted context for this statement, so it won't ++ get the sysroot prepended again when opened. (N.B. if it's a ++ script, any child nodes with input files starting with "/" ++ will be handled as "sysrooted" as they'll be found to be ++ within the sysroot subdirectory.) */ ++ unsigned int outer_sysrooted = input_flags.sysrooted; ++ input_flags.sysrooted = 0; ++ ret = new_afile (sysrooted_name, file_type, target, NULL); ++ input_flags.sysrooted = outer_sysrooted; ++ return ret; ++ } ++ ++ return new_afile (name, file_type, target, current_input_file); ++} ++ ++struct out_section_hash_entry ++{ ++ struct bfd_hash_entry root; ++ lang_statement_union_type s; ++}; ++ ++/* The hash table. */ ++ ++static struct bfd_hash_table output_section_statement_table; ++ ++/* Support routines for the hash table used by lang_output_section_find, ++ initialize the table, fill in an entry and remove the table. */ ++ ++static struct bfd_hash_entry * ++output_section_statement_newfunc (struct bfd_hash_entry *entry, ++ struct bfd_hash_table *table, ++ const char *string) ++{ ++ lang_output_section_statement_type **nextp; ++ struct out_section_hash_entry *ret; ++ ++ if (entry == NULL) ++ { ++ entry = (struct bfd_hash_entry *) bfd_hash_allocate (table, ++ sizeof (*ret)); ++ if (entry == NULL) ++ return entry; ++ } ++ ++ entry = bfd_hash_newfunc (entry, table, string); ++ if (entry == NULL) ++ return entry; ++ ++ ret = (struct out_section_hash_entry *) entry; ++ memset (&ret->s, 0, sizeof (ret->s)); ++ ret->s.header.type = lang_output_section_statement_enum; ++ ret->s.output_section_statement.subsection_alignment = NULL; ++ ret->s.output_section_statement.section_alignment = NULL; ++ ret->s.output_section_statement.block_value = 1; ++ lang_list_init (&ret->s.output_section_statement.children); ++ lang_statement_append (stat_ptr, &ret->s, &ret->s.header.next); ++ ++ /* For every output section statement added to the list, except the ++ first one, lang_os_list.tail points to the "next" ++ field of the last element of the list. */ ++ if (lang_os_list.head != NULL) ++ ret->s.output_section_statement.prev ++ = ((lang_output_section_statement_type *) ++ ((char *) lang_os_list.tail ++ - offsetof (lang_output_section_statement_type, next))); ++ ++ /* GCC's strict aliasing rules prevent us from just casting the ++ address, so we store the pointer in a variable and cast that ++ instead. */ ++ nextp = &ret->s.output_section_statement.next; ++ lang_statement_append (&lang_os_list, &ret->s, nextp); ++ return &ret->root; ++} ++ ++static void ++output_section_statement_table_init (void) ++{ ++ if (!bfd_hash_table_init_n (&output_section_statement_table, ++ output_section_statement_newfunc, ++ sizeof (struct out_section_hash_entry), ++ 61)) ++ einfo (_("%F%P: can not create hash table: %E\n")); ++} ++ ++static void ++output_section_statement_table_free (void) ++{ ++ bfd_hash_table_free (&output_section_statement_table); ++} ++ ++/* Build enough state so that the parser can build its tree. */ ++ ++void ++lang_init (void) ++{ ++ obstack_begin (&stat_obstack, 1000); ++ obstack_init (&pt_obstack); ++ ++ stat_ptr = &statement_list; ++ ++ output_section_statement_table_init (); ++ ++ lang_list_init (stat_ptr); ++ ++ lang_list_init (&input_file_chain); ++ lang_list_init (&lang_os_list); ++ lang_list_init (&file_chain); ++ first_file = lang_add_input_file (NULL, lang_input_file_is_marker_enum, ++ NULL); ++ abs_output_section = ++ lang_output_section_statement_lookup (BFD_ABS_SECTION_NAME, 0, 1); ++ ++ abs_output_section->bfd_section = bfd_abs_section_ptr; ++ ++ asneeded_list_head = NULL; ++ asneeded_list_tail = &asneeded_list_head; ++} ++ ++void ++lang_finish (void) ++{ ++ output_section_statement_table_free (); ++ ldfile_remap_input_free (); ++} ++ ++/*---------------------------------------------------------------------- ++ A region is an area of memory declared with the ++ MEMORY { name:org=exp, len=exp ... } ++ syntax. ++ ++ We maintain a list of all the regions here. ++ ++ If no regions are specified in the script, then the default is used ++ which is created when looked up to be the entire data space. ++ ++ If create is true we are creating a region inside a MEMORY block. ++ In this case it is probably an error to create a region that has ++ already been created. If we are not inside a MEMORY block it is ++ dubious to use an undeclared region name (except DEFAULT_MEMORY_REGION) ++ and so we issue a warning. ++ ++ Each region has at least one name. The first name is either ++ DEFAULT_MEMORY_REGION or the name given in the MEMORY block. You can add ++ alias names to an existing region within a script with ++ REGION_ALIAS (alias, region_name). Each name corresponds to at most one ++ region. */ ++ ++static lang_memory_region_type *lang_memory_region_list; ++static lang_memory_region_type **lang_memory_region_list_tail ++ = &lang_memory_region_list; ++ ++lang_memory_region_type * ++lang_memory_region_lookup (const char *const name, bool create) ++{ ++ lang_memory_region_name *n; ++ lang_memory_region_type *r; ++ lang_memory_region_type *new_region; ++ ++ /* NAME is NULL for LMA memspecs if no region was specified. */ ++ if (name == NULL) ++ return NULL; ++ ++ for (r = lang_memory_region_list; r != NULL; r = r->next) ++ for (n = &r->name_list; n != NULL; n = n->next) ++ if (strcmp (n->name, name) == 0) ++ { ++ if (create) ++ einfo (_("%P:%pS: warning: redeclaration of memory region `%s'\n"), ++ NULL, name); ++ return r; ++ } ++ ++ if (!create && strcmp (name, DEFAULT_MEMORY_REGION)) ++ einfo (_("%P:%pS: warning: memory region `%s' not declared\n"), ++ NULL, name); ++ ++ new_region = stat_alloc (sizeof (lang_memory_region_type)); ++ ++ new_region->name_list.name = xstrdup (name); ++ new_region->name_list.next = NULL; ++ new_region->next = NULL; ++ new_region->origin_exp = NULL; ++ new_region->origin = 0; ++ new_region->length_exp = NULL; ++ new_region->length = ~(bfd_size_type) 0; ++ new_region->current = 0; ++ new_region->last_os = NULL; ++ new_region->flags = 0; ++ new_region->not_flags = 0; ++ new_region->had_full_message = false; ++ ++ *lang_memory_region_list_tail = new_region; ++ lang_memory_region_list_tail = &new_region->next; ++ ++ return new_region; ++} ++ ++void ++lang_memory_region_alias (const char *alias, const char *region_name) ++{ ++ lang_memory_region_name *n; ++ lang_memory_region_type *r; ++ lang_memory_region_type *region; ++ ++ /* The default region must be unique. This ensures that it is not necessary ++ to iterate through the name list if someone wants the check if a region is ++ the default memory region. */ ++ if (strcmp (region_name, DEFAULT_MEMORY_REGION) == 0 ++ || strcmp (alias, DEFAULT_MEMORY_REGION) == 0) ++ einfo (_("%F%P:%pS: error: alias for default memory region\n"), NULL); ++ ++ /* Look for the target region and check if the alias is not already ++ in use. */ ++ region = NULL; ++ for (r = lang_memory_region_list; r != NULL; r = r->next) ++ for (n = &r->name_list; n != NULL; n = n->next) ++ { ++ if (region == NULL && strcmp (n->name, region_name) == 0) ++ region = r; ++ if (strcmp (n->name, alias) == 0) ++ einfo (_("%F%P:%pS: error: redefinition of memory region " ++ "alias `%s'\n"), ++ NULL, alias); ++ } ++ ++ /* Check if the target region exists. */ ++ if (region == NULL) ++ einfo (_("%F%P:%pS: error: memory region `%s' " ++ "for alias `%s' does not exist\n"), ++ NULL, region_name, alias); ++ ++ /* Add alias to region name list. */ ++ n = stat_alloc (sizeof (lang_memory_region_name)); ++ n->name = xstrdup (alias); ++ n->next = region->name_list.next; ++ region->name_list.next = n; ++} ++ ++static lang_memory_region_type * ++lang_memory_default (asection *section) ++{ ++ lang_memory_region_type *p; ++ ++ flagword sec_flags = section->flags; ++ ++ /* Override SEC_DATA to mean a writable section. */ ++ if ((sec_flags & (SEC_ALLOC | SEC_READONLY | SEC_CODE)) == SEC_ALLOC) ++ sec_flags |= SEC_DATA; ++ ++ for (p = lang_memory_region_list; p != NULL; p = p->next) ++ { ++ if ((p->flags & sec_flags) != 0 ++ && (p->not_flags & sec_flags) == 0) ++ { ++ return p; ++ } ++ } ++ return lang_memory_region_lookup (DEFAULT_MEMORY_REGION, false); ++} ++ ++/* Get the output section statement directly from the userdata. */ ++ ++lang_output_section_statement_type * ++lang_output_section_get (const asection *output_section) ++{ ++ return bfd_section_userdata (output_section); ++} ++ ++/* Find or create an output_section_statement with the given NAME. ++ If CONSTRAINT is non-zero match one with that constraint, otherwise ++ match any non-negative constraint. If CREATE is 0 return NULL when ++ no match exists. If CREATE is 1, create an output_section_statement ++ when no match exists or if CONSTRAINT is SPECIAL. If CREATE is 2, ++ always make a new output_section_statement. */ ++ ++lang_output_section_statement_type * ++lang_output_section_statement_lookup (const char *name, ++ int constraint, ++ int create) ++{ ++ struct out_section_hash_entry *entry; ++ ++ entry = ((struct out_section_hash_entry *) ++ bfd_hash_lookup (&output_section_statement_table, name, ++ create != 0, false)); ++ if (entry == NULL) ++ { ++ if (create) ++ einfo (_("%F%P: failed creating section `%s': %E\n"), name); ++ return NULL; ++ } ++ ++ if (entry->s.output_section_statement.name != NULL) ++ { ++ /* We have a section of this name, but it might not have the correct ++ constraint. */ ++ struct out_section_hash_entry *last_ent; ++ ++ name = entry->s.output_section_statement.name; ++ do ++ { ++ if (create != 2 ++ && !(create && constraint == SPECIAL) ++ && (constraint == entry->s.output_section_statement.constraint ++ || (constraint == 0 ++ && entry->s.output_section_statement.constraint >= 0))) ++ return &entry->s.output_section_statement; ++ last_ent = entry; ++ entry = (struct out_section_hash_entry *) entry->root.next; ++ } ++ while (entry != NULL ++ && name == entry->s.output_section_statement.name); ++ ++ if (!create) ++ return NULL; ++ ++ entry ++ = ((struct out_section_hash_entry *) ++ output_section_statement_newfunc (NULL, ++ &output_section_statement_table, ++ name)); ++ if (entry == NULL) ++ { ++ einfo (_("%F%P: failed creating section `%s': %E\n"), name); ++ return NULL; ++ } ++ entry->root = last_ent->root; ++ last_ent->root.next = &entry->root; ++ } ++ ++ entry->s.output_section_statement.name = name; ++ entry->s.output_section_statement.constraint = constraint; ++ entry->s.output_section_statement.dup_output = (create == 2 ++ || constraint == SPECIAL); ++ return &entry->s.output_section_statement; ++} ++ ++/* Find the next output_section_statement with the same name as OS. ++ If CONSTRAINT is non-zero, find one with that constraint otherwise ++ match any non-negative constraint. */ ++ ++lang_output_section_statement_type * ++next_matching_output_section_statement (lang_output_section_statement_type *os, ++ int constraint) ++{ ++ /* All output_section_statements are actually part of a ++ struct out_section_hash_entry. */ ++ struct out_section_hash_entry *entry = (struct out_section_hash_entry *) ++ ((char *) os ++ - offsetof (struct out_section_hash_entry, s.output_section_statement)); ++ const char *name = os->name; ++ ++ ASSERT (name == entry->root.string); ++ do ++ { ++ entry = (struct out_section_hash_entry *) entry->root.next; ++ if (entry == NULL ++ || name != entry->s.output_section_statement.name) ++ return NULL; ++ } ++ while (constraint != entry->s.output_section_statement.constraint ++ && (constraint != 0 ++ || entry->s.output_section_statement.constraint < 0)); ++ ++ return &entry->s.output_section_statement; ++} ++ ++/* A variant of lang_output_section_find used by place_orphan. ++ Returns the output statement that should precede a new output ++ statement for SEC. If an exact match is found on certain flags, ++ sets *EXACT too. */ ++ ++lang_output_section_statement_type * ++lang_output_section_find_by_flags (const asection *sec, ++ flagword sec_flags, ++ lang_output_section_statement_type **exact, ++ lang_match_sec_type_func match_type) ++{ ++ lang_output_section_statement_type *first, *look, *found; ++ flagword look_flags, differ; ++ ++ /* We know the first statement on this list is *ABS*. May as well ++ skip it. */ ++ first = (void *) lang_os_list.head; ++ first = first->next; ++ ++ /* First try for an exact match. */ ++ found = NULL; ++ for (look = first; look; look = look->next) ++ { ++ look_flags = look->flags; ++ if (look->bfd_section != NULL) ++ { ++ look_flags = look->bfd_section->flags; ++ if (match_type && !match_type (link_info.output_bfd, ++ look->bfd_section, ++ sec->owner, sec)) ++ continue; ++ } ++ differ = look_flags ^ sec_flags; ++ if (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_READONLY ++ | SEC_CODE | SEC_SMALL_DATA | SEC_THREAD_LOCAL))) ++ found = look; ++ } ++ if (found != NULL) ++ { ++ if (exact != NULL) ++ *exact = found; ++ return found; ++ } ++ ++ if ((sec_flags & SEC_CODE) != 0 ++ && (sec_flags & SEC_ALLOC) != 0) ++ { ++ /* Try for a rw code section. */ ++ for (look = first; look; look = look->next) ++ { ++ look_flags = look->flags; ++ if (look->bfd_section != NULL) ++ { ++ look_flags = look->bfd_section->flags; ++ if (match_type && !match_type (link_info.output_bfd, ++ look->bfd_section, ++ sec->owner, sec)) ++ continue; ++ } ++ differ = look_flags ^ sec_flags; ++ if (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD ++ | SEC_CODE | SEC_SMALL_DATA | SEC_THREAD_LOCAL))) ++ found = look; ++ } ++ } ++ else if ((sec_flags & SEC_READONLY) != 0 ++ && (sec_flags & SEC_ALLOC) != 0) ++ { ++ /* .rodata can go after .text, .sdata2 after .rodata. */ ++ for (look = first; look; look = look->next) ++ { ++ look_flags = look->flags; ++ if (look->bfd_section != NULL) ++ { ++ look_flags = look->bfd_section->flags; ++ if (match_type && !match_type (link_info.output_bfd, ++ look->bfd_section, ++ sec->owner, sec)) ++ continue; ++ } ++ differ = look_flags ^ sec_flags; ++ if (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD ++ | SEC_READONLY | SEC_SMALL_DATA)) ++ || (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD ++ | SEC_READONLY)) ++ && !(look_flags & SEC_SMALL_DATA))) ++ found = look; ++ } ++ } ++ else if ((sec_flags & SEC_THREAD_LOCAL) != 0 ++ && (sec_flags & SEC_ALLOC) != 0) ++ { ++ /* .tdata can go after .data, .tbss after .tdata. Treat .tbss ++ as if it were a loaded section, and don't use match_type. */ ++ bool seen_thread_local = false; ++ ++ match_type = NULL; ++ for (look = first; look; look = look->next) ++ { ++ look_flags = look->flags; ++ if (look->bfd_section != NULL) ++ look_flags = look->bfd_section->flags; ++ ++ differ = look_flags ^ (sec_flags | SEC_LOAD | SEC_HAS_CONTENTS); ++ if (!(differ & (SEC_THREAD_LOCAL | SEC_ALLOC))) ++ { ++ /* .tdata and .tbss must be adjacent and in that order. */ ++ if (!(look_flags & SEC_LOAD) ++ && (sec_flags & SEC_LOAD)) ++ /* ..so if we're at a .tbss section and we're placing ++ a .tdata section stop looking and return the ++ previous section. */ ++ break; ++ found = look; ++ seen_thread_local = true; ++ } ++ else if (seen_thread_local) ++ break; ++ else if (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD))) ++ found = look; ++ } ++ } ++ else if ((sec_flags & SEC_SMALL_DATA) != 0 ++ && (sec_flags & SEC_ALLOC) != 0) ++ { ++ /* .sdata goes after .data, .sbss after .sdata. */ ++ for (look = first; look; look = look->next) ++ { ++ look_flags = look->flags; ++ if (look->bfd_section != NULL) ++ { ++ look_flags = look->bfd_section->flags; ++ if (match_type && !match_type (link_info.output_bfd, ++ look->bfd_section, ++ sec->owner, sec)) ++ continue; ++ } ++ differ = look_flags ^ sec_flags; ++ if (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD ++ | SEC_THREAD_LOCAL)) ++ || ((look_flags & SEC_SMALL_DATA) ++ && !(sec_flags & SEC_HAS_CONTENTS))) ++ found = look; ++ } ++ } ++ else if ((sec_flags & SEC_HAS_CONTENTS) != 0 ++ && (sec_flags & SEC_ALLOC) != 0) ++ { ++ /* .data goes after .rodata. */ ++ for (look = first; look; look = look->next) ++ { ++ look_flags = look->flags; ++ if (look->bfd_section != NULL) ++ { ++ look_flags = look->bfd_section->flags; ++ if (match_type && !match_type (link_info.output_bfd, ++ look->bfd_section, ++ sec->owner, sec)) ++ continue; ++ } ++ differ = look_flags ^ sec_flags; ++ if (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD ++ | SEC_SMALL_DATA | SEC_THREAD_LOCAL))) ++ found = look; ++ } ++ } ++ else if ((sec_flags & SEC_ALLOC) != 0) ++ { ++ /* .bss goes after any other alloc section. */ ++ for (look = first; look; look = look->next) ++ { ++ look_flags = look->flags; ++ if (look->bfd_section != NULL) ++ { ++ look_flags = look->bfd_section->flags; ++ if (match_type && !match_type (link_info.output_bfd, ++ look->bfd_section, ++ sec->owner, sec)) ++ continue; ++ } ++ differ = look_flags ^ sec_flags; ++ if (!(differ & SEC_ALLOC)) ++ found = look; ++ } ++ } ++ else ++ { ++ /* non-alloc go last. */ ++ for (look = first; look; look = look->next) ++ { ++ look_flags = look->flags; ++ if (look->bfd_section != NULL) ++ look_flags = look->bfd_section->flags; ++ differ = look_flags ^ sec_flags; ++ if (!(differ & SEC_DEBUGGING)) ++ found = look; ++ } ++ return found; ++ } ++ ++ if (found || !match_type) ++ return found; ++ ++ return lang_output_section_find_by_flags (sec, sec_flags, NULL, NULL); ++} ++ ++/* Find the last output section before given output statement. ++ Used by place_orphan. */ ++ ++static asection * ++output_prev_sec_find (lang_output_section_statement_type *os) ++{ ++ lang_output_section_statement_type *lookup; ++ ++ for (lookup = os->prev; lookup != NULL; lookup = lookup->prev) ++ { ++ if (lookup->constraint < 0) ++ continue; ++ ++ if (lookup->bfd_section != NULL) ++ return lookup->bfd_section; ++ } ++ ++ return NULL; ++} ++ ++/* Look for a suitable place for a new output section statement. The ++ idea is to skip over anything that might be inside a SECTIONS {} ++ statement in a script, before we find another output section ++ statement. Assignments to "dot" before an output section statement ++ are assumed to belong to it, except in two cases; The first ++ assignment to dot, and assignments before non-alloc sections. ++ Otherwise we might put an orphan before . = . + SIZEOF_HEADERS or ++ similar assignments that set the initial address, or we might ++ insert non-alloc note sections among assignments setting end of ++ image symbols. */ ++ ++static lang_statement_union_type ** ++insert_os_after (lang_statement_union_type *after) ++{ ++ lang_statement_union_type **where; ++ lang_statement_union_type **assign = NULL; ++ bool ignore_first; ++ ++ ignore_first = after == lang_os_list.head; ++ ++ for (where = &after->header.next; ++ *where != NULL; ++ where = &(*where)->header.next) ++ { ++ switch ((*where)->header.type) ++ { ++ case lang_assignment_statement_enum: ++ if (assign == NULL) ++ { ++ lang_assignment_statement_type *ass; ++ ++ ass = &(*where)->assignment_statement; ++ if (ass->exp->type.node_class != etree_assert ++ && ass->exp->assign.dst[0] == '.' ++ && ass->exp->assign.dst[1] == 0) ++ { ++ if (!ignore_first) ++ assign = where; ++ ignore_first = false; ++ } ++ } ++ continue; ++ case lang_wild_statement_enum: ++ case lang_input_section_enum: ++ case lang_object_symbols_statement_enum: ++ case lang_fill_statement_enum: ++ case lang_data_statement_enum: ++ case lang_reloc_statement_enum: ++ case lang_padding_statement_enum: ++ case lang_constructors_statement_enum: ++ assign = NULL; ++ ignore_first = false; ++ continue; ++ case lang_output_section_statement_enum: ++ if (assign != NULL) ++ { ++ asection *s = (*where)->output_section_statement.bfd_section; ++ ++ if (s == NULL ++ || s->map_head.s == NULL ++ || (s->flags & SEC_ALLOC) != 0) ++ where = assign; ++ } ++ break; ++ case lang_input_statement_enum: ++ case lang_address_statement_enum: ++ case lang_target_statement_enum: ++ case lang_output_statement_enum: ++ case lang_group_statement_enum: ++ case lang_insert_statement_enum: ++ continue; ++ case lang_input_matcher_enum: ++ FAIL (); ++ } ++ break; ++ } ++ ++ return where; ++} ++ ++lang_output_section_statement_type * ++lang_insert_orphan (asection *s, ++ const char *secname, ++ int constraint, ++ lang_output_section_statement_type *after, ++ struct orphan_save *place, ++ etree_type *address, ++ lang_statement_list_type *add_child) ++{ ++ lang_statement_list_type add; ++ lang_output_section_statement_type *os; ++ lang_output_section_statement_type **os_tail; ++ ++ /* If we have found an appropriate place for the output section ++ statements for this orphan, add them to our own private list, ++ inserting them later into the global statement list. */ ++ if (after != NULL) ++ { ++ lang_list_init (&add); ++ push_stat_ptr (&add); ++ } ++ ++ if (bfd_link_relocatable (&link_info) ++ || (s->flags & (SEC_LOAD | SEC_ALLOC)) == 0) ++ address = exp_intop (0); ++ ++ os_tail = (lang_output_section_statement_type **) lang_os_list.tail; ++ os = lang_enter_output_section_statement ( ++ secname, address, normal_section, 0, NULL, NULL, NULL, constraint, 0); ++ ++ if (add_child == NULL) ++ add_child = &os->children; ++ lang_add_section (add_child, s, NULL, NULL, os); ++ ++ if (after && (s->flags & (SEC_LOAD | SEC_ALLOC)) != 0) ++ { ++ const char *region = (after->region ++ ? after->region->name_list.name ++ : DEFAULT_MEMORY_REGION); ++ const char *lma_region = (after->lma_region ++ ? after->lma_region->name_list.name ++ : NULL); ++ lang_leave_output_section_statement (NULL, region, after->phdrs, ++ lma_region); ++ } ++ else ++ lang_leave_output_section_statement (NULL, DEFAULT_MEMORY_REGION, NULL, ++ NULL); ++ ++ /* Restore the global list pointer. */ ++ if (after != NULL) ++ pop_stat_ptr (); ++ ++ if (after != NULL && os->bfd_section != NULL) ++ { ++ asection *snew, *as; ++ bool place_after = place->stmt == NULL; ++ bool insert_after = true; ++ ++ snew = os->bfd_section; ++ ++ /* Shuffle the bfd section list to make the output file look ++ neater. This is really only cosmetic. */ ++ if (place->section == NULL ++ && after != (void *) lang_os_list.head) ++ { ++ asection *bfd_section = after->bfd_section; ++ ++ /* If the output statement hasn't been used to place any input ++ sections (and thus doesn't have an output bfd_section), ++ look for the closest prior output statement having an ++ output section. */ ++ if (bfd_section == NULL) ++ bfd_section = output_prev_sec_find (after); ++ ++ if (bfd_section != NULL ++ && bfd_section->owner != NULL ++ && bfd_section != snew) ++ place->section = &bfd_section->next; ++ } ++ ++ if (place->section == NULL) ++ place->section = &link_info.output_bfd->sections; ++ ++ as = *place->section; ++ ++ if (!as) ++ { ++ /* Put the section at the end of the list. */ ++ ++ /* Unlink the section. */ ++ bfd_section_list_remove (link_info.output_bfd, snew); ++ ++ /* Now tack it back on in the right place. */ ++ bfd_section_list_append (link_info.output_bfd, snew); ++ } ++ else if ((bfd_get_flavour (link_info.output_bfd) ++ == bfd_target_elf_flavour) ++ && (bfd_get_flavour (s->owner) ++ == bfd_target_elf_flavour) ++ && ((elf_section_type (s) == SHT_NOTE ++ && (s->flags & SEC_LOAD) != 0) ++ || (elf_section_type (as) == SHT_NOTE ++ && (as->flags & SEC_LOAD) != 0))) ++ { ++ /* Make sure that output note sections are grouped and sorted ++ by alignments when inserting a note section or insert a ++ section after a note section, */ ++ asection *sec; ++ /* A specific section after which the output note section ++ should be placed. */ ++ asection *after_sec; ++ /* True if we need to insert the orphan section after a ++ specific section to maintain output note section order. */ ++ bool after_sec_note = false; ++ ++ static asection *first_orphan_note = NULL; ++ ++ /* Group and sort output note section by alignments in ++ ascending order. */ ++ after_sec = NULL; ++ if (elf_section_type (s) == SHT_NOTE ++ && (s->flags & SEC_LOAD) != 0) ++ { ++ /* Search from the beginning for the last output note ++ section with equal or larger alignments. NB: Don't ++ place orphan note section after non-note sections. */ ++ ++ first_orphan_note = NULL; ++ for (sec = link_info.output_bfd->sections; ++ (sec != NULL ++ && !bfd_is_abs_section (sec)); ++ sec = sec->next) ++ if (sec != snew ++ && elf_section_type (sec) == SHT_NOTE ++ && (sec->flags & SEC_LOAD) != 0) ++ { ++ if (!first_orphan_note) ++ first_orphan_note = sec; ++ if (sec->alignment_power >= s->alignment_power) ++ after_sec = sec; ++ } ++ else if (first_orphan_note) ++ { ++ /* Stop if there is non-note section after the first ++ orphan note section. */ ++ break; ++ } ++ ++ /* If this will be the first orphan note section, it can ++ be placed at the default location. */ ++ after_sec_note = first_orphan_note != NULL; ++ if (after_sec == NULL && after_sec_note) ++ { ++ /* If all output note sections have smaller ++ alignments, place the section before all ++ output orphan note sections. */ ++ after_sec = first_orphan_note; ++ insert_after = false; ++ } ++ } ++ else if (first_orphan_note) ++ { ++ /* Don't place non-note sections in the middle of orphan ++ note sections. */ ++ after_sec_note = true; ++ after_sec = as; ++ for (sec = as->next; ++ (sec != NULL ++ && !bfd_is_abs_section (sec)); ++ sec = sec->next) ++ if (elf_section_type (sec) == SHT_NOTE ++ && (sec->flags & SEC_LOAD) != 0) ++ after_sec = sec; ++ } ++ ++ if (after_sec_note) ++ { ++ if (after_sec) ++ { ++ /* Search forward to insert OS after AFTER_SEC output ++ statement. */ ++ lang_output_section_statement_type *stmt, *next; ++ bool found = false; ++ for (stmt = after; stmt != NULL; stmt = next) ++ { ++ next = stmt->next; ++ if (insert_after) ++ { ++ if (stmt->bfd_section == after_sec) ++ { ++ place_after = true; ++ found = true; ++ after = stmt; ++ break; ++ } ++ } ++ else ++ { ++ /* If INSERT_AFTER is FALSE, place OS before ++ AFTER_SEC output statement. */ ++ if (next && next->bfd_section == after_sec) ++ { ++ place_after = true; ++ found = true; ++ after = stmt; ++ break; ++ } ++ } ++ } ++ ++ /* Search backward to insert OS after AFTER_SEC output ++ statement. */ ++ if (!found) ++ for (stmt = after; stmt != NULL; stmt = stmt->prev) ++ { ++ if (insert_after) ++ { ++ if (stmt->bfd_section == after_sec) ++ { ++ place_after = true; ++ after = stmt; ++ break; ++ } ++ } ++ else ++ { ++ /* If INSERT_AFTER is FALSE, place OS before ++ AFTER_SEC output statement. */ ++ if (stmt->next->bfd_section == after_sec) ++ { ++ place_after = true; ++ after = stmt; ++ break; ++ } ++ } ++ } ++ } ++ ++ if (after_sec == NULL ++ || (insert_after && after_sec->next != snew) ++ || (!insert_after && after_sec->prev != snew)) ++ { ++ /* Unlink the section. */ ++ bfd_section_list_remove (link_info.output_bfd, snew); ++ ++ /* Place SNEW after AFTER_SEC. If AFTER_SEC is NULL, ++ prepend SNEW. */ ++ if (after_sec) ++ { ++ if (insert_after) ++ bfd_section_list_insert_after (link_info.output_bfd, ++ after_sec, snew); ++ else ++ bfd_section_list_insert_before (link_info.output_bfd, ++ after_sec, snew); ++ } ++ else ++ bfd_section_list_prepend (link_info.output_bfd, snew); ++ } ++ } ++ else if (as != snew && as->prev != snew) ++ { ++ /* Unlink the section. */ ++ bfd_section_list_remove (link_info.output_bfd, snew); ++ ++ /* Now tack it back on in the right place. */ ++ bfd_section_list_insert_before (link_info.output_bfd, ++ as, snew); ++ } ++ } ++ else if (as != snew && as->prev != snew) ++ { ++ /* Unlink the section. */ ++ bfd_section_list_remove (link_info.output_bfd, snew); ++ ++ /* Now tack it back on in the right place. */ ++ bfd_section_list_insert_before (link_info.output_bfd, as, snew); ++ } ++ ++ /* Save the end of this list. Further ophans of this type will ++ follow the one we've just added. */ ++ place->section = &snew->next; ++ ++ /* The following is non-cosmetic. We try to put the output ++ statements in some sort of reasonable order here, because they ++ determine the final load addresses of the orphan sections. ++ In addition, placing output statements in the wrong order may ++ require extra segments. For instance, given a typical ++ situation of all read-only sections placed in one segment and ++ following that a segment containing all the read-write ++ sections, we wouldn't want to place an orphan read/write ++ section before or amongst the read-only ones. */ ++ if (add.head != NULL) ++ { ++ lang_output_section_statement_type *newly_added_os; ++ ++ /* Place OS after AFTER if AFTER_NOTE is TRUE. */ ++ if (place_after) ++ { ++ lang_statement_union_type **where; ++ ++ where = insert_os_after ((lang_statement_union_type *) after); ++ *add.tail = *where; ++ *where = add.head; ++ ++ place->os_tail = &after->next; ++ } ++ else ++ { ++ /* Put it after the last orphan statement we added. */ ++ *add.tail = *place->stmt; ++ *place->stmt = add.head; ++ } ++ ++ /* Fix the global list pointer if we happened to tack our ++ new list at the tail. */ ++ if (*stat_ptr->tail == add.head) ++ stat_ptr->tail = add.tail; ++ ++ /* Save the end of this list. */ ++ place->stmt = add.tail; ++ ++ /* Do the same for the list of output section statements. */ ++ newly_added_os = *os_tail; ++ *os_tail = NULL; ++ newly_added_os->prev = (lang_output_section_statement_type *) ++ ((char *) place->os_tail ++ - offsetof (lang_output_section_statement_type, next)); ++ newly_added_os->next = *place->os_tail; ++ if (newly_added_os->next != NULL) ++ newly_added_os->next->prev = newly_added_os; ++ *place->os_tail = newly_added_os; ++ place->os_tail = &newly_added_os->next; ++ ++ /* Fixing the global list pointer here is a little different. ++ We added to the list in lang_enter_output_section_statement, ++ trimmed off the new output_section_statment above when ++ assigning *os_tail = NULL, but possibly added it back in ++ the same place when assigning *place->os_tail. */ ++ if (*os_tail == NULL) ++ lang_os_list.tail = (lang_statement_union_type **) os_tail; ++ } ++ } ++ return os; ++} ++ ++static void ++lang_print_asneeded (void) ++{ ++ struct asneeded_minfo *m; ++ ++ if (asneeded_list_head == NULL) ++ return; ++ ++ minfo (_("\nAs-needed library included to satisfy reference by file (symbol)\n\n")); ++ ++ for (m = asneeded_list_head; m != NULL; m = m->next) ++ { ++ int len; ++ ++ minfo ("%s", m->soname); ++ len = strlen (m->soname); ++ ++ if (len >= 29) ++ { ++ print_nl (); ++ len = 0; ++ } ++ print_spaces (30 - len); ++ ++ if (m->ref != NULL) ++ minfo ("%pB ", m->ref); ++ minfo ("(%pT)\n", m->name); ++ } ++} ++ ++static void ++lang_map_flags (flagword flag) ++{ ++ if (flag & SEC_ALLOC) ++ minfo ("a"); ++ ++ if (flag & SEC_CODE) ++ minfo ("x"); ++ ++ if (flag & SEC_READONLY) ++ minfo ("r"); ++ ++ if (flag & SEC_DATA) ++ minfo ("w"); ++ ++ if (flag & SEC_LOAD) ++ minfo ("l"); ++} ++ ++void ++lang_map (void) ++{ ++ lang_memory_region_type *m; ++ bool dis_header_printed = false; ++ ++ ldfile_print_input_remaps (); ++ ++ LANG_FOR_EACH_INPUT_STATEMENT (file) ++ { ++ asection *s; ++ ++ if ((file->the_bfd->flags & (BFD_LINKER_CREATED | DYNAMIC)) != 0 ++ || file->flags.just_syms) ++ continue; ++ ++ if (config.print_map_discarded) ++ for (s = file->the_bfd->sections; s != NULL; s = s->next) ++ if ((s->output_section == NULL ++ || s->output_section->owner != link_info.output_bfd) ++ && (s->flags & (SEC_LINKER_CREATED | SEC_KEEP)) == 0) ++ { ++ if (! dis_header_printed) ++ { ++ minfo (_("\nDiscarded input sections\n\n")); ++ dis_header_printed = true; ++ } ++ ++ print_input_section (s, true); ++ } ++ } ++ if (config.print_map_discarded && ! dis_header_printed) ++ minfo (_("\nThere are no discarded input sections\n")); ++ ++ minfo (_("\nMemory Configuration\n\n")); ++ fprintf (config.map_file, "%-16s %-18s %-18s %s\n", ++ _("Name"), _("Origin"), _("Length"), _("Attributes")); ++ ++ for (m = lang_memory_region_list; m != NULL; m = m->next) ++ { ++ fprintf (config.map_file, "%-16s", m->name_list.name); ++ ++ char buf[32]; ++ bfd_sprintf_vma (link_info.output_bfd, buf, m->origin); ++ fprintf (config.map_file, " 0x%-16s", buf); ++ bfd_sprintf_vma (link_info.output_bfd, buf, m->length); ++ fprintf (config.map_file, ++ " 0x%*s", m->flags || m->not_flags ? -17 : 0, buf); ++ if (m->flags) ++ lang_map_flags (m->flags); ++ ++ if (m->not_flags) ++ { ++ minfo ("!"); ++ lang_map_flags (m->not_flags); ++ } ++ ++ print_nl (); ++ } ++ ++ minfo (_("\nLinker script and memory map\n\n")); ++ ++ if (!link_info.reduce_memory_overheads) ++ { ++ obstack_begin (&map_obstack, 1000); ++ bfd_link_hash_traverse (link_info.hash, sort_def_symbol, 0); ++ } ++ expld.phase = lang_fixed_phase_enum; ++ lang_statement_iteration++; ++ print_statements (); ++ ++ ldemul_extra_map_file_text (link_info.output_bfd, &link_info, ++ config.map_file); ++} ++ ++static bool ++sort_def_symbol (struct bfd_link_hash_entry *hash_entry, ++ void *info ATTRIBUTE_UNUSED) ++{ ++ if ((hash_entry->type == bfd_link_hash_defined ++ || hash_entry->type == bfd_link_hash_defweak) ++ && hash_entry->u.def.section->owner != link_info.output_bfd ++ && hash_entry->u.def.section->owner != NULL) ++ { ++ input_section_userdata_type *ud; ++ struct map_symbol_def *def; ++ ++ ud = bfd_section_userdata (hash_entry->u.def.section); ++ if (!ud) ++ { ++ ud = stat_alloc (sizeof (*ud)); ++ bfd_set_section_userdata (hash_entry->u.def.section, ud); ++ ud->map_symbol_def_tail = &ud->map_symbol_def_head; ++ ud->map_symbol_def_count = 0; ++ } ++ else if (!ud->map_symbol_def_tail) ++ ud->map_symbol_def_tail = &ud->map_symbol_def_head; ++ ++ def = (struct map_symbol_def *) obstack_alloc (&map_obstack, sizeof *def); ++ def->entry = hash_entry; ++ *(ud->map_symbol_def_tail) = def; ++ ud->map_symbol_def_tail = &def->next; ++ ud->map_symbol_def_count++; ++ } ++ return true; ++} ++ ++/* Initialize an output section. */ ++ ++static void ++init_os (lang_output_section_statement_type *s, flagword flags) ++{ ++ if (strcmp (s->name, DISCARD_SECTION_NAME) == 0) ++ einfo (_("%F%P: illegal use of `%s' section\n"), DISCARD_SECTION_NAME); ++ ++ if (!s->dup_output) ++ s->bfd_section = bfd_get_section_by_name (link_info.output_bfd, s->name); ++ if (s->bfd_section == NULL) ++ s->bfd_section = bfd_make_section_anyway_with_flags (link_info.output_bfd, ++ s->name, flags); ++ if (s->bfd_section == NULL) ++ { ++ einfo (_("%F%P: output format %s cannot represent section" ++ " called %s: %E\n"), ++ link_info.output_bfd->xvec->name, s->name); ++ } ++ s->bfd_section->output_section = s->bfd_section; ++ s->bfd_section->output_offset = 0; ++ ++ /* Set the userdata of the output section to the output section ++ statement to avoid lookup. */ ++ bfd_set_section_userdata (s->bfd_section, s); ++ ++ /* If there is a base address, make sure that any sections it might ++ mention are initialized. */ ++ if (s->addr_tree != NULL) ++ exp_init_os (s->addr_tree); ++ ++ if (s->load_base != NULL) ++ exp_init_os (s->load_base); ++ ++ /* If supplied an alignment, set it. */ ++ if (s->section_alignment != NULL) ++ s->bfd_section->alignment_power = exp_get_power (s->section_alignment, ++ "section alignment"); ++} ++ ++/* Make sure that all output sections mentioned in an expression are ++ initialized. */ ++ ++static void ++exp_init_os (etree_type *exp) ++{ ++ switch (exp->type.node_class) ++ { ++ case etree_assign: ++ case etree_provide: ++ case etree_provided: ++ exp_init_os (exp->assign.src); ++ break; ++ ++ case etree_binary: ++ exp_init_os (exp->binary.lhs); ++ exp_init_os (exp->binary.rhs); ++ break; ++ ++ case etree_trinary: ++ exp_init_os (exp->trinary.cond); ++ exp_init_os (exp->trinary.lhs); ++ exp_init_os (exp->trinary.rhs); ++ break; ++ ++ case etree_assert: ++ exp_init_os (exp->assert_s.child); ++ break; ++ ++ case etree_unary: ++ exp_init_os (exp->unary.child); ++ break; ++ ++ case etree_name: ++ switch (exp->type.node_code) ++ { ++ case ADDR: ++ case LOADADDR: ++ { ++ lang_output_section_statement_type *os; ++ ++ os = lang_output_section_find (exp->name.name); ++ if (os != NULL && os->bfd_section == NULL) ++ init_os (os, 0); ++ } ++ } ++ break; ++ ++ default: ++ break; ++ } ++} ++ ++static void ++section_already_linked (bfd *abfd, asection *sec, void *data) ++{ ++ lang_input_statement_type *entry = (lang_input_statement_type *) data; ++ ++ /* If we are only reading symbols from this object, then we want to ++ discard all sections. */ ++ if (entry->flags.just_syms) ++ { ++ bfd_link_just_syms (abfd, sec, &link_info); ++ return; ++ } ++ ++ /* Deal with SHF_EXCLUDE ELF sections. */ ++ if (!bfd_link_relocatable (&link_info) ++ && (abfd->flags & BFD_PLUGIN) == 0 ++ && (sec->flags & (SEC_GROUP | SEC_KEEP | SEC_EXCLUDE)) == SEC_EXCLUDE) ++ sec->output_section = bfd_abs_section_ptr; ++ ++ if (!(abfd->flags & DYNAMIC)) ++ bfd_section_already_linked (abfd, sec, &link_info); ++} ++ ++ ++/* Returns true if SECTION is one we know will be discarded based on its ++ section flags, otherwise returns false. */ ++ ++static bool ++lang_discard_section_p (asection *section) ++{ ++ bool discard; ++ flagword flags = section->flags; ++ ++ /* Discard sections marked with SEC_EXCLUDE. */ ++ discard = (flags & SEC_EXCLUDE) != 0; ++ ++ /* Discard the group descriptor sections when we're finally placing the ++ sections from within the group. */ ++ if ((flags & SEC_GROUP) != 0 ++ && link_info.resolve_section_groups) ++ discard = true; ++ ++ /* Discard debugging sections if we are stripping debugging ++ information. */ ++ if ((link_info.strip == strip_debugger || link_info.strip == strip_all) ++ && (flags & SEC_DEBUGGING) != 0) ++ discard = true; ++ ++ /* Discard non-alloc sections if we are stripping section headers. */ ++ else if (config.no_section_header && (flags & SEC_ALLOC) == 0) ++ discard = true; ++ ++ return discard; ++} ++ ++/* Return TRUE if SECTION is never going to be added to output statement ++ OUTPUT. lang_add_section() definitely won't do anything with SECTION ++ if this returns TRUE. It may do something (or not) if this returns FALSE. ++ ++ Can be used as early-out to filter matches. This may set ++ output_section of SECTION, if it was unset, to the abs section in case ++ we discover SECTION to be always discarded. This may also give ++ warning messages. */ ++ ++static bool ++wont_add_section_p (asection *section, ++ lang_output_section_statement_type *output) ++{ ++ bool discard; ++ ++ /* Is this section one we know should be discarded? */ ++ discard = lang_discard_section_p (section); ++ ++ /* Discard input sections which are assigned to a section named ++ DISCARD_SECTION_NAME. */ ++ if (strcmp (output->name, DISCARD_SECTION_NAME) == 0) ++ discard = true; ++ ++ if (discard) ++ { ++ if (section->output_section == NULL) ++ { ++ /* This prevents future calls from assigning this section or ++ warning about it again. */ ++ section->output_section = bfd_abs_section_ptr; ++ } ++ else if (bfd_is_abs_section (section->output_section)) ++ ; ++ else if (link_info.non_contiguous_regions_warnings) ++ einfo (_("%P:%pS: warning: --enable-non-contiguous-regions makes " ++ "section `%pA' from `%pB' match /DISCARD/ clause.\n"), ++ NULL, section, section->owner); ++ ++ return true; ++ } ++ ++ if (section->output_section != NULL) ++ { ++ if (!link_info.non_contiguous_regions) ++ return true; ++ ++ /* SECTION has already been handled in a special way ++ (eg. LINK_ONCE): skip it. */ ++ if (bfd_is_abs_section (section->output_section)) ++ return true; ++ ++ /* Already assigned to the same output section, do not process ++ it again, to avoid creating loops between duplicate sections ++ later. */ ++ if (section->output_section == output->bfd_section) ++ return true; ++ ++ if (link_info.non_contiguous_regions_warnings && output->bfd_section) ++ einfo (_("%P:%pS: warning: --enable-non-contiguous-regions may " ++ "change behaviour for section `%pA' from `%pB' (assigned to " ++ "%pA, but additional match: %pA)\n"), ++ NULL, section, section->owner, section->output_section, ++ output->bfd_section); ++ ++ /* SECTION has already been assigned to an output section, but ++ the user allows it to be mapped to another one in case it ++ overflows. We'll later update the actual output section in ++ size_input_section as appropriate. */ ++ } ++ ++ return false; ++} ++ ++/* The wild routines. ++ ++ These expand statements like *(.text) and foo.o to a list of ++ explicit actions, like foo.o(.text), bar.o(.text) and ++ foo.o(.text, .data). */ ++ ++/* Add SECTION to the output section OUTPUT. Do this by creating a ++ lang_input_section statement which is placed at PTR. */ ++ ++void ++lang_add_section (lang_statement_list_type *ptr, ++ asection *section, ++ struct wildcard_list *pattern, ++ struct flag_info *sflag_info, ++ lang_output_section_statement_type *output) ++{ ++ flagword flags = section->flags; ++ ++ lang_input_section_type *new_section; ++ bfd *abfd = link_info.output_bfd; ++ ++ if (wont_add_section_p (section, output)) ++ return; ++ ++ if (sflag_info) ++ { ++ bool keep; ++ ++ keep = bfd_lookup_section_flags (&link_info, sflag_info, section); ++ if (!keep) ++ return; ++ } ++ ++ /* We don't copy the SEC_NEVER_LOAD flag from an input section ++ to an output section, because we want to be able to include a ++ SEC_NEVER_LOAD section in the middle of an otherwise loaded ++ section (I don't know why we want to do this, but we do). ++ build_link_order in ldwrite.c handles this case by turning ++ the embedded SEC_NEVER_LOAD section into a fill. */ ++ flags &= ~ SEC_NEVER_LOAD; ++ ++ /* If final link, don't copy the SEC_LINK_ONCE flags, they've ++ already been processed. One reason to do this is that on pe ++ format targets, .text$foo sections go into .text and it's odd ++ to see .text with SEC_LINK_ONCE set. */ ++ if ((flags & (SEC_LINK_ONCE | SEC_GROUP)) == (SEC_LINK_ONCE | SEC_GROUP)) ++ { ++ if (link_info.resolve_section_groups) ++ flags &= ~(SEC_LINK_ONCE | SEC_LINK_DUPLICATES | SEC_RELOC); ++ else ++ flags &= ~(SEC_LINK_DUPLICATES | SEC_RELOC); ++ } ++ else if (!bfd_link_relocatable (&link_info)) ++ flags &= ~(SEC_LINK_ONCE | SEC_LINK_DUPLICATES | SEC_RELOC); ++ ++ switch (output->sectype) ++ { ++ case normal_section: ++ case overlay_section: ++ case first_overlay_section: ++ case type_section: ++ break; ++ case noalloc_section: ++ flags &= ~SEC_ALLOC; ++ break; ++ case typed_readonly_section: ++ case readonly_section: ++ flags |= SEC_READONLY; ++ break; ++ case noload_section: ++ flags &= ~SEC_LOAD; ++ flags |= SEC_NEVER_LOAD; ++ /* Unfortunately GNU ld has managed to evolve two different ++ meanings to NOLOAD in scripts. ELF gets a .bss style noload, ++ alloc, no contents section. All others get a noload, noalloc ++ section. */ ++ if (bfd_get_flavour (link_info.output_bfd) == bfd_target_elf_flavour) ++ flags &= ~SEC_HAS_CONTENTS; ++ else ++ flags &= ~SEC_ALLOC; ++ break; ++ } ++ ++ if (output->bfd_section == NULL) ++ init_os (output, flags); ++ ++ /* If SEC_READONLY is not set in the input section, then clear ++ it from the output section. */ ++ output->bfd_section->flags &= flags | ~SEC_READONLY; ++ ++ if (output->bfd_section->linker_has_input) ++ { ++ /* Only set SEC_READONLY flag on the first input section. */ ++ flags &= ~ SEC_READONLY; ++ ++ /* Keep SEC_MERGE and SEC_STRINGS only if they are the same. */ ++ if ((output->bfd_section->flags & (SEC_MERGE | SEC_STRINGS)) ++ != (flags & (SEC_MERGE | SEC_STRINGS)) ++ || ((flags & SEC_MERGE) != 0 ++ && output->bfd_section->entsize != section->entsize)) ++ { ++ output->bfd_section->flags &= ~ (SEC_MERGE | SEC_STRINGS); ++ flags &= ~ (SEC_MERGE | SEC_STRINGS); ++ } ++ } ++ output->bfd_section->flags |= flags; ++ ++ if (!output->bfd_section->linker_has_input) ++ { ++ output->bfd_section->linker_has_input = 1; ++ /* This must happen after flags have been updated. The output ++ section may have been created before we saw its first input ++ section, eg. for a data statement. */ ++ bfd_init_private_section_data (section->owner, section, ++ link_info.output_bfd, ++ output->bfd_section, ++ &link_info); ++ if ((flags & SEC_MERGE) != 0) ++ output->bfd_section->entsize = section->entsize; ++ } ++ ++ if ((flags & SEC_TIC54X_BLOCK) != 0 ++ && bfd_get_arch (section->owner) == bfd_arch_tic54x) ++ { ++ /* FIXME: This value should really be obtained from the bfd... */ ++ output->block_value = 128; ++ } ++ ++ /* When a .ctors section is placed in .init_array it must be copied ++ in reverse order. Similarly for .dtors. Set that up. */ ++ if (bfd_get_flavour (link_info.output_bfd) == bfd_target_elf_flavour ++ && ((startswith (section->name, ".ctors") ++ && strcmp (output->bfd_section->name, ".init_array") == 0) ++ || (startswith (section->name, ".dtors") ++ && strcmp (output->bfd_section->name, ".fini_array") == 0)) ++ && (section->name[6] == 0 || section->name[6] == '.')) ++ section->flags |= SEC_ELF_REVERSE_COPY; ++ ++ if (section->alignment_power > output->bfd_section->alignment_power) ++ output->bfd_section->alignment_power = section->alignment_power; ++ ++ section->output_section = output->bfd_section; ++ ++ if (!map_head_is_link_order) ++ { ++ asection *s = output->bfd_section->map_tail.s; ++ output->bfd_section->map_tail.s = section; ++ section->map_head.s = NULL; ++ section->map_tail.s = s; ++ if (s != NULL) ++ s->map_head.s = section; ++ else ++ output->bfd_section->map_head.s = section; ++ } ++ ++ /* Add a section reference to the list. */ ++ new_section = new_stat (lang_input_section, ptr); ++ new_section->section = section; ++ new_section->pattern = pattern; ++} ++ ++/* Expand a wild statement for a particular FILE. SECTION may be ++ NULL, in which case it is a wild card. This assumes that the ++ wild statement doesn't need any sorting (of filenames or sections). */ ++ ++static void ++output_section_callback_nosort (lang_wild_statement_type *ptr, ++ struct wildcard_list *sec ATTRIBUTE_UNUSED, ++ asection *section, ++ lang_input_statement_type *file ATTRIBUTE_UNUSED, ++ void *output) ++{ ++ lang_output_section_statement_type *os; ++ ++ os = (lang_output_section_statement_type *) output; ++ ++ /* Exclude sections that match UNIQUE_SECTION_LIST. */ ++ if (unique_section_p (section, os)) ++ return; ++ ++ lang_add_section (&ptr->children, section, ptr->section_list, ++ ptr->section_flag_list, os); ++} ++ ++/* Check if all sections in a wild statement for a particular FILE ++ are readonly. */ ++ ++static void ++check_section_callback (lang_wild_statement_type *ptr ATTRIBUTE_UNUSED, ++ struct wildcard_list *sec ATTRIBUTE_UNUSED, ++ asection *section, ++ lang_input_statement_type *file ATTRIBUTE_UNUSED, ++ void *output) ++{ ++ lang_output_section_statement_type *os; ++ ++ os = (lang_output_section_statement_type *) output; ++ ++ /* Exclude sections that match UNIQUE_SECTION_LIST. */ ++ if (unique_section_p (section, os)) ++ return; ++ ++ if (section->output_section == NULL && (section->flags & SEC_READONLY) == 0) ++ os->all_input_readonly = false; ++} ++ ++/* This is passed a file name which must have been seen already and ++ added to the statement tree. We will see if it has been opened ++ already and had its symbols read. If not then we'll read it. */ ++ ++static lang_input_statement_type * ++lookup_name (const char *name) ++{ ++ lang_input_statement_type *search; ++ ++ for (search = (void *) input_file_chain.head; ++ search != NULL; ++ search = search->next_real_file) ++ { ++ /* Use the local_sym_name as the name of the file that has ++ already been loaded as filename might have been transformed ++ via the search directory lookup mechanism. */ ++ const char *filename = search->local_sym_name; ++ ++ if (filename != NULL ++ && filename_cmp (filename, name) == 0) ++ break; ++ } ++ ++ if (search == NULL) ++ { ++ /* Arrange to splice the input statement added by new_afile into ++ statement_list after the current input_file_chain tail. ++ We know input_file_chain is not an empty list, and that ++ lookup_name was called via open_input_bfds. Later calls to ++ lookup_name should always match an existing input_statement. */ ++ lang_statement_union_type **tail = stat_ptr->tail; ++ lang_statement_union_type **after ++ = (void *) ((char *) input_file_chain.tail ++ - offsetof (lang_input_statement_type, next_real_file) ++ + offsetof (lang_input_statement_type, header.next)); ++ lang_statement_union_type *rest = *after; ++ stat_ptr->tail = after; ++ search = new_afile (name, lang_input_file_is_search_file_enum, ++ default_target, NULL); ++ *stat_ptr->tail = rest; ++ if (*tail == NULL) ++ stat_ptr->tail = tail; ++ } ++ ++ /* If we have already added this file, or this file is not real ++ don't add this file. */ ++ if (search->flags.loaded || !search->flags.real) ++ return search; ++ ++ if (!load_symbols (search, NULL)) ++ return NULL; ++ ++ return search; ++} ++ ++/* Save LIST as a list of libraries whose symbols should not be exported. */ ++ ++struct excluded_lib ++{ ++ char *name; ++ struct excluded_lib *next; ++}; ++static struct excluded_lib *excluded_libs; ++ ++void ++add_excluded_libs (const char *list) ++{ ++ const char *p = list, *end; ++ ++ while (*p != '\0') ++ { ++ struct excluded_lib *entry; ++ end = strpbrk (p, ",:"); ++ if (end == NULL) ++ end = p + strlen (p); ++ entry = (struct excluded_lib *) xmalloc (sizeof (*entry)); ++ entry->next = excluded_libs; ++ entry->name = (char *) xmalloc (end - p + 1); ++ memcpy (entry->name, p, end - p); ++ entry->name[end - p] = '\0'; ++ excluded_libs = entry; ++ if (*end == '\0') ++ break; ++ p = end + 1; ++ } ++} ++ ++static void ++check_excluded_libs (bfd *abfd) ++{ ++ struct excluded_lib *lib = excluded_libs; ++ ++ while (lib) ++ { ++ int len = strlen (lib->name); ++ const char *filename = lbasename (bfd_get_filename (abfd)); ++ ++ if (strcmp (lib->name, "ALL") == 0) ++ { ++ abfd->no_export = true; ++ return; ++ } ++ ++ if (filename_ncmp (lib->name, filename, len) == 0 ++ && (filename[len] == '\0' ++ || (filename[len] == '.' && filename[len + 1] == 'a' ++ && filename[len + 2] == '\0'))) ++ { ++ abfd->no_export = true; ++ return; ++ } ++ ++ lib = lib->next; ++ } ++} ++ ++/* Get the symbols for an input file. */ ++ ++bool ++load_symbols (lang_input_statement_type *entry, ++ lang_statement_list_type *place) ++{ ++ char **matching; ++ ++ if (entry->flags.loaded) ++ return true; ++ ++ ldfile_open_file (entry); ++ ++ /* Do not process further if the file was missing. */ ++ if (entry->flags.missing_file) ++ return true; ++ ++ if (trace_files || verbose) ++ info_msg ("%pI\n", entry); ++ ++ if (!bfd_check_format (entry->the_bfd, bfd_archive) ++ && !bfd_check_format_matches (entry->the_bfd, bfd_object, &matching)) ++ { ++ bfd_error_type err; ++ struct lang_input_statement_flags save_flags; ++ extern FILE *yyin; ++ ++ err = bfd_get_error (); ++ ++ /* See if the emulation has some special knowledge. */ ++ if (ldemul_unrecognized_file (entry)) ++ { ++ if (err == bfd_error_file_ambiguously_recognized) ++ free (matching); ++ return true; ++ } ++ ++ if (err == bfd_error_file_ambiguously_recognized) ++ { ++ char **p; ++ ++ einfo (_("%P: %pB: file not recognized: %E;" ++ " matching formats:"), entry->the_bfd); ++ for (p = matching; *p != NULL; p++) ++ einfo (" %s", *p); ++ free (matching); ++ einfo ("%F\n"); ++ } ++ else if (err != bfd_error_file_not_recognized ++ || place == NULL) ++ einfo (_("%F%P: %pB: file not recognized: %E\n"), entry->the_bfd); ++ ++ bfd_close (entry->the_bfd); ++ entry->the_bfd = NULL; ++ ++ /* Try to interpret the file as a linker script. */ ++ save_flags = input_flags; ++ ldfile_open_command_file (entry->filename); ++ ++ push_stat_ptr (place); ++ input_flags.add_DT_NEEDED_for_regular ++ = entry->flags.add_DT_NEEDED_for_regular; ++ input_flags.add_DT_NEEDED_for_dynamic ++ = entry->flags.add_DT_NEEDED_for_dynamic; ++ input_flags.whole_archive = entry->flags.whole_archive; ++ input_flags.dynamic = entry->flags.dynamic; ++ ++ ldfile_assumed_script = true; ++ parser_input = input_script; ++ current_input_file = entry->filename; ++ yyparse (); ++ current_input_file = NULL; ++ ldfile_assumed_script = false; ++ ++ /* missing_file is sticky. sysrooted will already have been ++ restored when seeing EOF in yyparse, but no harm to restore ++ again. */ ++ save_flags.missing_file |= input_flags.missing_file; ++ input_flags = save_flags; ++ pop_stat_ptr (); ++ fclose (yyin); ++ yyin = NULL; ++ entry->flags.loaded = true; ++ ++ return true; ++ } ++ ++ if (ldemul_recognized_file (entry)) ++ return true; ++ ++ /* We don't call ldlang_add_file for an archive. Instead, the ++ add_symbols entry point will call ldlang_add_file, via the ++ add_archive_element callback, for each element of the archive ++ which is used. */ ++ switch (bfd_get_format (entry->the_bfd)) ++ { ++ default: ++ break; ++ ++ case bfd_object: ++ if (!entry->flags.reload) ++ ldlang_add_file (entry); ++ break; ++ ++ case bfd_archive: ++ check_excluded_libs (entry->the_bfd); ++ ++ bfd_set_usrdata (entry->the_bfd, entry); ++ if (entry->flags.whole_archive) ++ { ++ bfd *member = NULL; ++ bool loaded = true; ++ ++ for (;;) ++ { ++ bfd *subsbfd; ++ member = bfd_openr_next_archived_file (entry->the_bfd, member); ++ ++ if (member == NULL) ++ break; ++ ++ if (!bfd_check_format (member, bfd_object)) ++ { ++ einfo (_("%F%P: %pB: member %pB in archive is not an object\n"), ++ entry->the_bfd, member); ++ loaded = false; ++ } ++ ++ subsbfd = member; ++ if (!(*link_info.callbacks ++ ->add_archive_element) (&link_info, member, ++ "--whole-archive", &subsbfd)) ++ abort (); ++ ++ /* Potentially, the add_archive_element hook may have set a ++ substitute BFD for us. */ ++ if (!bfd_link_add_symbols (subsbfd, &link_info)) ++ { ++ einfo (_("%F%P: %pB: error adding symbols: %E\n"), member); ++ loaded = false; ++ } ++ } ++ ++ entry->flags.loaded = loaded; ++ return loaded; ++ } ++ break; ++ } ++ ++ if (bfd_link_add_symbols (entry->the_bfd, &link_info)) ++ entry->flags.loaded = true; ++ else ++ einfo (_("%F%P: %pB: error adding symbols: %E\n"), entry->the_bfd); ++ ++ return entry->flags.loaded; ++} ++ ++/* Handle a wild statement. S->FILENAME or S->SECTION_LIST or both ++ may be NULL, indicating that it is a wildcard. Separate ++ lang_input_section statements are created for each part of the ++ expansion; they are added after the wild statement S. OUTPUT is ++ the output section. */ ++ ++static void ++wild (lang_wild_statement_type *s, ++ const char *target ATTRIBUTE_UNUSED, ++ lang_output_section_statement_type *output) ++{ ++ struct wildcard_list *sec; ++ ++ if (s->filenames_sorted || s->any_specs_sorted) ++ { ++ lang_section_bst_type *tree; ++ ++ walk_wild (s, output_section_callback_sort, output); ++ ++ tree = s->tree; ++ if (tree) ++ { ++ output_section_callback_tree_to_list (s, tree, output); ++ s->tree = NULL; ++ s->rightmost = &s->tree; ++ } ++ } ++ else ++ walk_wild (s, output_section_callback_nosort, output); ++ ++ if (default_common_section == NULL) ++ for (sec = s->section_list; sec != NULL; sec = sec->next) ++ if (sec->spec.name != NULL && strcmp (sec->spec.name, "COMMON") == 0) ++ { ++ /* Remember the section that common is going to in case we ++ later get something which doesn't know where to put it. */ ++ default_common_section = output; ++ break; ++ } ++} ++ ++/* Return TRUE iff target is the sought target. */ ++ ++static int ++get_target (const bfd_target *target, void *data) ++{ ++ const char *sought = (const char *) data; ++ ++ return strcmp (target->name, sought) == 0; ++} ++ ++/* Like strcpy() but convert to lower case as well. */ ++ ++static void ++stricpy (char *dest, const char *src) ++{ ++ char c; ++ ++ while ((c = *src++) != 0) ++ *dest++ = TOLOWER (c); ++ ++ *dest = 0; ++} ++ ++/* Remove the first occurrence of needle (if any) in haystack ++ from haystack. */ ++ ++static void ++strcut (char *haystack, const char *needle) ++{ ++ haystack = strstr (haystack, needle); ++ ++ if (haystack) ++ { ++ char *src; ++ ++ for (src = haystack + strlen (needle); *src;) ++ *haystack++ = *src++; ++ ++ *haystack = 0; ++ } ++} ++ ++/* Compare two target format name strings. ++ Return a value indicating how "similar" they are. */ ++ ++static int ++name_compare (const char *first, const char *second) ++{ ++ char *copy1; ++ char *copy2; ++ int result; ++ ++ copy1 = (char *) xmalloc (strlen (first) + 1); ++ copy2 = (char *) xmalloc (strlen (second) + 1); ++ ++ /* Convert the names to lower case. */ ++ stricpy (copy1, first); ++ stricpy (copy2, second); ++ ++ /* Remove size and endian strings from the name. */ ++ strcut (copy1, "big"); ++ strcut (copy1, "little"); ++ strcut (copy2, "big"); ++ strcut (copy2, "little"); ++ ++ /* Return a value based on how many characters match, ++ starting from the beginning. If both strings are ++ the same then return 10 * their length. */ ++ for (result = 0; copy1[result] == copy2[result]; result++) ++ if (copy1[result] == 0) ++ { ++ result *= 10; ++ break; ++ } ++ ++ free (copy1); ++ free (copy2); ++ ++ return result; ++} ++ ++/* Set by closest_target_match() below. */ ++static const bfd_target *winner; ++ ++/* Scan all the valid bfd targets looking for one that has the endianness ++ requirement that was specified on the command line, and is the nearest ++ match to the original output target. */ ++ ++static int ++closest_target_match (const bfd_target *target, void *data) ++{ ++ const bfd_target *original = (const bfd_target *) data; ++ ++ if (command_line.endian == ENDIAN_BIG ++ && target->byteorder != BFD_ENDIAN_BIG) ++ return 0; ++ ++ if (command_line.endian == ENDIAN_LITTLE ++ && target->byteorder != BFD_ENDIAN_LITTLE) ++ return 0; ++ ++ /* Must be the same flavour. */ ++ if (target->flavour != original->flavour) ++ return 0; ++ ++ /* Ignore generic big and little endian elf vectors. */ ++ if (strcmp (target->name, "elf32-big") == 0 ++ || strcmp (target->name, "elf64-big") == 0 ++ || strcmp (target->name, "elf32-little") == 0 ++ || strcmp (target->name, "elf64-little") == 0) ++ return 0; ++ ++ /* If we have not found a potential winner yet, then record this one. */ ++ if (winner == NULL) ++ { ++ winner = target; ++ return 0; ++ } ++ ++ /* Oh dear, we now have two potential candidates for a successful match. ++ Compare their names and choose the better one. */ ++ if (name_compare (target->name, original->name) ++ > name_compare (winner->name, original->name)) ++ winner = target; ++ ++ /* Keep on searching until wqe have checked them all. */ ++ return 0; ++} ++ ++/* Return the BFD target format of the first input file. */ ++ ++static const char * ++get_first_input_target (void) ++{ ++ const char *target = NULL; ++ ++ LANG_FOR_EACH_INPUT_STATEMENT (s) ++ { ++ if (s->header.type == lang_input_statement_enum ++ && s->flags.real) ++ { ++ ldfile_open_file (s); ++ ++ if (s->the_bfd != NULL ++ && bfd_check_format (s->the_bfd, bfd_object)) ++ { ++ target = bfd_get_target (s->the_bfd); ++ ++ if (target != NULL) ++ break; ++ } ++ } ++ } ++ ++ return target; ++} ++ ++const char * ++lang_get_output_target (void) ++{ ++ const char *target; ++ ++ /* Has the user told us which output format to use? */ ++ if (output_target != NULL) ++ return output_target; ++ ++ /* No - has the current target been set to something other than ++ the default? */ ++ if (current_target != default_target && current_target != NULL) ++ return current_target; ++ ++ /* No - can we determine the format of the first input file? */ ++ target = get_first_input_target (); ++ if (target != NULL) ++ return target; ++ ++ /* Failed - use the default output target. */ ++ return default_target; ++} ++ ++/* Open the output file. */ ++ ++static void ++open_output (const char *name) ++{ ++ lang_input_statement_type *f; ++ char *out = lrealpath (name); ++ ++ for (f = (void *) input_file_chain.head; ++ f != NULL; ++ f = f->next_real_file) ++ if (f->flags.real) ++ { ++ char *in = lrealpath (f->local_sym_name); ++ if (filename_cmp (in, out) == 0) ++ einfo (_("%F%P: input file '%s' is the same as output file\n"), ++ f->filename); ++ free (in); ++ } ++ free (out); ++ ++ output_target = lang_get_output_target (); ++ ++ /* Has the user requested a particular endianness on the command ++ line? */ ++ if (command_line.endian != ENDIAN_UNSET) ++ { ++ /* Get the chosen target. */ ++ const bfd_target *target ++ = bfd_iterate_over_targets (get_target, (void *) output_target); ++ ++ /* If the target is not supported, we cannot do anything. */ ++ if (target != NULL) ++ { ++ enum bfd_endian desired_endian; ++ ++ if (command_line.endian == ENDIAN_BIG) ++ desired_endian = BFD_ENDIAN_BIG; ++ else ++ desired_endian = BFD_ENDIAN_LITTLE; ++ ++ /* See if the target has the wrong endianness. This should ++ not happen if the linker script has provided big and ++ little endian alternatives, but some scrips don't do ++ this. */ ++ if (target->byteorder != desired_endian) ++ { ++ /* If it does, then see if the target provides ++ an alternative with the correct endianness. */ ++ if (target->alternative_target != NULL ++ && (target->alternative_target->byteorder == desired_endian)) ++ output_target = target->alternative_target->name; ++ else ++ { ++ /* Try to find a target as similar as possible to ++ the default target, but which has the desired ++ endian characteristic. */ ++ bfd_iterate_over_targets (closest_target_match, ++ (void *) target); ++ ++ /* Oh dear - we could not find any targets that ++ satisfy our requirements. */ ++ if (winner == NULL) ++ einfo (_("%P: warning: could not find any targets" ++ " that match endianness requirement\n")); ++ else ++ output_target = winner->name; ++ } ++ } ++ } ++ } ++ ++ link_info.output_bfd = bfd_openw (name, output_target); ++ ++ if (link_info.output_bfd == NULL) ++ { ++ if (bfd_get_error () == bfd_error_invalid_target) ++ einfo (_("%F%P: target %s not found\n"), output_target); ++ ++ einfo (_("%F%P: cannot open output file %s: %E\n"), name); ++ } ++ ++ delete_output_file_on_failure = true; ++ ++ if (!bfd_set_format (link_info.output_bfd, bfd_object)) ++ einfo (_("%F%P: %s: can not make object file: %E\n"), name); ++ if (!bfd_set_arch_mach (link_info.output_bfd, ++ ldfile_output_architecture, ++ ldfile_output_machine)) ++ einfo (_("%F%P: %s: can not set architecture: %E\n"), name); ++ ++ link_info.hash = bfd_link_hash_table_create (link_info.output_bfd); ++ if (link_info.hash == NULL) ++ einfo (_("%F%P: can not create hash table: %E\n")); ++ ++ bfd_set_gp_size (link_info.output_bfd, g_switch_value); ++} ++ ++static void ++ldlang_open_output (lang_statement_union_type *statement) ++{ ++ switch (statement->header.type) ++ { ++ case lang_output_statement_enum: ++ ASSERT (link_info.output_bfd == NULL); ++ open_output (statement->output_statement.name); ++ ldemul_set_output_arch (); ++ if (config.magic_demand_paged ++ && !bfd_link_relocatable (&link_info)) ++ link_info.output_bfd->flags |= D_PAGED; ++ else ++ link_info.output_bfd->flags &= ~D_PAGED; ++ if (config.text_read_only) ++ link_info.output_bfd->flags |= WP_TEXT; ++ else ++ link_info.output_bfd->flags &= ~WP_TEXT; ++ if (link_info.traditional_format) ++ link_info.output_bfd->flags |= BFD_TRADITIONAL_FORMAT; ++ else ++ link_info.output_bfd->flags &= ~BFD_TRADITIONAL_FORMAT; ++ if (config.no_section_header) ++ link_info.output_bfd->flags |= BFD_NO_SECTION_HEADER; ++ else ++ link_info.output_bfd->flags &= ~BFD_NO_SECTION_HEADER; ++ break; ++ ++ case lang_target_statement_enum: ++ current_target = statement->target_statement.target; ++ break; ++ default: ++ break; ++ } ++} ++ ++static void ++init_opb (asection *s) ++{ ++ unsigned int x; ++ ++ opb_shift = 0; ++ if (bfd_get_flavour (link_info.output_bfd) == bfd_target_elf_flavour ++ && s != NULL ++ && (s->flags & SEC_ELF_OCTETS) != 0) ++ return; ++ ++ x = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, ++ ldfile_output_machine); ++ if (x > 1) ++ while ((x & 1) == 0) ++ { ++ x >>= 1; ++ ++opb_shift; ++ } ++ ASSERT (x == 1); ++} ++ ++/* Open all the input files. */ ++ ++enum open_bfd_mode ++ { ++ OPEN_BFD_NORMAL = 0, ++ OPEN_BFD_FORCE = 1, ++ OPEN_BFD_RESCAN = 2 ++ }; ++#if BFD_SUPPORTS_PLUGINS ++static lang_input_statement_type *plugin_insert = NULL; ++static struct bfd_link_hash_entry *plugin_undefs = NULL; ++#endif ++ ++static void ++open_input_bfds (lang_statement_union_type *s, enum open_bfd_mode mode) ++{ ++ for (; s != NULL; s = s->header.next) ++ { ++ switch (s->header.type) ++ { ++ case lang_constructors_statement_enum: ++ open_input_bfds (constructor_list.head, mode); ++ break; ++ case lang_output_section_statement_enum: ++ open_input_bfds (s->output_section_statement.children.head, mode); ++ break; ++ case lang_wild_statement_enum: ++ /* Maybe we should load the file's symbols. */ ++ if ((mode & OPEN_BFD_RESCAN) == 0 ++ && s->wild_statement.filename ++ && !wildcardp (s->wild_statement.filename) ++ && !archive_path (s->wild_statement.filename)) ++ lookup_name (s->wild_statement.filename); ++ open_input_bfds (s->wild_statement.children.head, mode); ++ break; ++ case lang_group_statement_enum: ++ { ++ struct bfd_link_hash_entry *undefs; ++#if BFD_SUPPORTS_PLUGINS ++ lang_input_statement_type *plugin_insert_save; ++#endif ++ ++ /* We must continually search the entries in the group ++ until no new symbols are added to the list of undefined ++ symbols. */ ++ ++ do ++ { ++#if BFD_SUPPORTS_PLUGINS ++ plugin_insert_save = plugin_insert; ++#endif ++ undefs = link_info.hash->undefs_tail; ++ open_input_bfds (s->group_statement.children.head, ++ mode | OPEN_BFD_FORCE); ++ } ++ while (undefs != link_info.hash->undefs_tail ++#if BFD_SUPPORTS_PLUGINS ++ /* Objects inserted by a plugin, which are loaded ++ before we hit this loop, may have added new ++ undefs. */ ++ || (plugin_insert != plugin_insert_save && plugin_undefs) ++#endif ++ ); ++ } ++ break; ++ case lang_target_statement_enum: ++ current_target = s->target_statement.target; ++ break; ++ case lang_input_statement_enum: ++ if (s->input_statement.flags.real) ++ { ++ lang_statement_union_type **os_tail; ++ lang_statement_list_type add; ++ bfd *abfd; ++ ++ s->input_statement.target = current_target; ++ ++ /* If we are being called from within a group, and this ++ is an archive which has already been searched, then ++ force it to be researched unless the whole archive ++ has been loaded already. Do the same for a rescan. ++ Likewise reload --as-needed shared libs. */ ++ if (mode != OPEN_BFD_NORMAL ++#if BFD_SUPPORTS_PLUGINS ++ && ((mode & OPEN_BFD_RESCAN) == 0 ++ || plugin_insert == NULL) ++#endif ++ && s->input_statement.flags.loaded ++ && (abfd = s->input_statement.the_bfd) != NULL ++ && ((bfd_get_format (abfd) == bfd_archive ++ && !s->input_statement.flags.whole_archive) ++ || (bfd_get_format (abfd) == bfd_object ++ && ((abfd->flags) & DYNAMIC) != 0 ++ && s->input_statement.flags.add_DT_NEEDED_for_regular ++ && bfd_get_flavour (abfd) == bfd_target_elf_flavour ++ && (elf_dyn_lib_class (abfd) & DYN_AS_NEEDED) != 0))) ++ { ++ s->input_statement.flags.loaded = false; ++ s->input_statement.flags.reload = true; ++ } ++ ++ os_tail = lang_os_list.tail; ++ lang_list_init (&add); ++ ++ if (!load_symbols (&s->input_statement, &add)) ++ config.make_executable = false; ++ ++ if (add.head != NULL) ++ { ++ /* If this was a script with output sections then ++ tack any added statements on to the end of the ++ list. This avoids having to reorder the output ++ section statement list. Very likely the user ++ forgot -T, and whatever we do here will not meet ++ naive user expectations. */ ++ if (os_tail != lang_os_list.tail) ++ { ++ einfo (_("%P: warning: %s contains output sections;" ++ " did you forget -T?\n"), ++ s->input_statement.filename); ++ *stat_ptr->tail = add.head; ++ stat_ptr->tail = add.tail; ++ } ++ else ++ { ++ *add.tail = s->header.next; ++ s->header.next = add.head; ++ } ++ } ++ } ++#if BFD_SUPPORTS_PLUGINS ++ /* If we have found the point at which a plugin added new ++ files, clear plugin_insert to enable archive rescan. */ ++ if (&s->input_statement == plugin_insert) ++ plugin_insert = NULL; ++#endif ++ break; ++ case lang_assignment_statement_enum: ++ if (s->assignment_statement.exp->type.node_class != etree_assert) ++ exp_fold_tree_no_dot (s->assignment_statement.exp); ++ break; ++ default: ++ break; ++ } ++ } ++ ++ /* Exit if any of the files were missing. */ ++ if (input_flags.missing_file) ++ einfo ("%F"); ++} ++ ++#ifdef ENABLE_LIBCTF ++/* Emit CTF errors and warnings. fp can be NULL to report errors/warnings ++ that happened specifically at CTF open time. */ ++static void ++lang_ctf_errs_warnings (ctf_dict_t *fp) ++{ ++ ctf_next_t *i = NULL; ++ char *text; ++ int is_warning; ++ int err; ++ ++ while ((text = ctf_errwarning_next (fp, &i, &is_warning, &err)) != NULL) ++ { ++ einfo (_("%s: %s\n"), is_warning ? _("CTF warning"): _("CTF error"), ++ text); ++ free (text); ++ } ++ if (err != ECTF_NEXT_END) ++ { ++ einfo (_("CTF error: cannot get CTF errors: `%s'\n"), ++ ctf_errmsg (err)); ++ } ++ ++ /* `err' returns errors from the error/warning iterator in particular. ++ These never assert. But if we have an fp, that could have recorded ++ an assertion failure: assert if it has done so. */ ++ ASSERT (!fp || ctf_errno (fp) != ECTF_INTERNAL); ++} ++ ++/* Open the CTF sections in the input files with libctf: if any were opened, ++ create a fake input file that we'll write the merged CTF data to later ++ on. */ ++ ++static void ++ldlang_open_ctf (void) ++{ ++ int any_ctf = 0; ++ int err; ++ ++ LANG_FOR_EACH_INPUT_STATEMENT (file) ++ { ++ asection *sect; ++ ++ /* Incoming files from the compiler have a single ctf_dict_t in them ++ (which is presented to us by the libctf API in a ctf_archive_t ++ wrapper): files derived from a previous relocatable link have a CTF ++ archive containing possibly many CTF files. */ ++ ++ if ((file->the_ctf = ctf_bfdopen (file->the_bfd, &err)) == NULL) ++ { ++ if (err != ECTF_NOCTFDATA) ++ { ++ lang_ctf_errs_warnings (NULL); ++ einfo (_("%P: warning: CTF section in %pB not loaded; " ++ "its types will be discarded: %s\n"), file->the_bfd, ++ ctf_errmsg (err)); ++ } ++ continue; ++ } ++ ++ /* Prevent the contents of this section from being written, while ++ requiring the section itself to be duplicated in the output, but only ++ once. */ ++ /* This section must exist if ctf_bfdopen() succeeded. */ ++ sect = bfd_get_section_by_name (file->the_bfd, ".ctf"); ++ sect->size = 0; ++ sect->flags |= SEC_NEVER_LOAD | SEC_HAS_CONTENTS | SEC_LINKER_CREATED; ++ ++ if (any_ctf) ++ sect->flags |= SEC_EXCLUDE; ++ any_ctf = 1; ++ } ++ ++ if (!any_ctf) ++ { ++ ctf_output = NULL; ++ return; ++ } ++ ++ if ((ctf_output = ctf_create (&err)) != NULL) ++ return; ++ ++ einfo (_("%P: warning: CTF output not created: `%s'\n"), ++ ctf_errmsg (err)); ++ ++ LANG_FOR_EACH_INPUT_STATEMENT (errfile) ++ ctf_close (errfile->the_ctf); ++} ++ ++/* Merge together CTF sections. After this, only the symtab-dependent ++ function and data object sections need adjustment. */ ++ ++static void ++lang_merge_ctf (void) ++{ ++ asection *output_sect; ++ int flags = 0; ++ ++ if (!ctf_output) ++ return; ++ ++ output_sect = bfd_get_section_by_name (link_info.output_bfd, ".ctf"); ++ ++ /* If the section was discarded, don't waste time merging. */ ++ if (output_sect == NULL) ++ { ++ ctf_dict_close (ctf_output); ++ ctf_output = NULL; ++ ++ LANG_FOR_EACH_INPUT_STATEMENT (file) ++ { ++ ctf_close (file->the_ctf); ++ file->the_ctf = NULL; ++ } ++ return; ++ } ++ ++ LANG_FOR_EACH_INPUT_STATEMENT (file) ++ { ++ if (!file->the_ctf) ++ continue; ++ ++ /* Takes ownership of file->the_ctf. */ ++ if (ctf_link_add_ctf (ctf_output, file->the_ctf, file->filename) < 0) ++ { ++ einfo (_("%P: warning: CTF section in %pB cannot be linked: `%s'\n"), ++ file->the_bfd, ctf_errmsg (ctf_errno (ctf_output))); ++ ctf_close (file->the_ctf); ++ file->the_ctf = NULL; ++ continue; ++ } ++ } ++ ++ if (!config.ctf_share_duplicated) ++ flags = CTF_LINK_SHARE_UNCONFLICTED; ++ else ++ flags = CTF_LINK_SHARE_DUPLICATED; ++ if (!config.ctf_variables) ++ flags |= CTF_LINK_OMIT_VARIABLES_SECTION; ++ if (bfd_link_relocatable (&link_info)) ++ flags |= CTF_LINK_NO_FILTER_REPORTED_SYMS; ++ ++ if (ctf_link (ctf_output, flags) < 0) ++ { ++ lang_ctf_errs_warnings (ctf_output); ++ einfo (_("%P: warning: CTF linking failed; " ++ "output will have no CTF section: %s\n"), ++ ctf_errmsg (ctf_errno (ctf_output))); ++ if (output_sect) ++ { ++ output_sect->size = 0; ++ output_sect->flags |= SEC_EXCLUDE; ++ } ++ } ++ /* Output any lingering errors that didn't come from ctf_link. */ ++ lang_ctf_errs_warnings (ctf_output); ++} ++ ++/* Let the emulation acquire strings from the dynamic strtab to help it optimize ++ the CTF, if supported. */ ++ ++void ++ldlang_ctf_acquire_strings (struct elf_strtab_hash *dynstrtab) ++{ ++ ldemul_acquire_strings_for_ctf (ctf_output, dynstrtab); ++} ++ ++/* Inform the emulation about the addition of a new dynamic symbol, in BFD ++ internal format. */ ++void ldlang_ctf_new_dynsym (int symidx, struct elf_internal_sym *sym) ++{ ++ ldemul_new_dynsym_for_ctf (ctf_output, symidx, sym); ++} ++ ++/* Write out the CTF section. Called early, if the emulation isn't going to ++ need to dedup against the strtab and symtab, then possibly called from the ++ target linker code if the dedup has happened. */ ++static void ++lang_write_ctf (int late) ++{ ++ size_t output_size; ++ asection *output_sect; ++ ++ if (!ctf_output) ++ return; ++ ++ if (late) ++ { ++ /* Emit CTF late if this emulation says it can do so. */ ++ if (ldemul_emit_ctf_early ()) ++ return; ++ } ++ else ++ { ++ if (!ldemul_emit_ctf_early ()) ++ return; ++ } ++ ++ /* Inform the emulation that all the symbols that will be received have ++ been. */ ++ ++ ldemul_new_dynsym_for_ctf (ctf_output, 0, NULL); ++ ++ /* Emit CTF. */ ++ ++ output_sect = bfd_get_section_by_name (link_info.output_bfd, ".ctf"); ++ if (output_sect) ++ { ++ output_sect->contents = ctf_link_write (ctf_output, &output_size, ++ CTF_COMPRESSION_THRESHOLD); ++ output_sect->size = output_size; ++ output_sect->flags |= SEC_IN_MEMORY | SEC_KEEP; ++ ++ lang_ctf_errs_warnings (ctf_output); ++ if (!output_sect->contents) ++ { ++ einfo (_("%P: warning: CTF section emission failed; " ++ "output will have no CTF section: %s\n"), ++ ctf_errmsg (ctf_errno (ctf_output))); ++ output_sect->size = 0; ++ output_sect->flags |= SEC_EXCLUDE; ++ } ++ } ++ ++ /* This also closes every CTF input file used in the link. */ ++ ctf_dict_close (ctf_output); ++ ctf_output = NULL; ++ ++ LANG_FOR_EACH_INPUT_STATEMENT (file) ++ file->the_ctf = NULL; ++} ++ ++/* Write out the CTF section late, if the emulation needs that. */ ++ ++void ++ldlang_write_ctf_late (void) ++{ ++ /* Trigger a "late call", if the emulation needs one. */ ++ ++ lang_write_ctf (1); ++} ++#else ++static void ++ldlang_open_ctf (void) ++{ ++ LANG_FOR_EACH_INPUT_STATEMENT (file) ++ { ++ asection *sect; ++ ++ /* If built without CTF, warn and delete all CTF sections from the output. ++ (The alternative would be to simply concatenate them, which does not ++ yield a valid CTF section.) */ ++ ++ if ((sect = bfd_get_section_by_name (file->the_bfd, ".ctf")) != NULL) ++ { ++ einfo (_("%P: warning: CTF section in %pB not linkable: " ++ "%P was built without support for CTF\n"), file->the_bfd); ++ sect->size = 0; ++ sect->flags |= SEC_EXCLUDE; ++ } ++ } ++} ++ ++static void lang_merge_ctf (void) {} ++void ++ldlang_ctf_acquire_strings (struct elf_strtab_hash *dynstrtab ++ ATTRIBUTE_UNUSED) {} ++void ++ldlang_ctf_new_dynsym (int symidx ATTRIBUTE_UNUSED, ++ struct elf_internal_sym *sym ATTRIBUTE_UNUSED) {} ++static void lang_write_ctf (int late ATTRIBUTE_UNUSED) {} ++void ldlang_write_ctf_late (void) {} ++#endif ++ ++/* Add the supplied name to the symbol table as an undefined reference. ++ This is a two step process as the symbol table doesn't even exist at ++ the time the ld command line is processed. First we put the name ++ on a list, then, once the output file has been opened, transfer the ++ name to the symbol table. */ ++ ++typedef struct bfd_sym_chain ldlang_undef_chain_list_type; ++ ++#define ldlang_undef_chain_list_head entry_symbol.next ++ ++void ++ldlang_add_undef (const char *const name, bool cmdline ATTRIBUTE_UNUSED) ++{ ++ ldlang_undef_chain_list_type *new_undef; ++ ++ new_undef = stat_alloc (sizeof (*new_undef)); ++ new_undef->next = ldlang_undef_chain_list_head; ++ ldlang_undef_chain_list_head = new_undef; ++ ++ new_undef->name = xstrdup (name); ++ ++ if (link_info.output_bfd != NULL) ++ insert_undefined (new_undef->name); ++} ++ ++/* Insert NAME as undefined in the symbol table. */ ++ ++static void ++insert_undefined (const char *name) ++{ ++ struct bfd_link_hash_entry *h; ++ ++ h = bfd_link_hash_lookup (link_info.hash, name, true, false, true); ++ if (h == NULL) ++ einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n")); ++ if (h->type == bfd_link_hash_new) ++ { ++ h->type = bfd_link_hash_undefined; ++ h->u.undef.abfd = NULL; ++ h->non_ir_ref_regular = true; ++ bfd_link_add_undef (link_info.hash, h); ++ } ++} ++ ++/* Run through the list of undefineds created above and place them ++ into the linker hash table as undefined symbols belonging to the ++ script file. */ ++ ++static void ++lang_place_undefineds (void) ++{ ++ ldlang_undef_chain_list_type *ptr; ++ ++ for (ptr = ldlang_undef_chain_list_head; ptr != NULL; ptr = ptr->next) ++ insert_undefined (ptr->name); ++} ++ ++/* Mark -u symbols against garbage collection. */ ++ ++static void ++lang_mark_undefineds (void) ++{ ++ ldlang_undef_chain_list_type *ptr; ++ ++ if (is_elf_hash_table (link_info.hash)) ++ for (ptr = ldlang_undef_chain_list_head; ptr != NULL; ptr = ptr->next) ++ { ++ struct elf_link_hash_entry *h = (struct elf_link_hash_entry *) ++ bfd_link_hash_lookup (link_info.hash, ptr->name, false, false, true); ++ if (h != NULL) ++ h->mark = 1; ++ } ++} ++ ++/* Structure used to build the list of symbols that the user has required ++ be defined. */ ++ ++struct require_defined_symbol ++{ ++ const char *name; ++ struct require_defined_symbol *next; ++}; ++ ++/* The list of symbols that the user has required be defined. */ ++ ++static struct require_defined_symbol *require_defined_symbol_list; ++ ++/* Add a new symbol NAME to the list of symbols that are required to be ++ defined. */ ++ ++void ++ldlang_add_require_defined (const char *const name) ++{ ++ struct require_defined_symbol *ptr; ++ ++ ldlang_add_undef (name, true); ++ ptr = stat_alloc (sizeof (*ptr)); ++ ptr->next = require_defined_symbol_list; ++ ptr->name = strdup (name); ++ require_defined_symbol_list = ptr; ++} ++ ++/* Check that all symbols the user required to be defined, are defined, ++ raise an error if we find a symbol that is not defined. */ ++ ++static void ++ldlang_check_require_defined_symbols (void) ++{ ++ struct require_defined_symbol *ptr; ++ ++ for (ptr = require_defined_symbol_list; ptr != NULL; ptr = ptr->next) ++ { ++ struct bfd_link_hash_entry *h; ++ ++ h = bfd_link_hash_lookup (link_info.hash, ptr->name, ++ false, false, true); ++ if (h == NULL ++ || (h->type != bfd_link_hash_defined ++ && h->type != bfd_link_hash_defweak)) ++ einfo(_("%X%P: required symbol `%s' not defined\n"), ptr->name); ++ } ++} ++ ++/* Check for all readonly or some readwrite sections. */ ++ ++static void ++check_input_sections ++ (lang_statement_union_type *s, ++ lang_output_section_statement_type *output_section_statement) ++{ ++ for (; s != NULL; s = s->header.next) ++ { ++ switch (s->header.type) ++ { ++ case lang_wild_statement_enum: ++ walk_wild (&s->wild_statement, check_section_callback, ++ output_section_statement); ++ if (!output_section_statement->all_input_readonly) ++ return; ++ break; ++ case lang_constructors_statement_enum: ++ check_input_sections (constructor_list.head, ++ output_section_statement); ++ if (!output_section_statement->all_input_readonly) ++ return; ++ break; ++ case lang_group_statement_enum: ++ check_input_sections (s->group_statement.children.head, ++ output_section_statement); ++ if (!output_section_statement->all_input_readonly) ++ return; ++ break; ++ default: ++ break; ++ } ++ } ++} ++ ++/* Update wildcard statements if needed. */ ++ ++static void ++update_wild_statements (lang_statement_union_type *s) ++{ ++ struct wildcard_list *sec; ++ ++ switch (sort_section) ++ { ++ default: ++ FAIL (); ++ ++ case none: ++ break; ++ ++ case by_name: ++ case by_alignment: ++ for (; s != NULL; s = s->header.next) ++ { ++ switch (s->header.type) ++ { ++ default: ++ break; ++ ++ case lang_wild_statement_enum: ++ for (sec = s->wild_statement.section_list; sec != NULL; ++ sec = sec->next) ++ /* Don't sort .init/.fini sections. */ ++ if (strcmp (sec->spec.name, ".init") != 0 ++ && strcmp (sec->spec.name, ".fini") != 0) ++ { ++ switch (sec->spec.sorted) ++ { ++ case none: ++ sec->spec.sorted = sort_section; ++ break; ++ case by_name: ++ if (sort_section == by_alignment) ++ sec->spec.sorted = by_name_alignment; ++ break; ++ case by_alignment: ++ if (sort_section == by_name) ++ sec->spec.sorted = by_alignment_name; ++ break; ++ default: ++ break; ++ } ++ s->wild_statement.any_specs_sorted = true; ++ } ++ break; ++ ++ case lang_constructors_statement_enum: ++ update_wild_statements (constructor_list.head); ++ break; ++ ++ case lang_output_section_statement_enum: ++ update_wild_statements ++ (s->output_section_statement.children.head); ++ break; ++ ++ case lang_group_statement_enum: ++ update_wild_statements (s->group_statement.children.head); ++ break; ++ } ++ } ++ break; ++ } ++} ++ ++/* Open input files and attach to output sections. */ ++ ++static void ++map_input_to_output_sections ++ (lang_statement_union_type *s, const char *target, ++ lang_output_section_statement_type *os) ++{ ++ for (; s != NULL; s = s->header.next) ++ { ++ lang_output_section_statement_type *tos; ++ flagword flags; ++ unsigned int type = 0; ++ ++ switch (s->header.type) ++ { ++ case lang_wild_statement_enum: ++ wild (&s->wild_statement, target, os); ++ break; ++ case lang_constructors_statement_enum: ++ map_input_to_output_sections (constructor_list.head, ++ target, ++ os); ++ break; ++ case lang_output_section_statement_enum: ++ tos = &s->output_section_statement; ++ if (tos->constraint == ONLY_IF_RW ++ || tos->constraint == ONLY_IF_RO) ++ { ++ tos->all_input_readonly = true; ++ check_input_sections (tos->children.head, tos); ++ if (tos->all_input_readonly != (tos->constraint == ONLY_IF_RO)) ++ tos->constraint = -1; ++ } ++ if (tos->constraint >= 0) ++ map_input_to_output_sections (tos->children.head, ++ target, ++ tos); ++ break; ++ case lang_output_statement_enum: ++ break; ++ case lang_target_statement_enum: ++ target = s->target_statement.target; ++ break; ++ case lang_group_statement_enum: ++ map_input_to_output_sections (s->group_statement.children.head, ++ target, ++ os); ++ break; ++ case lang_data_statement_enum: ++ /* Make sure that any sections mentioned in the expression ++ are initialized. */ ++ exp_init_os (s->data_statement.exp); ++ /* The output section gets CONTENTS, ALLOC and LOAD, but ++ these may be overridden by the script. */ ++ flags = SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD; ++ switch (os->sectype) ++ { ++ case normal_section: ++ case overlay_section: ++ case first_overlay_section: ++ break; ++ case noalloc_section: ++ flags = SEC_HAS_CONTENTS; ++ break; ++ case readonly_section: ++ flags |= SEC_READONLY; ++ break; ++ case typed_readonly_section: ++ flags |= SEC_READONLY; ++ /* Fall through. */ ++ case type_section: ++ if (os->sectype_value->type.node_class == etree_name ++ && os->sectype_value->type.node_code == NAME) ++ { ++ const char *name = os->sectype_value->name.name; ++ if (strcmp (name, "SHT_PROGBITS") == 0) ++ type = SHT_PROGBITS; ++ else if (strcmp (name, "SHT_STRTAB") == 0) ++ type = SHT_STRTAB; ++ else if (strcmp (name, "SHT_NOTE") == 0) ++ type = SHT_NOTE; ++ else if (strcmp (name, "SHT_NOBITS") == 0) ++ type = SHT_NOBITS; ++ else if (strcmp (name, "SHT_INIT_ARRAY") == 0) ++ type = SHT_INIT_ARRAY; ++ else if (strcmp (name, "SHT_FINI_ARRAY") == 0) ++ type = SHT_FINI_ARRAY; ++ else if (strcmp (name, "SHT_PREINIT_ARRAY") == 0) ++ type = SHT_PREINIT_ARRAY; ++ else ++ einfo (_ ("%F%P: invalid type for output section `%s'\n"), ++ os->name); ++ } ++ else ++ { ++ exp_fold_tree_no_dot (os->sectype_value); ++ if (expld.result.valid_p) ++ type = expld.result.value; ++ else ++ einfo (_ ("%F%P: invalid type for output section `%s'\n"), ++ os->name); ++ } ++ break; ++ case noload_section: ++ if (bfd_get_flavour (link_info.output_bfd) ++ == bfd_target_elf_flavour) ++ flags = SEC_NEVER_LOAD | SEC_ALLOC; ++ else ++ flags = SEC_NEVER_LOAD | SEC_HAS_CONTENTS; ++ break; ++ } ++ if (os->bfd_section == NULL) ++ init_os (os, flags | SEC_READONLY); ++ else ++ os->bfd_section->flags |= flags; ++ os->bfd_section->type = type; ++ break; ++ case lang_input_section_enum: ++ break; ++ case lang_fill_statement_enum: ++ case lang_object_symbols_statement_enum: ++ case lang_reloc_statement_enum: ++ case lang_padding_statement_enum: ++ case lang_input_statement_enum: ++ if (os != NULL && os->bfd_section == NULL) ++ init_os (os, 0); ++ break; ++ case lang_assignment_statement_enum: ++ if (os != NULL && os->bfd_section == NULL) ++ init_os (os, 0); ++ ++ /* Make sure that any sections mentioned in the assignment ++ are initialized. */ ++ exp_init_os (s->assignment_statement.exp); ++ break; ++ case lang_address_statement_enum: ++ /* Mark the specified section with the supplied address. ++ If this section was actually a segment marker, then the ++ directive is ignored if the linker script explicitly ++ processed the segment marker. Originally, the linker ++ treated segment directives (like -Ttext on the ++ command-line) as section directives. We honor the ++ section directive semantics for backwards compatibility; ++ linker scripts that do not specifically check for ++ SEGMENT_START automatically get the old semantics. */ ++ if (!s->address_statement.segment ++ || !s->address_statement.segment->used) ++ { ++ const char *name = s->address_statement.section_name; ++ ++ /* Create the output section statement here so that ++ orphans with a set address will be placed after other ++ script sections. If we let the orphan placement code ++ place them in amongst other sections then the address ++ will affect following script sections, which is ++ likely to surprise naive users. */ ++ tos = lang_output_section_statement_lookup (name, 0, 1); ++ tos->addr_tree = s->address_statement.address; ++ if (tos->bfd_section == NULL) ++ init_os (tos, 0); ++ } ++ break; ++ case lang_insert_statement_enum: ++ break; ++ case lang_input_matcher_enum: ++ FAIL (); ++ } ++ } ++} ++ ++/* An insert statement snips out all the linker statements from the ++ start of the list and places them after the output section ++ statement specified by the insert. This operation is complicated ++ by the fact that we keep a doubly linked list of output section ++ statements as well as the singly linked list of all statements. ++ FIXME someday: Twiddling with the list not only moves statements ++ from the user's script but also input and group statements that are ++ built from command line object files and --start-group. We only ++ get away with this because the list pointers used by file_chain ++ and input_file_chain are not reordered, and processing via ++ statement_list after this point mostly ignores input statements. ++ One exception is the map file, where LOAD and START GROUP/END GROUP ++ can end up looking odd. */ ++ ++static void ++process_insert_statements (lang_statement_union_type **start) ++{ ++ lang_statement_union_type **s; ++ lang_output_section_statement_type *first_os = NULL; ++ lang_output_section_statement_type *last_os = NULL; ++ lang_output_section_statement_type *os; ++ ++ s = start; ++ while (*s != NULL) ++ { ++ if ((*s)->header.type == lang_output_section_statement_enum) ++ { ++ /* Keep pointers to the first and last output section ++ statement in the sequence we may be about to move. */ ++ os = &(*s)->output_section_statement; ++ ++ ASSERT (last_os == NULL || last_os->next == os); ++ last_os = os; ++ ++ /* Set constraint negative so that lang_output_section_find ++ won't match this output section statement. At this ++ stage in linking constraint has values in the range ++ [-1, ONLY_IN_RW]. */ ++ last_os->constraint = -2 - last_os->constraint; ++ if (first_os == NULL) ++ first_os = last_os; ++ } ++ else if ((*s)->header.type == lang_group_statement_enum) ++ { ++ /* A user might put -T between --start-group and ++ --end-group. One way this odd construct might arise is ++ from a wrapper around ld to change library search ++ behaviour. For example: ++ #! /bin/sh ++ exec real_ld --start-group "$@" --end-group ++ This isn't completely unreasonable so go looking inside a ++ group statement for insert statements. */ ++ process_insert_statements (&(*s)->group_statement.children.head); ++ } ++ else if ((*s)->header.type == lang_insert_statement_enum) ++ { ++ lang_insert_statement_type *i = &(*s)->insert_statement; ++ lang_output_section_statement_type *where; ++ lang_statement_union_type **ptr; ++ lang_statement_union_type *first; ++ ++ if (link_info.non_contiguous_regions) ++ { ++ einfo (_("warning: INSERT statement in linker script is " ++ "incompatible with --enable-non-contiguous-regions.\n")); ++ } ++ ++ where = lang_output_section_find (i->where); ++ if (where != NULL && i->is_before) ++ { ++ do ++ where = where->prev; ++ while (where != NULL && where->constraint < 0); ++ } ++ if (where == NULL) ++ { ++ einfo (_("%F%P: %s not found for insert\n"), i->where); ++ return; ++ } ++ ++ /* Deal with reordering the output section statement list. */ ++ if (last_os != NULL) ++ { ++ asection *first_sec, *last_sec; ++ struct lang_output_section_statement_struct **next; ++ ++ /* Snip out the output sections we are moving. */ ++ first_os->prev->next = last_os->next; ++ if (last_os->next == NULL) ++ { ++ next = &first_os->prev->next; ++ lang_os_list.tail = (lang_statement_union_type **) next; ++ } ++ else ++ last_os->next->prev = first_os->prev; ++ /* Add them in at the new position. */ ++ last_os->next = where->next; ++ if (where->next == NULL) ++ { ++ next = &last_os->next; ++ lang_os_list.tail = (lang_statement_union_type **) next; ++ } ++ else ++ where->next->prev = last_os; ++ first_os->prev = where; ++ where->next = first_os; ++ ++ /* Move the bfd sections in the same way. */ ++ first_sec = NULL; ++ last_sec = NULL; ++ for (os = first_os; os != NULL; os = os->next) ++ { ++ os->constraint = -2 - os->constraint; ++ if (os->bfd_section != NULL ++ && os->bfd_section->owner != NULL) ++ { ++ last_sec = os->bfd_section; ++ if (first_sec == NULL) ++ first_sec = last_sec; ++ } ++ if (os == last_os) ++ break; ++ } ++ if (last_sec != NULL) ++ { ++ asection *sec = where->bfd_section; ++ if (sec == NULL) ++ sec = output_prev_sec_find (where); ++ ++ /* The place we want to insert must come after the ++ sections we are moving. So if we find no ++ section or if the section is the same as our ++ last section, then no move is needed. */ ++ if (sec != NULL && sec != last_sec) ++ { ++ /* Trim them off. */ ++ if (first_sec->prev != NULL) ++ first_sec->prev->next = last_sec->next; ++ else ++ link_info.output_bfd->sections = last_sec->next; ++ if (last_sec->next != NULL) ++ last_sec->next->prev = first_sec->prev; ++ else ++ link_info.output_bfd->section_last = first_sec->prev; ++ /* Add back. */ ++ if (sec->owner == NULL) ++ /* SEC is the absolute section, from the ++ first dummy output section statement. Add ++ back the sections we trimmed off to the ++ start of the bfd sections. */ ++ sec = NULL; ++ if (sec != NULL) ++ last_sec->next = sec->next; ++ else ++ last_sec->next = link_info.output_bfd->sections; ++ if (last_sec->next != NULL) ++ last_sec->next->prev = last_sec; ++ else ++ link_info.output_bfd->section_last = last_sec; ++ first_sec->prev = sec; ++ if (first_sec->prev != NULL) ++ first_sec->prev->next = first_sec; ++ else ++ link_info.output_bfd->sections = first_sec; ++ } ++ } ++ } ++ ++ lang_statement_union_type *after = (void *) where; ++ if (where == &lang_os_list.head->output_section_statement ++ && where->next == first_os) ++ { ++ /* PR30155. Handle a corner case where the statement ++ list is something like the following: ++ . LOAD t.o ++ . .data 0x0000000000000000 0x0 ++ . [0x0000000000000000] b = . ++ . *(.data) ++ . .data 0x0000000000000000 0x0 t.o ++ . 0x0000000000000000 0x4 LONG 0x0 ++ . INSERT BEFORE .text.start ++ . [0x0000000000000004] a = . ++ . .text.start 0x0000000000000000 0x0 ++ . [0x0000000000000000] c = . ++ . OUTPUT(a.out elf64-x86-64) ++ Here we do not want to allow insert_os_after to ++ choose a point inside the list we are moving. ++ That would lose the list. Instead, let ++ insert_os_after work from the INSERT, which in this ++ particular example will result in inserting after ++ the assignment "a = .". */ ++ after = *s; ++ } ++ ptr = insert_os_after (after); ++ /* Snip everything from the start of the list, up to and ++ including the insert statement we are currently processing. */ ++ first = *start; ++ *start = (*s)->header.next; ++ /* Add them back where they belong, minus the insert. */ ++ *s = *ptr; ++ if (*s == NULL) ++ statement_list.tail = s; ++ *ptr = first; ++ s = start; ++ first_os = NULL; ++ last_os = NULL; ++ continue; ++ } ++ s = &(*s)->header.next; ++ } ++ ++ /* Undo constraint twiddling. */ ++ for (os = first_os; os != NULL; os = os->next) ++ { ++ os->constraint = -2 - os->constraint; ++ if (os == last_os) ++ break; ++ } ++} ++ ++/* An output section might have been removed after its statement was ++ added. For example, ldemul_before_allocation can remove dynamic ++ sections if they turn out to be not needed. Clean them up here. */ ++ ++void ++strip_excluded_output_sections (void) ++{ ++ lang_output_section_statement_type *os; ++ ++ /* Run lang_size_sections (if not already done). */ ++ if (expld.phase != lang_mark_phase_enum) ++ { ++ expld.phase = lang_mark_phase_enum; ++ expld.dataseg.phase = exp_seg_none; ++ one_lang_size_sections_pass (NULL, false); ++ lang_reset_memory_regions (); ++ } ++ ++ for (os = (void *) lang_os_list.head; ++ os != NULL; ++ os = os->next) ++ { ++ asection *output_section; ++ bool exclude; ++ ++ if (os->constraint < 0) ++ continue; ++ ++ output_section = os->bfd_section; ++ if (output_section == NULL) ++ continue; ++ ++ exclude = (output_section->rawsize == 0 ++ && (output_section->flags & SEC_KEEP) == 0 ++ && !bfd_section_removed_from_list (link_info.output_bfd, ++ output_section)); ++ ++ /* Some sections have not yet been sized, notably .gnu.version, ++ .dynsym, .dynstr and .hash. These all have SEC_LINKER_CREATED ++ input sections, so don't drop output sections that have such ++ input sections unless they are also marked SEC_EXCLUDE. */ ++ if (exclude && output_section->map_head.s != NULL) ++ { ++ asection *s; ++ ++ for (s = output_section->map_head.s; s != NULL; s = s->map_head.s) ++ if ((s->flags & SEC_EXCLUDE) == 0 ++ && ((s->flags & SEC_LINKER_CREATED) != 0 ++ || link_info.emitrelocations)) ++ { ++ exclude = false; ++ break; ++ } ++ } ++ ++ if (exclude) ++ { ++ /* We don't set bfd_section to NULL since bfd_section of the ++ removed output section statement may still be used. */ ++ if (!os->update_dot) ++ os->ignored = true; ++ output_section->flags |= SEC_EXCLUDE; ++ bfd_section_list_remove (link_info.output_bfd, output_section); ++ link_info.output_bfd->section_count--; ++ } ++ } ++} ++ ++/* Called from ldwrite to clear out asection.map_head and ++ asection.map_tail for use as link_orders in ldwrite. */ ++ ++void ++lang_clear_os_map (void) ++{ ++ lang_output_section_statement_type *os; ++ ++ if (map_head_is_link_order) ++ return; ++ ++ for (os = (void *) lang_os_list.head; ++ os != NULL; ++ os = os->next) ++ { ++ asection *output_section; ++ ++ if (os->constraint < 0) ++ continue; ++ ++ output_section = os->bfd_section; ++ if (output_section == NULL) ++ continue; ++ ++ /* TODO: Don't just junk map_head.s, turn them into link_orders. */ ++ output_section->map_head.link_order = NULL; ++ output_section->map_tail.link_order = NULL; ++ } ++ ++ /* Stop future calls to lang_add_section from messing with map_head ++ and map_tail link_order fields. */ ++ map_head_is_link_order = true; ++} ++ ++static void ++print_output_section_statement ++ (lang_output_section_statement_type *output_section_statement) ++{ ++ asection *section = output_section_statement->bfd_section; ++ int len; ++ ++ if (output_section_statement != abs_output_section) ++ { ++ minfo ("\n%s", output_section_statement->name); ++ ++ if (section != NULL) ++ { ++ print_dot = section->vma; ++ ++ len = strlen (output_section_statement->name); ++ if (len >= SECTION_NAME_MAP_LENGTH - 1) ++ { ++ print_nl (); ++ len = 0; ++ } ++ print_spaces (SECTION_NAME_MAP_LENGTH - len); ++ ++ minfo ("0x%V %W", section->vma, TO_ADDR (section->size)); ++ ++ if (section->vma != section->lma) ++ minfo (_(" load address 0x%V"), section->lma); ++ ++ if (output_section_statement->update_dot_tree != NULL) ++ exp_fold_tree (output_section_statement->update_dot_tree, ++ bfd_abs_section_ptr, &print_dot); ++ } ++ ++ print_nl (); ++ } ++ ++ print_statement_list (output_section_statement->children.head, ++ output_section_statement); ++} ++ ++static void ++print_assignment (lang_assignment_statement_type *assignment, ++ lang_output_section_statement_type *output_section) ++{ ++ bool is_dot; ++ etree_type *tree; ++ asection *osec; ++ ++ print_spaces (SECTION_NAME_MAP_LENGTH); ++ ++ if (assignment->exp->type.node_class == etree_assert) ++ { ++ is_dot = false; ++ tree = assignment->exp->assert_s.child; ++ } ++ else ++ { ++ const char *dst = assignment->exp->assign.dst; ++ ++ is_dot = (dst[0] == '.' && dst[1] == 0); ++ tree = assignment->exp; ++ } ++ ++ osec = output_section->bfd_section; ++ if (osec == NULL) ++ osec = bfd_abs_section_ptr; ++ ++ if (assignment->exp->type.node_class != etree_provide) ++ exp_fold_tree (tree, osec, &print_dot); ++ else ++ expld.result.valid_p = false; ++ ++ char buf[32]; ++ const char *str = buf; ++ if (expld.result.valid_p) ++ { ++ bfd_vma value; ++ ++ if (assignment->exp->type.node_class == etree_assert ++ || is_dot ++ || expld.assign_name != NULL) ++ { ++ value = expld.result.value; ++ ++ if (expld.result.section != NULL) ++ value += expld.result.section->vma; ++ ++ buf[0] = '0'; ++ buf[1] = 'x'; ++ bfd_sprintf_vma (link_info.output_bfd, buf + 2, value); ++ if (is_dot) ++ print_dot = value; ++ } ++ else ++ { ++ struct bfd_link_hash_entry *h; ++ ++ h = bfd_link_hash_lookup (link_info.hash, assignment->exp->assign.dst, ++ false, false, true); ++ if (h != NULL ++ && (h->type == bfd_link_hash_defined ++ || h->type == bfd_link_hash_defweak)) ++ { ++ value = h->u.def.value; ++ value += h->u.def.section->output_section->vma; ++ value += h->u.def.section->output_offset; ++ ++ buf[0] = '['; ++ buf[1] = '0'; ++ buf[2] = 'x'; ++ bfd_sprintf_vma (link_info.output_bfd, buf + 3, value); ++ strcat (buf, "]"); ++ } ++ else ++ str = "[unresolved]"; ++ } ++ } ++ else ++ { ++ if (assignment->exp->type.node_class == etree_provide) ++ str = "[!provide]"; ++ else ++ str = "*undef*"; ++ } ++ expld.assign_name = NULL; ++ ++ fprintf (config.map_file, "%-34s", str); ++ exp_print_tree (assignment->exp); ++ print_nl (); ++} ++ ++static void ++print_input_statement (lang_input_statement_type *statm) ++{ ++ if (statm->filename != NULL) ++ fprintf (config.map_file, "LOAD %s\n", statm->filename); ++} ++ ++/* Print all symbols defined in a particular section. This is called ++ via bfd_link_hash_traverse, or by print_all_symbols. */ ++ ++bool ++print_one_symbol (struct bfd_link_hash_entry *hash_entry, void *ptr) ++{ ++ asection *sec = (asection *) ptr; ++ ++ if ((hash_entry->type == bfd_link_hash_defined ++ || hash_entry->type == bfd_link_hash_defweak) ++ && sec == hash_entry->u.def.section) ++ { ++ print_spaces (SECTION_NAME_MAP_LENGTH); ++ minfo ("0x%V ", ++ (hash_entry->u.def.value ++ + hash_entry->u.def.section->output_offset ++ + hash_entry->u.def.section->output_section->vma)); ++ ++ minfo (" %pT\n", hash_entry->root.string); ++ } ++ ++ return true; ++} ++ ++static int ++hash_entry_addr_cmp (const void *a, const void *b) ++{ ++ const struct bfd_link_hash_entry *l = *(const struct bfd_link_hash_entry **)a; ++ const struct bfd_link_hash_entry *r = *(const struct bfd_link_hash_entry **)b; ++ ++ if (l->u.def.value < r->u.def.value) ++ return -1; ++ else if (l->u.def.value > r->u.def.value) ++ return 1; ++ else ++ return 0; ++} ++ ++static void ++print_all_symbols (asection *sec) ++{ ++ input_section_userdata_type *ud = bfd_section_userdata (sec); ++ struct map_symbol_def *def; ++ struct bfd_link_hash_entry **entries; ++ unsigned int i; ++ ++ if (!ud) ++ return; ++ ++ *ud->map_symbol_def_tail = 0; ++ ++ /* Sort the symbols by address. */ ++ entries = (struct bfd_link_hash_entry **) ++ obstack_alloc (&map_obstack, ++ ud->map_symbol_def_count * sizeof (*entries)); ++ ++ for (i = 0, def = ud->map_symbol_def_head; def; def = def->next, i++) ++ entries[i] = def->entry; ++ ++ qsort (entries, ud->map_symbol_def_count, sizeof (*entries), ++ hash_entry_addr_cmp); ++ ++ /* Print the symbols. */ ++ for (i = 0; i < ud->map_symbol_def_count; i++) ++ ldemul_print_symbol (entries[i], sec); ++ ++ obstack_free (&map_obstack, entries); ++} ++ ++/* Returns TRUE if SYM is a symbol suitable for printing ++ in a linker map as a local symbol. */ ++ ++static bool ++ld_is_local_symbol (asymbol * sym) ++{ ++ const char * name = bfd_asymbol_name (sym); ++ ++ if (name == NULL || *name == 0) ++ return false; ++ ++ if (strcmp (name, "(null)") == 0) ++ return false; ++ ++ /* Skip .Lxxx and such like. */ ++ if (bfd_is_local_label (link_info.output_bfd, sym)) ++ return false; ++ ++ /* FIXME: This is intended to skip ARM mapping symbols, ++ which for some reason are not excluded by bfd_is_local_label, ++ but maybe it is wrong for other architectures. ++ It would be better to fix bfd_is_local_label. */ ++ if (*name == '$') ++ return false; ++ ++ /* Some local symbols, eg _GLOBAL_OFFSET_TABLE_, are present ++ in the hash table, so do not print duplicates here. */ ++ struct bfd_link_hash_entry * h; ++ h = bfd_link_hash_lookup (link_info.hash, name, false /* create */, ++ false /* copy */, true /* follow */); ++ if (h == NULL) ++ return true; ++ ++ /* Symbols from the plugin owned BFD will not get their own ++ iteration of this function, but can be on the link_info ++ list. So include them here. */ ++ if (h->u.def.section->owner != NULL ++ && ((bfd_get_file_flags (h->u.def.section->owner) & (BFD_LINKER_CREATED | BFD_PLUGIN)) ++ == (BFD_LINKER_CREATED | BFD_PLUGIN))) ++ return true; ++ ++ return false; ++} ++ ++/* Print information about an input section to the map file. */ ++ ++static void ++print_input_section (asection *i, bool is_discarded) ++{ ++ bfd_size_type size = i->size; ++ int len; ++ bfd_vma addr; ++ ++ init_opb (i); ++ ++ minfo (" %s", i->name); ++ ++ len = 1 + strlen (i->name); ++ if (len >= SECTION_NAME_MAP_LENGTH - 1) ++ { ++ print_nl (); ++ len = 0; ++ } ++ print_spaces (SECTION_NAME_MAP_LENGTH - len); ++ ++ if (i->output_section != NULL ++ && i->output_section->owner == link_info.output_bfd) ++ addr = i->output_section->vma + i->output_offset; ++ else ++ { ++ addr = print_dot; ++ if (!is_discarded) ++ size = 0; ++ } ++ ++ char buf[32]; ++ bfd_sprintf_vma (link_info.output_bfd, buf, addr); ++ minfo ("0x%s %W %pB\n", buf, TO_ADDR (size), i->owner); ++ ++ if (size != i->rawsize && i->rawsize != 0) ++ { ++ len = SECTION_NAME_MAP_LENGTH + 3 + strlen (buf); ++ print_spaces (len); ++ minfo (_("%W (size before relaxing)\n"), TO_ADDR (i->rawsize)); ++ } ++ ++ if (i->output_section != NULL ++ && i->output_section->owner == link_info.output_bfd) ++ { ++ if (link_info.reduce_memory_overheads) ++ bfd_link_hash_traverse (link_info.hash, ldemul_print_symbol, i); ++ else ++ print_all_symbols (i); ++ ++ /* Update print_dot, but make sure that we do not move it ++ backwards - this could happen if we have overlays and a ++ later overlay is shorter than an earier one. */ ++ if (addr + TO_ADDR (size) > print_dot) ++ print_dot = addr + TO_ADDR (size); ++ ++ if (config.print_map_locals) ++ { ++ long storage_needed; ++ ++ /* FIXME: It would be better to cache this table, rather ++ than recreating it for each output section. */ ++ /* FIXME: This call is not working for non-ELF based targets. ++ Find out why. */ ++ storage_needed = bfd_get_symtab_upper_bound (link_info.output_bfd); ++ if (storage_needed > 0) ++ { ++ asymbol ** symbol_table; ++ long number_of_symbols; ++ long j; ++ ++ symbol_table = xmalloc (storage_needed); ++ number_of_symbols = bfd_canonicalize_symtab (link_info.output_bfd, symbol_table); ++ ++ for (j = 0; j < number_of_symbols; j++) ++ { ++ asymbol * sym = symbol_table[j]; ++ bfd_vma sym_addr = sym->value + i->output_section->vma; ++ ++ if (sym->section == i->output_section ++ && (sym->flags & BSF_LOCAL) != 0 ++ && sym_addr >= addr ++ && sym_addr < print_dot ++ && ld_is_local_symbol (sym)) ++ { ++ print_spaces (SECTION_NAME_MAP_LENGTH); ++ minfo ("0x%V (local) %s\n", sym_addr, bfd_asymbol_name (sym)); ++ } ++ } ++ ++ free (symbol_table); ++ } ++ } ++ } ++} ++ ++static void ++print_fill_statement (lang_fill_statement_type *fill) ++{ ++ size_t size; ++ unsigned char *p; ++ fputs (" FILL mask 0x", config.map_file); ++ for (p = fill->fill->data, size = fill->fill->size; size != 0; p++, size--) ++ fprintf (config.map_file, "%02x", *p); ++ fputs ("\n", config.map_file); ++} ++ ++static void ++print_data_statement (lang_data_statement_type *data) ++{ ++ bfd_vma addr; ++ bfd_size_type size; ++ const char *name; ++ ++ init_opb (data->output_section); ++ print_spaces (SECTION_NAME_MAP_LENGTH); ++ ++ addr = data->output_offset; ++ if (data->output_section != NULL) ++ addr += data->output_section->vma; ++ ++ switch (data->type) ++ { ++ default: ++ abort (); ++ case BYTE: ++ size = BYTE_SIZE; ++ name = "BYTE"; ++ break; ++ case SHORT: ++ size = SHORT_SIZE; ++ name = "SHORT"; ++ break; ++ case LONG: ++ size = LONG_SIZE; ++ name = "LONG"; ++ break; ++ case QUAD: ++ size = QUAD_SIZE; ++ name = "QUAD"; ++ break; ++ case SQUAD: ++ size = QUAD_SIZE; ++ name = "SQUAD"; ++ break; ++ } ++ ++ if (size < TO_SIZE ((unsigned) 1)) ++ size = TO_SIZE ((unsigned) 1); ++ minfo ("0x%V %W %s 0x%v", addr, TO_ADDR (size), name, data->value); ++ ++ if (data->exp->type.node_class != etree_value) ++ { ++ print_space (); ++ exp_print_tree (data->exp); ++ } ++ ++ print_nl (); ++ ++ print_dot = addr + TO_ADDR (size); ++} ++ ++/* Print an address statement. These are generated by options like ++ -Ttext. */ ++ ++static void ++print_address_statement (lang_address_statement_type *address) ++{ ++ minfo (_("Address of section %s set to "), address->section_name); ++ exp_print_tree (address->address); ++ print_nl (); ++} ++ ++/* Print a reloc statement. */ ++ ++static void ++print_reloc_statement (lang_reloc_statement_type *reloc) ++{ ++ bfd_vma addr; ++ bfd_size_type size; ++ ++ init_opb (reloc->output_section); ++ print_spaces (SECTION_NAME_MAP_LENGTH); ++ ++ addr = reloc->output_offset; ++ if (reloc->output_section != NULL) ++ addr += reloc->output_section->vma; ++ ++ size = bfd_get_reloc_size (reloc->howto); ++ ++ minfo ("0x%V %W RELOC %s ", addr, TO_ADDR (size), reloc->howto->name); ++ ++ if (reloc->name != NULL) ++ minfo ("%s+", reloc->name); ++ else ++ minfo ("%s+", reloc->section->name); ++ ++ exp_print_tree (reloc->addend_exp); ++ ++ print_nl (); ++ ++ print_dot = addr + TO_ADDR (size); ++} ++ ++static void ++print_padding_statement (lang_padding_statement_type *s) ++{ ++ int len; ++ bfd_vma addr; ++ ++ init_opb (s->output_section); ++ minfo (" *fill*"); ++ ++ len = sizeof " *fill*" - 1; ++ print_spaces (SECTION_NAME_MAP_LENGTH - len); ++ ++ addr = s->output_offset; ++ if (s->output_section != NULL) ++ addr += s->output_section->vma; ++ minfo ("0x%V %W ", addr, TO_ADDR (s->size)); ++ ++ if (s->fill->size != 0) ++ { ++ size_t size; ++ unsigned char *p; ++ for (p = s->fill->data, size = s->fill->size; size != 0; p++, size--) ++ fprintf (config.map_file, "%02x", *p); ++ } ++ ++ print_nl (); ++ ++ print_dot = addr + TO_ADDR (s->size); ++} ++ ++static void ++print_wild_statement (lang_wild_statement_type *w, ++ lang_output_section_statement_type *os) ++{ ++ struct wildcard_list *sec; ++ ++ print_space (); ++ ++ if (w->exclude_name_list) ++ { ++ name_list *tmp; ++ minfo ("EXCLUDE_FILE(%s", w->exclude_name_list->name); ++ for (tmp = w->exclude_name_list->next; tmp; tmp = tmp->next) ++ minfo (" %s", tmp->name); ++ minfo (") "); ++ } ++ ++ if (w->filenames_sorted) ++ minfo ("SORT_BY_NAME("); ++ if (w->filename != NULL) ++ minfo ("%s", w->filename); ++ else ++ minfo ("*"); ++ if (w->filenames_sorted) ++ minfo (")"); ++ ++ minfo ("("); ++ for (sec = w->section_list; sec; sec = sec->next) ++ { ++ int closing_paren = 0; ++ ++ switch (sec->spec.sorted) ++ { ++ case none: ++ break; ++ ++ case by_name: ++ minfo ("SORT_BY_NAME("); ++ closing_paren = 1; ++ break; ++ ++ case by_alignment: ++ minfo ("SORT_BY_ALIGNMENT("); ++ closing_paren = 1; ++ break; ++ ++ case by_name_alignment: ++ minfo ("SORT_BY_NAME(SORT_BY_ALIGNMENT("); ++ closing_paren = 2; ++ break; ++ ++ case by_alignment_name: ++ minfo ("SORT_BY_ALIGNMENT(SORT_BY_NAME("); ++ closing_paren = 2; ++ break; ++ ++ case by_none: ++ minfo ("SORT_NONE("); ++ closing_paren = 1; ++ break; ++ ++ case by_init_priority: ++ minfo ("SORT_BY_INIT_PRIORITY("); ++ closing_paren = 1; ++ break; ++ } ++ ++ if (sec->spec.exclude_name_list != NULL) ++ { ++ name_list *tmp; ++ minfo ("EXCLUDE_FILE(%s", sec->spec.exclude_name_list->name); ++ for (tmp = sec->spec.exclude_name_list->next; tmp; tmp = tmp->next) ++ minfo (" %s", tmp->name); ++ minfo (") "); ++ } ++ if (sec->spec.name != NULL) ++ minfo ("%s", sec->spec.name); ++ else ++ minfo ("*"); ++ for (;closing_paren > 0; closing_paren--) ++ minfo (")"); ++ if (sec->next) ++ minfo (" "); ++ } ++ minfo (")"); ++ ++ print_nl (); ++ ++ print_statement_list (w->children.head, os); ++} ++ ++/* Print a group statement. */ ++ ++static void ++print_group (lang_group_statement_type *s, ++ lang_output_section_statement_type *os) ++{ ++ fprintf (config.map_file, "START GROUP\n"); ++ print_statement_list (s->children.head, os); ++ fprintf (config.map_file, "END GROUP\n"); ++} ++ ++/* Print the list of statements in S. ++ This can be called for any statement type. */ ++ ++static void ++print_statement_list (lang_statement_union_type *s, ++ lang_output_section_statement_type *os) ++{ ++ while (s != NULL) ++ { ++ print_statement (s, os); ++ s = s->header.next; ++ } ++} ++ ++/* Print the first statement in statement list S. ++ This can be called for any statement type. */ ++ ++static void ++print_statement (lang_statement_union_type *s, ++ lang_output_section_statement_type *os) ++{ ++ switch (s->header.type) ++ { ++ default: ++ fprintf (config.map_file, _("Fail with %d\n"), s->header.type); ++ FAIL (); ++ break; ++ case lang_constructors_statement_enum: ++ if (constructor_list.head != NULL) ++ { ++ if (constructors_sorted) ++ minfo (" SORT (CONSTRUCTORS)\n"); ++ else ++ minfo (" CONSTRUCTORS\n"); ++ print_statement_list (constructor_list.head, os); ++ } ++ break; ++ case lang_wild_statement_enum: ++ print_wild_statement (&s->wild_statement, os); ++ break; ++ case lang_address_statement_enum: ++ print_address_statement (&s->address_statement); ++ break; ++ case lang_object_symbols_statement_enum: ++ minfo (" CREATE_OBJECT_SYMBOLS\n"); ++ break; ++ case lang_fill_statement_enum: ++ print_fill_statement (&s->fill_statement); ++ break; ++ case lang_data_statement_enum: ++ print_data_statement (&s->data_statement); ++ break; ++ case lang_reloc_statement_enum: ++ print_reloc_statement (&s->reloc_statement); ++ break; ++ case lang_input_section_enum: ++ print_input_section (s->input_section.section, false); ++ break; ++ case lang_padding_statement_enum: ++ print_padding_statement (&s->padding_statement); ++ break; ++ case lang_output_section_statement_enum: ++ print_output_section_statement (&s->output_section_statement); ++ break; ++ case lang_assignment_statement_enum: ++ print_assignment (&s->assignment_statement, os); ++ break; ++ case lang_target_statement_enum: ++ fprintf (config.map_file, "TARGET(%s)\n", s->target_statement.target); ++ break; ++ case lang_output_statement_enum: ++ minfo ("OUTPUT(%s", s->output_statement.name); ++ if (output_target != NULL) ++ minfo (" %s", output_target); ++ minfo (")\n"); ++ break; ++ case lang_input_statement_enum: ++ print_input_statement (&s->input_statement); ++ break; ++ case lang_group_statement_enum: ++ print_group (&s->group_statement, os); ++ break; ++ case lang_insert_statement_enum: ++ minfo ("INSERT %s %s\n", ++ s->insert_statement.is_before ? "BEFORE" : "AFTER", ++ s->insert_statement.where); ++ break; ++ } ++} ++ ++static void ++print_statements (void) ++{ ++ print_statement_list (statement_list.head, abs_output_section); ++} ++ ++/* Print the first N statements in statement list S to STDERR. ++ If N == 0, nothing is printed. ++ If N < 0, the entire list is printed. ++ Intended to be called from GDB. */ ++ ++void ++dprint_statement (lang_statement_union_type *s, int n) ++{ ++ FILE *map_save = config.map_file; ++ ++ config.map_file = stderr; ++ ++ if (n < 0) ++ print_statement_list (s, abs_output_section); ++ else ++ { ++ while (s && --n >= 0) ++ { ++ print_statement (s, abs_output_section); ++ s = s->header.next; ++ } ++ } ++ ++ config.map_file = map_save; ++} ++ ++static void ++insert_pad (lang_statement_union_type **ptr, ++ fill_type *fill, ++ bfd_size_type alignment_needed, ++ asection *output_section, ++ bfd_vma dot) ++{ ++ static fill_type zero_fill; ++ lang_statement_union_type *pad = NULL; ++ ++ if (ptr != &statement_list.head) ++ pad = ((lang_statement_union_type *) ++ ((char *) ptr - offsetof (lang_statement_union_type, header.next))); ++ if (pad != NULL ++ && pad->header.type == lang_padding_statement_enum ++ && pad->padding_statement.output_section == output_section) ++ { ++ /* Use the existing pad statement. */ ++ } ++ else if ((pad = *ptr) != NULL ++ && pad->header.type == lang_padding_statement_enum ++ && pad->padding_statement.output_section == output_section) ++ { ++ /* Use the existing pad statement. */ ++ } ++ else ++ { ++ /* Make a new padding statement, linked into existing chain. */ ++ pad = stat_alloc (sizeof (lang_padding_statement_type)); ++ pad->header.next = *ptr; ++ *ptr = pad; ++ pad->header.type = lang_padding_statement_enum; ++ pad->padding_statement.output_section = output_section; ++ if (fill == NULL) ++ fill = &zero_fill; ++ pad->padding_statement.fill = fill; ++ } ++ pad->padding_statement.output_offset = dot - output_section->vma; ++ pad->padding_statement.size = alignment_needed; ++ if (!(output_section->flags & SEC_FIXED_SIZE)) ++ output_section->size = TO_SIZE (dot + TO_ADDR (alignment_needed) ++ - output_section->vma); ++} ++ ++/* Work out how much this section will move the dot point. */ ++ ++static bfd_vma ++size_input_section ++ (lang_statement_union_type **this_ptr, ++ lang_output_section_statement_type *output_section_statement, ++ fill_type *fill, ++ bool *removed, ++ bfd_vma dot) ++{ ++ lang_input_section_type *is = &((*this_ptr)->input_section); ++ asection *i = is->section; ++ asection *o = output_section_statement->bfd_section; ++ *removed = 0; ++ ++ if (link_info.non_contiguous_regions) ++ { ++ /* If the input section I has already been successfully assigned ++ to an output section other than O, don't bother with it and ++ let the caller remove it from the list. Keep processing in ++ case we have already handled O, because the repeated passes ++ have reinitialized its size. */ ++ if (i->already_assigned && i->already_assigned != o) ++ { ++ *removed = 1; ++ return dot; ++ } ++ } ++ ++ if (i->sec_info_type == SEC_INFO_TYPE_JUST_SYMS) ++ i->output_offset = i->vma - o->vma; ++ else if (((i->flags & SEC_EXCLUDE) != 0) ++ || output_section_statement->ignored) ++ i->output_offset = dot - o->vma; ++ else ++ { ++ bfd_size_type alignment_needed; ++ ++ /* Align this section first to the input sections requirement, ++ then to the output section's requirement. If this alignment ++ is greater than any seen before, then record it too. Perform ++ the alignment by inserting a magic 'padding' statement. */ ++ ++ if (output_section_statement->subsection_alignment != NULL) ++ i->alignment_power ++ = exp_get_power (output_section_statement->subsection_alignment, ++ "subsection alignment"); ++ ++ if (o->alignment_power < i->alignment_power) ++ o->alignment_power = i->alignment_power; ++ ++ alignment_needed = align_power (dot, i->alignment_power) - dot; ++ ++ if (alignment_needed != 0) ++ { ++ insert_pad (this_ptr, fill, TO_SIZE (alignment_needed), o, dot); ++ dot += alignment_needed; ++ } ++ ++ if (link_info.non_contiguous_regions) ++ { ++ /* If I would overflow O, let the caller remove I from the ++ list. */ ++ if (output_section_statement->region) ++ { ++ bfd_vma end = output_section_statement->region->origin ++ + output_section_statement->region->length; ++ ++ if (dot + TO_ADDR (i->size) > end) ++ { ++ if (i->flags & SEC_LINKER_CREATED) ++ einfo (_("%F%P: Output section `%pA' not large enough for " ++ "the linker-created stubs section `%pA'.\n"), ++ i->output_section, i); ++ ++ if (i->rawsize && i->rawsize != i->size) ++ einfo (_("%F%P: Relaxation not supported with " ++ "--enable-non-contiguous-regions (section `%pA' " ++ "would overflow `%pA' after it changed size).\n"), ++ i, i->output_section); ++ ++ *removed = 1; ++ dot = end; ++ i->output_section = NULL; ++ return dot; ++ } ++ } ++ } ++ ++ /* Remember where in the output section this input section goes. */ ++ i->output_offset = dot - o->vma; ++ ++ /* Mark how big the output section must be to contain this now. */ ++ dot += TO_ADDR (i->size); ++ if (!(o->flags & SEC_FIXED_SIZE)) ++ o->size = TO_SIZE (dot - o->vma); ++ ++ if (link_info.non_contiguous_regions) ++ { ++ /* Record that I was successfully assigned to O, and update ++ its actual output section too. */ ++ i->already_assigned = o; ++ i->output_section = o; ++ } ++ } ++ ++ return dot; ++} ++ ++struct check_sec ++{ ++ asection *sec; ++ bool warned; ++}; ++ ++static int ++sort_sections_by_lma (const void *arg1, const void *arg2) ++{ ++ const asection *sec1 = ((const struct check_sec *) arg1)->sec; ++ const asection *sec2 = ((const struct check_sec *) arg2)->sec; ++ ++ if (sec1->lma < sec2->lma) ++ return -1; ++ else if (sec1->lma > sec2->lma) ++ return 1; ++ else if (sec1->id < sec2->id) ++ return -1; ++ else if (sec1->id > sec2->id) ++ return 1; ++ ++ return 0; ++} ++ ++static int ++sort_sections_by_vma (const void *arg1, const void *arg2) ++{ ++ const asection *sec1 = ((const struct check_sec *) arg1)->sec; ++ const asection *sec2 = ((const struct check_sec *) arg2)->sec; ++ ++ if (sec1->vma < sec2->vma) ++ return -1; ++ else if (sec1->vma > sec2->vma) ++ return 1; ++ else if (sec1->id < sec2->id) ++ return -1; ++ else if (sec1->id > sec2->id) ++ return 1; ++ ++ return 0; ++} ++ ++#define IS_TBSS(s) \ ++ ((s->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) == SEC_THREAD_LOCAL) ++ ++#define IGNORE_SECTION(s) \ ++ ((s->flags & SEC_ALLOC) == 0 || IS_TBSS (s)) ++ ++/* Check to see if any allocated sections overlap with other allocated ++ sections. This can happen if a linker script specifies the output ++ section addresses of the two sections. Also check whether any memory ++ region has overflowed. */ ++ ++static void ++lang_check_section_addresses (void) ++{ ++ asection *s, *p; ++ struct check_sec *sections; ++ size_t i, count; ++ bfd_vma addr_mask; ++ bfd_vma s_start; ++ bfd_vma s_end; ++ bfd_vma p_start = 0; ++ bfd_vma p_end = 0; ++ lang_memory_region_type *m; ++ bool overlays; ++ ++ /* Detect address space overflow on allocated sections. */ ++ addr_mask = ((bfd_vma) 1 << ++ (bfd_arch_bits_per_address (link_info.output_bfd) - 1)) - 1; ++ addr_mask = (addr_mask << 1) + 1; ++ for (s = link_info.output_bfd->sections; s != NULL; s = s->next) ++ if ((s->flags & SEC_ALLOC) != 0) ++ { ++ s_end = (s->vma + s->size) & addr_mask; ++ if (s_end != 0 && s_end < (s->vma & addr_mask)) ++ einfo (_("%X%P: section %s VMA wraps around address space\n"), ++ s->name); ++ else ++ { ++ s_end = (s->lma + s->size) & addr_mask; ++ if (s_end != 0 && s_end < (s->lma & addr_mask)) ++ einfo (_("%X%P: section %s LMA wraps around address space\n"), ++ s->name); ++ } ++ } ++ ++ if (bfd_count_sections (link_info.output_bfd) <= 1) ++ return; ++ ++ count = bfd_count_sections (link_info.output_bfd); ++ sections = XNEWVEC (struct check_sec, count); ++ ++ /* Scan all sections in the output list. */ ++ count = 0; ++ for (s = link_info.output_bfd->sections; s != NULL; s = s->next) ++ { ++ if (IGNORE_SECTION (s) ++ || s->size == 0) ++ continue; ++ ++ sections[count].sec = s; ++ sections[count].warned = false; ++ count++; ++ } ++ ++ if (count <= 1) ++ { ++ free (sections); ++ return; ++ } ++ ++ qsort (sections, count, sizeof (*sections), sort_sections_by_lma); ++ ++ /* First check section LMAs. There should be no overlap of LMAs on ++ loadable sections, even with overlays. */ ++ for (p = NULL, i = 0; i < count; i++) ++ { ++ s = sections[i].sec; ++ init_opb (s); ++ if ((s->flags & SEC_LOAD) != 0) ++ { ++ s_start = s->lma; ++ s_end = s_start + TO_ADDR (s->size) - 1; ++ ++ /* Look for an overlap. We have sorted sections by lma, so ++ we know that s_start >= p_start. Besides the obvious ++ case of overlap when the current section starts before ++ the previous one ends, we also must have overlap if the ++ previous section wraps around the address space. */ ++ if (p != NULL ++ && (s_start <= p_end ++ || p_end < p_start)) ++ { ++ einfo (_("%X%P: section %s LMA [%V,%V]" ++ " overlaps section %s LMA [%V,%V]\n"), ++ s->name, s_start, s_end, p->name, p_start, p_end); ++ sections[i].warned = true; ++ } ++ p = s; ++ p_start = s_start; ++ p_end = s_end; ++ } ++ } ++ ++ /* If any non-zero size allocated section (excluding tbss) starts at ++ exactly the same VMA as another such section, then we have ++ overlays. Overlays generated by the OVERLAY keyword will have ++ this property. It is possible to intentionally generate overlays ++ that fail this test, but it would be unusual. */ ++ qsort (sections, count, sizeof (*sections), sort_sections_by_vma); ++ overlays = false; ++ p_start = sections[0].sec->vma; ++ for (i = 1; i < count; i++) ++ { ++ s_start = sections[i].sec->vma; ++ if (p_start == s_start) ++ { ++ overlays = true; ++ break; ++ } ++ p_start = s_start; ++ } ++ ++ /* Now check section VMAs if no overlays were detected. */ ++ if (!overlays) ++ { ++ for (p = NULL, i = 0; i < count; i++) ++ { ++ s = sections[i].sec; ++ init_opb (s); ++ s_start = s->vma; ++ s_end = s_start + TO_ADDR (s->size) - 1; ++ ++ if (p != NULL ++ && !sections[i].warned ++ && (s_start <= p_end ++ || p_end < p_start)) ++ einfo (_("%X%P: section %s VMA [%V,%V]" ++ " overlaps section %s VMA [%V,%V]\n"), ++ s->name, s_start, s_end, p->name, p_start, p_end); ++ p = s; ++ p_start = s_start; ++ p_end = s_end; ++ } ++ } ++ ++ free (sections); ++ ++ /* If any memory region has overflowed, report by how much. ++ We do not issue this diagnostic for regions that had sections ++ explicitly placed outside their bounds; os_region_check's ++ diagnostics are adequate for that case. ++ ++ FIXME: It is conceivable that m->current - (m->origin + m->length) ++ might overflow a 32-bit integer. There is, alas, no way to print ++ a bfd_vma quantity in decimal. */ ++ for (m = lang_memory_region_list; m; m = m->next) ++ if (m->had_full_message) ++ { ++ unsigned long over = m->current - (m->origin + m->length); ++ einfo (ngettext ("%X%P: region `%s' overflowed by %lu byte\n", ++ "%X%P: region `%s' overflowed by %lu bytes\n", ++ over), ++ m->name_list.name, over); ++ } ++} ++ ++/* Make sure the new address is within the region. We explicitly permit the ++ current address to be at the exact end of the region when the address is ++ non-zero, in case the region is at the end of addressable memory and the ++ calculation wraps around. */ ++ ++static void ++os_region_check (lang_output_section_statement_type *os, ++ lang_memory_region_type *region, ++ etree_type *tree, ++ bfd_vma rbase) ++{ ++ if ((region->current < region->origin ++ || (region->current - region->origin > region->length)) ++ && ((region->current != region->origin + region->length) ++ || rbase == 0)) ++ { ++ if (tree != NULL) ++ { ++ einfo (_("%X%P: address 0x%v of %pB section `%s'" ++ " is not within region `%s'\n"), ++ region->current, ++ os->bfd_section->owner, ++ os->bfd_section->name, ++ region->name_list.name); ++ } ++ else if (!region->had_full_message) ++ { ++ region->had_full_message = true; ++ ++ einfo (_("%X%P: %pB section `%s' will not fit in region `%s'\n"), ++ os->bfd_section->owner, ++ os->bfd_section->name, ++ region->name_list.name); ++ } ++ } ++} ++ ++static void ++ldlang_check_relro_region (lang_statement_union_type *s) ++{ ++ seg_align_type *seg = &expld.dataseg; ++ ++ if (seg->relro == exp_seg_relro_start) ++ { ++ if (!seg->relro_start_stat) ++ seg->relro_start_stat = s; ++ else ++ { ++ ASSERT (seg->relro_start_stat == s); ++ } ++ } ++ else if (seg->relro == exp_seg_relro_end) ++ { ++ if (!seg->relro_end_stat) ++ seg->relro_end_stat = s; ++ else ++ { ++ ASSERT (seg->relro_end_stat == s); ++ } ++ } ++} ++ ++/* Set the sizes for all the output sections. */ ++ ++static bfd_vma ++lang_size_sections_1 ++ (lang_statement_union_type **prev, ++ lang_output_section_statement_type *output_section_statement, ++ fill_type *fill, ++ bfd_vma dot, ++ bool *relax, ++ bool check_regions) ++{ ++ lang_statement_union_type *s; ++ lang_statement_union_type *prev_s = NULL; ++ bool removed_prev_s = false; ++ ++ /* Size up the sections from their constituent parts. */ ++ for (s = *prev; s != NULL; prev_s = s, s = s->header.next) ++ { ++ bool removed = false; ++ ++ switch (s->header.type) ++ { ++ case lang_output_section_statement_enum: ++ { ++ bfd_vma newdot, after, dotdelta; ++ lang_output_section_statement_type *os; ++ lang_memory_region_type *r; ++ int section_alignment = 0; ++ ++ os = &s->output_section_statement; ++ init_opb (os->bfd_section); ++ if (os->constraint == -1) ++ break; ++ ++ /* FIXME: We shouldn't need to zero section vmas for ld -r ++ here, in lang_insert_orphan, or in the default linker scripts. ++ This is covering for coff backend linker bugs. See PR6945. */ ++ if (os->addr_tree == NULL ++ && bfd_link_relocatable (&link_info) ++ && (bfd_get_flavour (link_info.output_bfd) ++ == bfd_target_coff_flavour)) ++ os->addr_tree = exp_intop (0); ++ if (os->addr_tree != NULL) ++ { ++ exp_fold_tree (os->addr_tree, bfd_abs_section_ptr, &dot); ++ ++ if (expld.result.valid_p) ++ { ++ dot = expld.result.value; ++ if (expld.result.section != NULL) ++ dot += expld.result.section->vma; ++ } ++ else if (expld.phase != lang_mark_phase_enum) ++ einfo (_("%F%P:%pS: non constant or forward reference" ++ " address expression for section %s\n"), ++ os->addr_tree, os->name); ++ } ++ ++ if (os->bfd_section == NULL) ++ /* This section was removed or never actually created. */ ++ break; ++ ++ /* If this is a COFF shared library section, use the size and ++ address from the input section. FIXME: This is COFF ++ specific; it would be cleaner if there were some other way ++ to do this, but nothing simple comes to mind. */ ++ if (((bfd_get_flavour (link_info.output_bfd) ++ == bfd_target_ecoff_flavour) ++ || (bfd_get_flavour (link_info.output_bfd) ++ == bfd_target_coff_flavour)) ++ && (os->bfd_section->flags & SEC_COFF_SHARED_LIBRARY) != 0) ++ { ++ asection *input; ++ ++ if (os->children.head == NULL ++ || os->children.head->header.next != NULL ++ || (os->children.head->header.type ++ != lang_input_section_enum)) ++ einfo (_("%X%P: internal error on COFF shared library" ++ " section %s\n"), os->name); ++ ++ input = os->children.head->input_section.section; ++ bfd_set_section_vma (os->bfd_section, ++ bfd_section_vma (input)); ++ if (!(os->bfd_section->flags & SEC_FIXED_SIZE)) ++ os->bfd_section->size = input->size; ++ break; ++ } ++ ++ newdot = dot; ++ dotdelta = 0; ++ if (bfd_is_abs_section (os->bfd_section)) ++ { ++ /* No matter what happens, an abs section starts at zero. */ ++ ASSERT (os->bfd_section->vma == 0); ++ } ++ else ++ { ++ if (os->addr_tree == NULL) ++ { ++ /* No address specified for this section, get one ++ from the region specification. */ ++ if (os->region == NULL ++ || ((os->bfd_section->flags & (SEC_ALLOC | SEC_LOAD)) ++ && os->region->name_list.name[0] == '*' ++ && strcmp (os->region->name_list.name, ++ DEFAULT_MEMORY_REGION) == 0)) ++ { ++ os->region = lang_memory_default (os->bfd_section); ++ } ++ ++ /* If a loadable section is using the default memory ++ region, and some non default memory regions were ++ defined, issue an error message. */ ++ if (!os->ignored ++ && !IGNORE_SECTION (os->bfd_section) ++ && !bfd_link_relocatable (&link_info) ++ && check_regions ++ && strcmp (os->region->name_list.name, ++ DEFAULT_MEMORY_REGION) == 0 ++ && lang_memory_region_list != NULL ++ && (strcmp (lang_memory_region_list->name_list.name, ++ DEFAULT_MEMORY_REGION) != 0 ++ || lang_memory_region_list->next != NULL) ++ && lang_sizing_iteration == 1) ++ { ++ /* By default this is an error rather than just a ++ warning because if we allocate the section to the ++ default memory region we can end up creating an ++ excessively large binary, or even seg faulting when ++ attempting to perform a negative seek. See ++ sources.redhat.com/ml/binutils/2003-04/msg00423.html ++ for an example of this. This behaviour can be ++ overridden by the using the --no-check-sections ++ switch. */ ++ if (command_line.check_section_addresses) ++ einfo (_("%F%P: error: no memory region specified" ++ " for loadable section `%s'\n"), ++ bfd_section_name (os->bfd_section)); ++ else ++ einfo (_("%P: warning: no memory region specified" ++ " for loadable section `%s'\n"), ++ bfd_section_name (os->bfd_section)); ++ } ++ ++ newdot = os->region->current; ++ section_alignment = os->bfd_section->alignment_power; ++ } ++ else ++ section_alignment = exp_get_power (os->section_alignment, ++ "section alignment"); ++ ++ /* Align to what the section needs. */ ++ if (section_alignment > 0) ++ { ++ bfd_vma savedot = newdot; ++ bfd_vma diff = 0; ++ ++ newdot = align_power (newdot, section_alignment); ++ dotdelta = newdot - savedot; ++ ++ if (lang_sizing_iteration == 1) ++ diff = dotdelta; ++ else if (lang_sizing_iteration > 1) ++ { ++ /* Only report adjustments that would change ++ alignment from what we have already reported. */ ++ diff = newdot - os->bfd_section->vma; ++ if (!(diff & (((bfd_vma) 1 << section_alignment) - 1))) ++ diff = 0; ++ } ++ if (diff != 0 ++ && (config.warn_section_align ++ || os->addr_tree != NULL)) ++ einfo (_("%P: warning: " ++ "start of section %s changed by %ld\n"), ++ os->name, (long) diff); ++ } ++ ++ bfd_set_section_vma (os->bfd_section, newdot); ++ ++ os->bfd_section->output_offset = 0; ++ } ++ ++ lang_size_sections_1 (&os->children.head, os, ++ os->fill, newdot, relax, check_regions); ++ ++ os->processed_vma = true; ++ ++ if (bfd_is_abs_section (os->bfd_section) || os->ignored) ++ /* Except for some special linker created sections, ++ no output section should change from zero size ++ after strip_excluded_output_sections. A non-zero ++ size on an ignored section indicates that some ++ input section was not sized early enough. */ ++ ASSERT (os->bfd_section->size == 0); ++ else ++ { ++ dot = os->bfd_section->vma; ++ ++ /* Put the section within the requested block size, or ++ align at the block boundary. */ ++ after = ((dot ++ + TO_ADDR (os->bfd_section->size) ++ + os->block_value - 1) ++ & - (bfd_vma) os->block_value); ++ ++ if (!(os->bfd_section->flags & SEC_FIXED_SIZE)) ++ os->bfd_section->size = TO_SIZE (after ++ - os->bfd_section->vma); ++ } ++ ++ /* Set section lma. */ ++ r = os->region; ++ if (r == NULL) ++ r = lang_memory_region_lookup (DEFAULT_MEMORY_REGION, false); ++ ++ if (os->load_base) ++ { ++ bfd_vma lma = exp_get_abs_int (os->load_base, 0, "load base"); ++ os->bfd_section->lma = lma; ++ } ++ else if (os->lma_region != NULL) ++ { ++ bfd_vma lma = os->lma_region->current; ++ ++ if (os->align_lma_with_input) ++ lma += dotdelta; ++ else ++ { ++ /* When LMA_REGION is the same as REGION, align the LMA ++ as we did for the VMA, possibly including alignment ++ from the bfd section. If a different region, then ++ only align according to the value in the output ++ statement. */ ++ if (os->lma_region != os->region) ++ section_alignment = exp_get_power (os->section_alignment, ++ "section alignment"); ++ if (section_alignment > 0) ++ lma = align_power (lma, section_alignment); ++ } ++ os->bfd_section->lma = lma; ++ } ++ else if (r->last_os != NULL ++ && (os->bfd_section->flags & SEC_ALLOC) != 0) ++ { ++ bfd_vma lma; ++ asection *last; ++ ++ last = r->last_os->output_section_statement.bfd_section; ++ ++ /* A backwards move of dot should be accompanied by ++ an explicit assignment to the section LMA (ie. ++ os->load_base set) because backwards moves can ++ create overlapping LMAs. */ ++ if (dot < last->vma ++ && os->bfd_section->size != 0 ++ && dot + TO_ADDR (os->bfd_section->size) <= last->vma) ++ { ++ /* If dot moved backwards then leave lma equal to ++ vma. This is the old default lma, which might ++ just happen to work when the backwards move is ++ sufficiently large. Nag if this changes anything, ++ so people can fix their linker scripts. */ ++ ++ if (last->vma != last->lma) ++ einfo (_("%P: warning: dot moved backwards " ++ "before `%s'\n"), os->name); ++ } ++ else ++ { ++ /* If this is an overlay, set the current lma to that ++ at the end of the previous section. */ ++ if (os->sectype == overlay_section) ++ lma = last->lma + TO_ADDR (last->size); ++ ++ /* Otherwise, keep the same lma to vma relationship ++ as the previous section. */ ++ else ++ lma = os->bfd_section->vma + last->lma - last->vma; ++ ++ if (section_alignment > 0) ++ lma = align_power (lma, section_alignment); ++ os->bfd_section->lma = lma; ++ } ++ } ++ os->processed_lma = true; ++ ++ /* Keep track of normal sections using the default ++ lma region. We use this to set the lma for ++ following sections. Overlays or other linker ++ script assignment to lma might mean that the ++ default lma == vma is incorrect. ++ To avoid warnings about dot moving backwards when using ++ -Ttext, don't start tracking sections until we find one ++ of non-zero size or with lma set differently to vma. ++ Do this tracking before we short-cut the loop so that we ++ track changes for the case where the section size is zero, ++ but the lma is set differently to the vma. This is ++ important, if an orphan section is placed after an ++ otherwise empty output section that has an explicit lma ++ set, we want that lma reflected in the orphans lma. */ ++ if (((!IGNORE_SECTION (os->bfd_section) ++ && (os->bfd_section->size != 0 ++ || (r->last_os == NULL ++ && os->bfd_section->vma != os->bfd_section->lma) ++ || (r->last_os != NULL ++ && dot >= (r->last_os->output_section_statement ++ .bfd_section->vma)))) ++ || os->sectype == first_overlay_section) ++ && os->lma_region == NULL ++ && !bfd_link_relocatable (&link_info)) ++ r->last_os = s; ++ ++ if (bfd_is_abs_section (os->bfd_section) || os->ignored) ++ break; ++ ++ /* .tbss sections effectively have zero size. */ ++ if (!IS_TBSS (os->bfd_section) ++ || bfd_link_relocatable (&link_info)) ++ dotdelta = TO_ADDR (os->bfd_section->size); ++ else ++ dotdelta = 0; ++ dot += dotdelta; ++ ++ if (os->update_dot_tree != 0) ++ exp_fold_tree (os->update_dot_tree, bfd_abs_section_ptr, &dot); ++ ++ /* Update dot in the region ? ++ We only do this if the section is going to be allocated, ++ since unallocated sections do not contribute to the region's ++ overall size in memory. */ ++ if (os->region != NULL ++ && (os->bfd_section->flags & (SEC_ALLOC | SEC_LOAD))) ++ { ++ os->region->current = dot; ++ ++ if (check_regions) ++ /* Make sure the new address is within the region. */ ++ os_region_check (os, os->region, os->addr_tree, ++ os->bfd_section->vma); ++ ++ if (os->lma_region != NULL && os->lma_region != os->region ++ && ((os->bfd_section->flags & SEC_LOAD) ++ || os->align_lma_with_input)) ++ { ++ os->lma_region->current = os->bfd_section->lma + dotdelta; ++ ++ if (check_regions) ++ os_region_check (os, os->lma_region, NULL, ++ os->bfd_section->lma); ++ } ++ } ++ } ++ break; ++ ++ case lang_constructors_statement_enum: ++ dot = lang_size_sections_1 (&constructor_list.head, ++ output_section_statement, ++ fill, dot, relax, check_regions); ++ break; ++ ++ case lang_data_statement_enum: ++ { ++ unsigned int size = 0; ++ ++ s->data_statement.output_offset = ++ dot - output_section_statement->bfd_section->vma; ++ s->data_statement.output_section = ++ output_section_statement->bfd_section; ++ ++ /* We might refer to provided symbols in the expression, and ++ need to mark them as needed. */ ++ exp_fold_tree (s->data_statement.exp, bfd_abs_section_ptr, &dot); ++ ++ switch (s->data_statement.type) ++ { ++ default: ++ abort (); ++ case QUAD: ++ case SQUAD: ++ size = QUAD_SIZE; ++ break; ++ case LONG: ++ size = LONG_SIZE; ++ break; ++ case SHORT: ++ size = SHORT_SIZE; ++ break; ++ case BYTE: ++ size = BYTE_SIZE; ++ break; ++ } ++ if (size < TO_SIZE ((unsigned) 1)) ++ size = TO_SIZE ((unsigned) 1); ++ dot += TO_ADDR (size); ++ if (!(output_section_statement->bfd_section->flags ++ & SEC_FIXED_SIZE)) ++ output_section_statement->bfd_section->size ++ = TO_SIZE (dot - output_section_statement->bfd_section->vma); ++ ++ } ++ break; ++ ++ case lang_reloc_statement_enum: ++ { ++ int size; ++ ++ s->reloc_statement.output_offset = ++ dot - output_section_statement->bfd_section->vma; ++ s->reloc_statement.output_section = ++ output_section_statement->bfd_section; ++ size = bfd_get_reloc_size (s->reloc_statement.howto); ++ dot += TO_ADDR (size); ++ if (!(output_section_statement->bfd_section->flags ++ & SEC_FIXED_SIZE)) ++ output_section_statement->bfd_section->size ++ = TO_SIZE (dot - output_section_statement->bfd_section->vma); ++ } ++ break; ++ ++ case lang_wild_statement_enum: ++ dot = lang_size_sections_1 (&s->wild_statement.children.head, ++ output_section_statement, ++ fill, dot, relax, check_regions); ++ break; ++ ++ case lang_object_symbols_statement_enum: ++ link_info.create_object_symbols_section ++ = output_section_statement->bfd_section; ++ output_section_statement->bfd_section->flags |= SEC_KEEP; ++ break; ++ ++ case lang_output_statement_enum: ++ case lang_target_statement_enum: ++ break; ++ ++ case lang_input_section_enum: ++ { ++ asection *i; ++ ++ i = s->input_section.section; ++ if (relax) ++ { ++ bool again; ++ ++ if (!bfd_relax_section (i->owner, i, &link_info, &again)) ++ einfo (_("%F%P: can't relax section: %E\n")); ++ if (again) ++ *relax = true; ++ } ++ dot = size_input_section (prev, output_section_statement, ++ fill, &removed, dot); ++ } ++ break; ++ ++ case lang_input_statement_enum: ++ break; ++ ++ case lang_fill_statement_enum: ++ s->fill_statement.output_section = ++ output_section_statement->bfd_section; ++ ++ fill = s->fill_statement.fill; ++ break; ++ ++ case lang_assignment_statement_enum: ++ { ++ bfd_vma newdot = dot; ++ etree_type *tree = s->assignment_statement.exp; ++ ++ expld.dataseg.relro = exp_seg_relro_none; ++ ++ exp_fold_tree (tree, ++ output_section_statement->bfd_section, ++ &newdot); ++ ++ ldlang_check_relro_region (s); ++ ++ expld.dataseg.relro = exp_seg_relro_none; ++ ++ /* This symbol may be relative to this section. */ ++ if ((tree->type.node_class == etree_provided ++ || tree->type.node_class == etree_assign) ++ && (tree->assign.dst [0] != '.' ++ || tree->assign.dst [1] != '\0')) ++ output_section_statement->update_dot = 1; ++ ++ if (!output_section_statement->ignored) ++ { ++ if (output_section_statement == abs_output_section) ++ { ++ /* If we don't have an output section, then just adjust ++ the default memory address. */ ++ lang_memory_region_lookup (DEFAULT_MEMORY_REGION, ++ false)->current = newdot; ++ } ++ else if (newdot != dot) ++ { ++ /* Insert a pad after this statement. We can't ++ put the pad before when relaxing, in case the ++ assignment references dot. */ ++ insert_pad (&s->header.next, fill, TO_SIZE (newdot - dot), ++ output_section_statement->bfd_section, dot); ++ ++ /* Don't neuter the pad below when relaxing. */ ++ s = s->header.next; ++ ++ /* If dot is advanced, this implies that the section ++ should have space allocated to it, unless the ++ user has explicitly stated that the section ++ should not be allocated. */ ++ if (output_section_statement->sectype != noalloc_section ++ && (output_section_statement->sectype != noload_section ++ || (bfd_get_flavour (link_info.output_bfd) ++ == bfd_target_elf_flavour))) ++ output_section_statement->bfd_section->flags |= SEC_ALLOC; ++ } ++ dot = newdot; ++ } ++ } ++ break; ++ ++ case lang_padding_statement_enum: ++ /* If this is the first time lang_size_sections is called, ++ we won't have any padding statements. If this is the ++ second or later passes when relaxing, we should allow ++ padding to shrink. If padding is needed on this pass, it ++ will be added back in. */ ++ s->padding_statement.size = 0; ++ ++ /* Make sure output_offset is valid. If relaxation shrinks ++ the section and this pad isn't needed, it's possible to ++ have output_offset larger than the final size of the ++ section. bfd_set_section_contents will complain even for ++ a pad size of zero. */ ++ s->padding_statement.output_offset ++ = dot - output_section_statement->bfd_section->vma; ++ break; ++ ++ case lang_group_statement_enum: ++ dot = lang_size_sections_1 (&s->group_statement.children.head, ++ output_section_statement, ++ fill, dot, relax, check_regions); ++ break; ++ ++ case lang_insert_statement_enum: ++ break; ++ ++ /* We can only get here when relaxing is turned on. */ ++ case lang_address_statement_enum: ++ break; ++ ++ default: ++ FAIL (); ++ break; ++ } ++ ++ /* If an input section doesn't fit in the current output ++ section, remove it from the list. Handle the case where we ++ have to remove an input_section statement here: there is a ++ special case to remove the first element of the list. */ ++ if (link_info.non_contiguous_regions && removed) ++ { ++ /* If we removed the first element during the previous ++ iteration, override the loop assignment of prev_s. */ ++ if (removed_prev_s) ++ prev_s = NULL; ++ ++ if (prev_s) ++ { ++ /* If there was a real previous input section, just skip ++ the current one. */ ++ prev_s->header.next=s->header.next; ++ s = prev_s; ++ removed_prev_s = false; ++ } ++ else ++ { ++ /* Remove the first input section of the list. */ ++ *prev = s->header.next; ++ removed_prev_s = true; ++ } ++ ++ /* Move to next element, unless we removed the head of the ++ list. */ ++ if (!removed_prev_s) ++ prev = &s->header.next; ++ } ++ else ++ { ++ prev = &s->header.next; ++ removed_prev_s = false; ++ } ++ } ++ return dot; ++} ++ ++/* Callback routine that is used in _bfd_elf_map_sections_to_segments. ++ The BFD library has set NEW_SEGMENT to TRUE iff it thinks that ++ CURRENT_SECTION and PREVIOUS_SECTION ought to be placed into different ++ segments. We are allowed an opportunity to override this decision. */ ++ ++bool ++ldlang_override_segment_assignment (struct bfd_link_info *info ATTRIBUTE_UNUSED, ++ bfd *abfd ATTRIBUTE_UNUSED, ++ asection *current_section, ++ asection *previous_section, ++ bool new_segment) ++{ ++ lang_output_section_statement_type *cur; ++ lang_output_section_statement_type *prev; ++ ++ /* The checks below are only necessary when the BFD library has decided ++ that the two sections ought to be placed into the same segment. */ ++ if (new_segment) ++ return true; ++ ++ /* Paranoia checks. */ ++ if (current_section == NULL || previous_section == NULL) ++ return new_segment; ++ ++ /* If this flag is set, the target never wants code and non-code ++ sections comingled in the same segment. */ ++ if (config.separate_code ++ && ((current_section->flags ^ previous_section->flags) & SEC_CODE)) ++ return true; ++ ++ /* Find the memory regions associated with the two sections. ++ We call lang_output_section_find() here rather than scanning the list ++ of output sections looking for a matching section pointer because if ++ we have a large number of sections then a hash lookup is faster. */ ++ cur = lang_output_section_find (current_section->name); ++ prev = lang_output_section_find (previous_section->name); ++ ++ /* More paranoia. */ ++ if (cur == NULL || prev == NULL) ++ return new_segment; ++ ++ /* If the regions are different then force the sections to live in ++ different segments. See the email thread starting at the following ++ URL for the reasons why this is necessary: ++ http://sourceware.org/ml/binutils/2007-02/msg00216.html */ ++ return cur->region != prev->region; ++} ++ ++void ++one_lang_size_sections_pass (bool *relax, bool check_regions) ++{ ++ lang_statement_iteration++; ++ if (expld.phase != lang_mark_phase_enum) ++ lang_sizing_iteration++; ++ lang_size_sections_1 (&statement_list.head, abs_output_section, ++ 0, 0, relax, check_regions); ++} ++ ++static bool ++lang_size_segment (void) ++{ ++ /* If XXX_SEGMENT_ALIGN XXX_SEGMENT_END pair was seen, check whether ++ a page could be saved in the data segment. */ ++ seg_align_type *seg = &expld.dataseg; ++ bfd_vma first, last; ++ ++ first = -seg->base & (seg->commonpagesize - 1); ++ last = seg->end & (seg->commonpagesize - 1); ++ if (first && last ++ && ((seg->base & ~(seg->commonpagesize - 1)) ++ != (seg->end & ~(seg->commonpagesize - 1))) ++ && first + last <= seg->commonpagesize) ++ { ++ seg->phase = exp_seg_adjust; ++ return true; ++ } ++ ++ seg->phase = exp_seg_done; ++ return false; ++} ++ ++static bfd_vma ++lang_size_relro_segment_1 (void) ++{ ++ seg_align_type *seg = &expld.dataseg; ++ bfd_vma relro_end, desired_end; ++ asection *sec; ++ ++ /* Compute the expected PT_GNU_RELRO/PT_LOAD segment end. */ ++ relro_end = (seg->relro_end + seg->relropagesize - 1) & -seg->relropagesize; ++ ++ /* Adjust by the offset arg of XXX_SEGMENT_RELRO_END. */ ++ desired_end = relro_end - seg->relro_offset; ++ ++ /* For sections in the relro segment.. */ ++ for (sec = link_info.output_bfd->section_last; sec; sec = sec->prev) ++ if ((sec->flags & SEC_ALLOC) != 0 ++ && sec->vma >= seg->base ++ && sec->vma < seg->relro_end - seg->relro_offset) ++ { ++ /* Where do we want to put this section so that it ends as ++ desired? */ ++ bfd_vma start, end, bump; ++ ++ end = start = sec->vma; ++ if (!IS_TBSS (sec)) ++ end += TO_ADDR (sec->size); ++ bump = desired_end - end; ++ /* We'd like to increase START by BUMP, but we must heed ++ alignment so the increase might be less than optimum. */ ++ start += bump; ++ start &= ~(((bfd_vma) 1 << sec->alignment_power) - 1); ++ /* This is now the desired end for the previous section. */ ++ desired_end = start; ++ } ++ ++ seg->phase = exp_seg_relro_adjust; ++ ASSERT (desired_end >= seg->base); ++ seg->base = desired_end; ++ return relro_end; ++} ++ ++static bool ++lang_size_relro_segment (bool *relax, bool check_regions) ++{ ++ bool do_reset = false; ++ ++ if (link_info.relro && expld.dataseg.relro_end) ++ { ++ bfd_vma data_initial_base = expld.dataseg.base; ++ bfd_vma data_relro_end = lang_size_relro_segment_1 (); ++ ++ lang_reset_memory_regions (); ++ one_lang_size_sections_pass (relax, check_regions); ++ ++ /* Assignments to dot, or to output section address in a user ++ script have increased padding over the original. Revert. */ ++ if (expld.dataseg.relro_end > data_relro_end) ++ { ++ expld.dataseg.base = data_initial_base; ++ do_reset = true; ++ } ++ } ++ else if (lang_size_segment ()) ++ do_reset = true; ++ ++ return do_reset; ++} ++ ++void ++lang_size_sections (bool *relax, bool check_regions) ++{ ++ expld.phase = lang_allocating_phase_enum; ++ expld.dataseg.phase = exp_seg_none; ++ ++ one_lang_size_sections_pass (relax, check_regions); ++ ++ if (expld.dataseg.phase != exp_seg_end_seen) ++ expld.dataseg.phase = exp_seg_done; ++ ++ if (expld.dataseg.phase == exp_seg_end_seen) ++ { ++ bool do_reset ++ = lang_size_relro_segment (relax, check_regions); ++ ++ if (do_reset) ++ { ++ lang_reset_memory_regions (); ++ one_lang_size_sections_pass (relax, check_regions); ++ } ++ ++ if (link_info.relro && expld.dataseg.relro_end) ++ { ++ link_info.relro_start = expld.dataseg.base; ++ link_info.relro_end = expld.dataseg.relro_end; ++ } ++ } ++} ++ ++static lang_output_section_statement_type *current_section; ++static lang_assignment_statement_type *current_assign; ++static bool prefer_next_section; ++ ++/* Worker function for lang_do_assignments. Recursiveness goes here. */ ++ ++static bfd_vma ++lang_do_assignments_1 (lang_statement_union_type *s, ++ lang_output_section_statement_type *current_os, ++ fill_type *fill, ++ bfd_vma dot, ++ bool *found_end) ++{ ++ for (; s != NULL; s = s->header.next) ++ { ++ switch (s->header.type) ++ { ++ case lang_constructors_statement_enum: ++ dot = lang_do_assignments_1 (constructor_list.head, ++ current_os, fill, dot, found_end); ++ break; ++ ++ case lang_output_section_statement_enum: ++ { ++ lang_output_section_statement_type *os; ++ bfd_vma newdot; ++ ++ os = &(s->output_section_statement); ++ os->after_end = *found_end; ++ init_opb (os->bfd_section); ++ newdot = dot; ++ if (os->bfd_section != NULL) ++ { ++ if (!os->ignored && (os->bfd_section->flags & SEC_ALLOC) != 0) ++ { ++ current_section = os; ++ prefer_next_section = false; ++ } ++ newdot = os->bfd_section->vma; ++ } ++ newdot = lang_do_assignments_1 (os->children.head, ++ os, os->fill, newdot, found_end); ++ if (!os->ignored) ++ { ++ if (os->bfd_section != NULL) ++ { ++ newdot = os->bfd_section->vma; ++ ++ /* .tbss sections effectively have zero size. */ ++ if (!IS_TBSS (os->bfd_section) ++ || bfd_link_relocatable (&link_info)) ++ newdot += TO_ADDR (os->bfd_section->size); ++ ++ if (os->update_dot_tree != NULL) ++ exp_fold_tree (os->update_dot_tree, ++ bfd_abs_section_ptr, &newdot); ++ } ++ dot = newdot; ++ } ++ } ++ break; ++ ++ case lang_wild_statement_enum: ++ ++ dot = lang_do_assignments_1 (s->wild_statement.children.head, ++ current_os, fill, dot, found_end); ++ break; ++ ++ case lang_object_symbols_statement_enum: ++ case lang_output_statement_enum: ++ case lang_target_statement_enum: ++ break; ++ ++ case lang_data_statement_enum: ++ exp_fold_tree (s->data_statement.exp, bfd_abs_section_ptr, &dot); ++ if (expld.result.valid_p) ++ { ++ s->data_statement.value = expld.result.value; ++ if (expld.result.section != NULL) ++ s->data_statement.value += expld.result.section->vma; ++ } ++ else if (expld.phase == lang_final_phase_enum) ++ einfo (_("%F%P: invalid data statement\n")); ++ { ++ unsigned int size; ++ switch (s->data_statement.type) ++ { ++ default: ++ abort (); ++ case QUAD: ++ case SQUAD: ++ size = QUAD_SIZE; ++ break; ++ case LONG: ++ size = LONG_SIZE; ++ break; ++ case SHORT: ++ size = SHORT_SIZE; ++ break; ++ case BYTE: ++ size = BYTE_SIZE; ++ break; ++ } ++ if (size < TO_SIZE ((unsigned) 1)) ++ size = TO_SIZE ((unsigned) 1); ++ dot += TO_ADDR (size); ++ } ++ break; ++ ++ case lang_reloc_statement_enum: ++ exp_fold_tree (s->reloc_statement.addend_exp, ++ bfd_abs_section_ptr, &dot); ++ if (expld.result.valid_p) ++ s->reloc_statement.addend_value = expld.result.value; ++ else if (expld.phase == lang_final_phase_enum) ++ einfo (_("%F%P: invalid reloc statement\n")); ++ dot += TO_ADDR (bfd_get_reloc_size (s->reloc_statement.howto)); ++ break; ++ ++ case lang_input_section_enum: ++ { ++ asection *in = s->input_section.section; ++ ++ if ((in->flags & SEC_EXCLUDE) == 0) ++ dot += TO_ADDR (in->size); ++ } ++ break; ++ ++ case lang_input_statement_enum: ++ break; ++ ++ case lang_fill_statement_enum: ++ fill = s->fill_statement.fill; ++ break; ++ ++ case lang_assignment_statement_enum: ++ current_assign = &s->assignment_statement; ++ if (current_assign->exp->type.node_class != etree_assert) ++ { ++ const char *p = current_assign->exp->assign.dst; ++ ++ if (current_os == abs_output_section && p[0] == '.' && p[1] == 0) ++ prefer_next_section = true; ++ ++ while (*p == '_') ++ ++p; ++ if (strcmp (p, "end") == 0) ++ *found_end = true; ++ } ++ exp_fold_tree (s->assignment_statement.exp, ++ (current_os->bfd_section != NULL ++ ? current_os->bfd_section : bfd_und_section_ptr), ++ &dot); ++ break; ++ ++ case lang_padding_statement_enum: ++ dot += TO_ADDR (s->padding_statement.size); ++ break; ++ ++ case lang_group_statement_enum: ++ dot = lang_do_assignments_1 (s->group_statement.children.head, ++ current_os, fill, dot, found_end); ++ break; ++ ++ case lang_insert_statement_enum: ++ break; ++ ++ case lang_address_statement_enum: ++ break; ++ ++ default: ++ FAIL (); ++ break; ++ } ++ } ++ return dot; ++} ++ ++void ++lang_do_assignments (lang_phase_type phase) ++{ ++ bool found_end = false; ++ ++ current_section = NULL; ++ prefer_next_section = false; ++ expld.phase = phase; ++ lang_statement_iteration++; ++ lang_do_assignments_1 (statement_list.head, ++ abs_output_section, NULL, 0, &found_end); ++} ++ ++/* For an assignment statement outside of an output section statement, ++ choose the best of neighbouring output sections to use for values ++ of "dot". */ ++ ++asection * ++section_for_dot (void) ++{ ++ asection *s; ++ ++ /* Assignments belong to the previous output section, unless there ++ has been an assignment to "dot", in which case following ++ assignments belong to the next output section. (The assumption ++ is that an assignment to "dot" is setting up the address for the ++ next output section.) Except that past the assignment to "_end" ++ we always associate with the previous section. This exception is ++ for targets like SH that define an alloc .stack or other ++ weirdness after non-alloc sections. */ ++ if (current_section == NULL || prefer_next_section) ++ { ++ lang_statement_union_type *stmt; ++ lang_output_section_statement_type *os; ++ ++ for (stmt = (lang_statement_union_type *) current_assign; ++ stmt != NULL; ++ stmt = stmt->header.next) ++ if (stmt->header.type == lang_output_section_statement_enum) ++ break; ++ ++ os = stmt ? &stmt->output_section_statement : NULL; ++ while (os != NULL ++ && !os->after_end ++ && (os->bfd_section == NULL ++ || (os->bfd_section->flags & SEC_EXCLUDE) != 0 ++ || bfd_section_removed_from_list (link_info.output_bfd, ++ os->bfd_section))) ++ os = os->next; ++ ++ if (current_section == NULL || os == NULL || !os->after_end) ++ { ++ if (os != NULL) ++ s = os->bfd_section; ++ else ++ s = link_info.output_bfd->section_last; ++ while (s != NULL ++ && ((s->flags & SEC_ALLOC) == 0 ++ || (s->flags & SEC_THREAD_LOCAL) != 0)) ++ s = s->prev; ++ if (s != NULL) ++ return s; ++ ++ return bfd_abs_section_ptr; ++ } ++ } ++ ++ s = current_section->bfd_section; ++ ++ /* The section may have been stripped. */ ++ while (s != NULL ++ && ((s->flags & SEC_EXCLUDE) != 0 ++ || (s->flags & SEC_ALLOC) == 0 ++ || (s->flags & SEC_THREAD_LOCAL) != 0 ++ || bfd_section_removed_from_list (link_info.output_bfd, s))) ++ s = s->prev; ++ if (s == NULL) ++ s = link_info.output_bfd->sections; ++ while (s != NULL ++ && ((s->flags & SEC_ALLOC) == 0 ++ || (s->flags & SEC_THREAD_LOCAL) != 0)) ++ s = s->next; ++ if (s != NULL) ++ return s; ++ ++ return bfd_abs_section_ptr; ++} ++ ++/* Array of __start/__stop/.startof./.sizeof/ symbols. */ ++ ++static struct bfd_link_hash_entry **start_stop_syms; ++static size_t start_stop_count = 0; ++static size_t start_stop_alloc = 0; ++ ++/* Give start/stop SYMBOL for SEC a preliminary definition, and add it ++ to start_stop_syms. */ ++ ++static void ++lang_define_start_stop (const char *symbol, asection *sec) ++{ ++ struct bfd_link_hash_entry *h; ++ ++ h = bfd_define_start_stop (link_info.output_bfd, &link_info, symbol, sec); ++ if (h != NULL) ++ { ++ if (start_stop_count == start_stop_alloc) ++ { ++ start_stop_alloc = 2 * start_stop_alloc + 10; ++ start_stop_syms ++ = xrealloc (start_stop_syms, ++ start_stop_alloc * sizeof (*start_stop_syms)); ++ } ++ start_stop_syms[start_stop_count++] = h; ++ } ++} ++ ++/* Check for input sections whose names match references to ++ __start_SECNAME or __stop_SECNAME symbols. Give the symbols ++ preliminary definitions. */ ++ ++static void ++lang_init_start_stop (void) ++{ ++ bfd *abfd; ++ asection *s; ++ char leading_char = bfd_get_symbol_leading_char (link_info.output_bfd); ++ ++ for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next) ++ for (s = abfd->sections; s != NULL; s = s->next) ++ { ++ const char *ps; ++ const char *secname = s->name; ++ ++ for (ps = secname; *ps != '\0'; ps++) ++ if (!ISALNUM ((unsigned char) *ps) && *ps != '_') ++ break; ++ if (*ps == '\0') ++ { ++ char *symbol = (char *) xmalloc (10 + strlen (secname)); ++ ++ symbol[0] = leading_char; ++ sprintf (symbol + (leading_char != 0), "__start_%s", secname); ++ lang_define_start_stop (symbol, s); ++ ++ symbol[1] = leading_char; ++ memcpy (symbol + 1 + (leading_char != 0), "__stop", 6); ++ lang_define_start_stop (symbol + 1, s); ++ ++ free (symbol); ++ } ++ } ++} ++ ++/* Iterate over start_stop_syms. */ ++ ++static void ++foreach_start_stop (void (*func) (struct bfd_link_hash_entry *)) ++{ ++ size_t i; ++ ++ for (i = 0; i < start_stop_count; ++i) ++ func (start_stop_syms[i]); ++} ++ ++/* __start and __stop symbols are only supposed to be defined by the ++ linker for orphan sections, but we now extend that to sections that ++ map to an output section of the same name. The symbols were ++ defined early for --gc-sections, before we mapped input to output ++ sections, so undo those that don't satisfy this rule. */ ++ ++static void ++undef_start_stop (struct bfd_link_hash_entry *h) ++{ ++ if (h->ldscript_def) ++ return; ++ ++ if (h->u.def.section->output_section == NULL ++ || h->u.def.section->output_section->owner != link_info.output_bfd ++ || strcmp (h->u.def.section->name, ++ h->u.def.section->output_section->name) != 0) ++ { ++ asection *sec = bfd_get_section_by_name (link_info.output_bfd, ++ h->u.def.section->name); ++ if (sec != NULL) ++ { ++ /* When there are more than one input sections with the same ++ section name, SECNAME, linker picks the first one to define ++ __start_SECNAME and __stop_SECNAME symbols. When the first ++ input section is removed by comdat group, we need to check ++ if there is still an output section with section name ++ SECNAME. */ ++ asection *i; ++ for (i = sec->map_head.s; i != NULL; i = i->map_head.s) ++ if (strcmp (h->u.def.section->name, i->name) == 0) ++ { ++ h->u.def.section = i; ++ return; ++ } ++ } ++ h->type = bfd_link_hash_undefined; ++ h->u.undef.abfd = NULL; ++ if (is_elf_hash_table (link_info.hash)) ++ { ++ const struct elf_backend_data *bed; ++ struct elf_link_hash_entry *eh = (struct elf_link_hash_entry *) h; ++ unsigned int was_forced = eh->forced_local; ++ ++ bed = get_elf_backend_data (link_info.output_bfd); ++ (*bed->elf_backend_hide_symbol) (&link_info, eh, true); ++ if (!eh->ref_regular_nonweak) ++ h->type = bfd_link_hash_undefweak; ++ eh->def_regular = 0; ++ eh->forced_local = was_forced; ++ } ++ } ++} ++ ++static void ++lang_undef_start_stop (void) ++{ ++ foreach_start_stop (undef_start_stop); ++} ++ ++/* Check for output sections whose names match references to ++ .startof.SECNAME or .sizeof.SECNAME symbols. Give the symbols ++ preliminary definitions. */ ++ ++static void ++lang_init_startof_sizeof (void) ++{ ++ asection *s; ++ ++ for (s = link_info.output_bfd->sections; s != NULL; s = s->next) ++ { ++ const char *secname = s->name; ++ char *symbol = (char *) xmalloc (10 + strlen (secname)); ++ ++ sprintf (symbol, ".startof.%s", secname); ++ lang_define_start_stop (symbol, s); ++ ++ memcpy (symbol + 1, ".size", 5); ++ lang_define_start_stop (symbol + 1, s); ++ free (symbol); ++ } ++} ++ ++/* Set .startof., .sizeof., __start and __stop symbols final values. */ ++ ++static void ++set_start_stop (struct bfd_link_hash_entry *h) ++{ ++ if (h->ldscript_def ++ || h->type != bfd_link_hash_defined) ++ return; ++ ++ if (h->root.string[0] == '.') ++ { ++ /* .startof. or .sizeof. symbol. ++ .startof. already has final value. */ ++ if (h->root.string[2] == 'i') ++ { ++ /* .sizeof. */ ++ h->u.def.value = TO_ADDR (h->u.def.section->size); ++ h->u.def.section = bfd_abs_section_ptr; ++ } ++ } ++ else ++ { ++ /* __start or __stop symbol. */ ++ int has_lead = bfd_get_symbol_leading_char (link_info.output_bfd) != 0; ++ ++ h->u.def.section = h->u.def.section->output_section; ++ if (h->root.string[4 + has_lead] == 'o') ++ { ++ /* __stop_ */ ++ h->u.def.value = TO_ADDR (h->u.def.section->size); ++ } ++ } ++} ++ ++static void ++lang_finalize_start_stop (void) ++{ ++ foreach_start_stop (set_start_stop); ++} ++ ++static void ++lang_symbol_tweaks (void) ++{ ++ /* Give initial values for __start and __stop symbols, so that ELF ++ gc_sections will keep sections referenced by these symbols. Must ++ be done before lang_do_assignments. */ ++ if (config.build_constructors) ++ lang_init_start_stop (); ++ ++ /* Make __ehdr_start hidden, and set def_regular even though it is ++ likely undefined at this stage. For lang_check_relocs. */ ++ if (is_elf_hash_table (link_info.hash) ++ && !bfd_link_relocatable (&link_info)) ++ { ++ struct elf_link_hash_entry *h = (struct elf_link_hash_entry *) ++ bfd_link_hash_lookup (link_info.hash, "__ehdr_start", ++ false, false, true); ++ ++ /* Only adjust the export class if the symbol was referenced ++ and not defined, otherwise leave it alone. */ ++ if (h != NULL ++ && (h->root.type == bfd_link_hash_new ++ || h->root.type == bfd_link_hash_undefined ++ || h->root.type == bfd_link_hash_undefweak ++ || h->root.type == bfd_link_hash_common)) ++ { ++ const struct elf_backend_data *bed; ++ bed = get_elf_backend_data (link_info.output_bfd); ++ (*bed->elf_backend_hide_symbol) (&link_info, h, true); ++ if (ELF_ST_VISIBILITY (h->other) != STV_INTERNAL) ++ h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_HIDDEN; ++ h->def_regular = 1; ++ h->root.linker_def = 1; ++ h->root.rel_from_abs = 1; ++ } ++ } ++} ++ ++static void ++lang_end (void) ++{ ++ struct bfd_link_hash_entry *h; ++ bool warn; ++ ++ if ((bfd_link_relocatable (&link_info) && !link_info.gc_sections) ++ || bfd_link_dll (&link_info)) ++ warn = entry_from_cmdline; ++ else ++ warn = true; ++ ++ /* Force the user to specify a root when generating a relocatable with ++ --gc-sections, unless --gc-keep-exported was also given. */ ++ if (bfd_link_relocatable (&link_info) ++ && link_info.gc_sections ++ && !link_info.gc_keep_exported) ++ { ++ struct bfd_sym_chain *sym; ++ ++ for (sym = link_info.gc_sym_list; sym != NULL; sym = sym->next) ++ { ++ h = bfd_link_hash_lookup (link_info.hash, sym->name, ++ false, false, false); ++ if (h != NULL ++ && (h->type == bfd_link_hash_defined ++ || h->type == bfd_link_hash_defweak) ++ && !bfd_is_const_section (h->u.def.section)) ++ break; ++ } ++ if (!sym) ++ einfo (_("%F%P: --gc-sections requires a defined symbol root " ++ "specified by -e or -u\n")); ++ } ++ ++ if (entry_symbol.name == NULL) ++ { ++ /* No entry has been specified. Look for the default entry, but ++ don't warn if we don't find it. */ ++ entry_symbol.name = entry_symbol_default; ++ warn = false; ++ } ++ ++ h = bfd_link_hash_lookup (link_info.hash, entry_symbol.name, ++ false, false, true); ++ if (h != NULL ++ && (h->type == bfd_link_hash_defined ++ || h->type == bfd_link_hash_defweak) ++ && h->u.def.section->output_section != NULL) ++ { ++ bfd_vma val; ++ ++ val = (h->u.def.value ++ + bfd_section_vma (h->u.def.section->output_section) ++ + h->u.def.section->output_offset); ++ if (!bfd_set_start_address (link_info.output_bfd, val)) ++ einfo (_("%F%P: %s: can't set start address\n"), entry_symbol.name); ++ } ++ else ++ { ++ bfd_vma val; ++ const char *send; ++ ++ /* We couldn't find the entry symbol. Try parsing it as a ++ number. */ ++ val = bfd_scan_vma (entry_symbol.name, &send, 0); ++ if (*send == '\0') ++ { ++ if (!bfd_set_start_address (link_info.output_bfd, val)) ++ einfo (_("%F%P: can't set start address\n")); ++ } ++ /* BZ 2004952: Only use the start of the entry section for executables. */ ++ else if bfd_link_executable (&link_info) ++ { ++ asection *ts; ++ ++ /* Can't find the entry symbol, and it's not a number. Use ++ the first address in the text section. */ ++ ts = bfd_get_section_by_name (link_info.output_bfd, entry_section); ++ if (ts != NULL) ++ { ++ if (warn) ++ einfo (_("%P: warning: cannot find entry symbol %s;" ++ " defaulting to %V\n"), ++ entry_symbol.name, ++ bfd_section_vma (ts)); ++ if (!bfd_set_start_address (link_info.output_bfd, ++ bfd_section_vma (ts))) ++ einfo (_("%F%P: can't set start address\n")); ++ } ++ else ++ { ++ if (warn) ++ einfo (_("%P: warning: cannot find entry symbol %s;" ++ " not setting start address\n"), ++ entry_symbol.name); ++ } ++ } ++ else ++ { ++ if (warn) ++ einfo (_("%P: warning: cannot find entry symbol %s;" ++ " not setting start address\n"), ++ entry_symbol.name); ++ } ++ } ++} ++ ++/* This is a small function used when we want to ignore errors from ++ BFD. */ ++ ++static void ++ignore_bfd_errors (const char *fmt ATTRIBUTE_UNUSED, ++ va_list ap ATTRIBUTE_UNUSED) ++{ ++ /* Don't do anything. */ ++} ++ ++/* Check that the architecture of all the input files is compatible ++ with the output file. Also call the backend to let it do any ++ other checking that is needed. */ ++ ++static void ++lang_check (void) ++{ ++ lang_input_statement_type *file; ++ bfd *input_bfd; ++ const bfd_arch_info_type *compatible; ++ ++ for (file = (void *) file_chain.head; ++ file != NULL; ++ file = file->next) ++ { ++#if BFD_SUPPORTS_PLUGINS ++ /* Don't check format of files claimed by plugin. */ ++ if (file->flags.claimed) ++ continue; ++#endif /* BFD_SUPPORTS_PLUGINS */ ++ input_bfd = file->the_bfd; ++ compatible ++ = bfd_arch_get_compatible (input_bfd, link_info.output_bfd, ++ command_line.accept_unknown_input_arch); ++ ++ /* In general it is not possible to perform a relocatable ++ link between differing object formats when the input ++ file has relocations, because the relocations in the ++ input format may not have equivalent representations in ++ the output format (and besides BFD does not translate ++ relocs for other link purposes than a final link). */ ++ if (!file->flags.just_syms ++ && (bfd_link_relocatable (&link_info) ++ || link_info.emitrelocations) ++ && (compatible == NULL ++ || (bfd_get_flavour (input_bfd) ++ != bfd_get_flavour (link_info.output_bfd))) ++ && (bfd_get_file_flags (input_bfd) & HAS_RELOC) != 0) ++ { ++ einfo (_("%F%P: relocatable linking with relocations from" ++ " format %s (%pB) to format %s (%pB) is not supported\n"), ++ bfd_get_target (input_bfd), input_bfd, ++ bfd_get_target (link_info.output_bfd), link_info.output_bfd); ++ /* einfo with %F exits. */ ++ } ++ ++ if (compatible == NULL) ++ { ++ if (command_line.warn_mismatch) ++ einfo (_("%X%P: %s architecture of input file `%pB'" ++ " is incompatible with %s output\n"), ++ bfd_printable_name (input_bfd), input_bfd, ++ bfd_printable_name (link_info.output_bfd)); ++ } ++ ++ /* If the input bfd has no contents, it shouldn't set the ++ private data of the output bfd. */ ++ else if (!file->flags.just_syms ++ && ((input_bfd->flags & DYNAMIC) != 0 ++ || bfd_count_sections (input_bfd) != 0)) ++ { ++ bfd_error_handler_type pfn = NULL; ++ ++ /* If we aren't supposed to warn about mismatched input ++ files, temporarily set the BFD error handler to a ++ function which will do nothing. We still want to call ++ bfd_merge_private_bfd_data, since it may set up ++ information which is needed in the output file. */ ++ if (!command_line.warn_mismatch) ++ pfn = bfd_set_error_handler (ignore_bfd_errors); ++ if (!bfd_merge_private_bfd_data (input_bfd, &link_info)) ++ { ++ if (command_line.warn_mismatch) ++ einfo (_("%X%P: failed to merge target specific data" ++ " of file %pB\n"), input_bfd); ++ } ++ if (!command_line.warn_mismatch) ++ bfd_set_error_handler (pfn); ++ } ++ } ++} ++ ++/* Look through all the global common symbols and attach them to the ++ correct section. The -sort-common command line switch may be used ++ to roughly sort the entries by alignment. */ ++ ++static void ++lang_common (void) ++{ ++ if (link_info.inhibit_common_definition) ++ return; ++ if (bfd_link_relocatable (&link_info) ++ && !command_line.force_common_definition) ++ return; ++ ++ if (!config.sort_common) ++ bfd_link_hash_traverse (link_info.hash, lang_one_common, NULL); ++ else ++ { ++ unsigned int power; ++ ++ if (config.sort_common == sort_descending) ++ { ++ for (power = 4; power > 0; power--) ++ bfd_link_hash_traverse (link_info.hash, lang_one_common, &power); ++ ++ power = 0; ++ bfd_link_hash_traverse (link_info.hash, lang_one_common, &power); ++ } ++ else ++ { ++ for (power = 0; power <= 4; power++) ++ bfd_link_hash_traverse (link_info.hash, lang_one_common, &power); ++ ++ power = (unsigned int) -1; ++ bfd_link_hash_traverse (link_info.hash, lang_one_common, &power); ++ } ++ } ++} ++ ++/* Place one common symbol in the correct section. */ ++ ++static bool ++lang_one_common (struct bfd_link_hash_entry *h, void *info) ++{ ++ unsigned int power_of_two; ++ bfd_vma size; ++ asection *section; ++ ++ if (h->type != bfd_link_hash_common) ++ return true; ++ ++ size = h->u.c.size; ++ power_of_two = h->u.c.p->alignment_power; ++ ++ if (config.sort_common == sort_descending ++ && power_of_two < *(unsigned int *) info) ++ return true; ++ else if (config.sort_common == sort_ascending ++ && power_of_two > *(unsigned int *) info) ++ return true; ++ ++ section = h->u.c.p->section; ++ if (!bfd_define_common_symbol (link_info.output_bfd, &link_info, h)) ++ einfo (_("%F%P: could not define common symbol `%pT': %E\n"), ++ h->root.string); ++ ++ if (config.map_file != NULL) ++ { ++ static bool header_printed; ++ int len; ++ char *name; ++ char buf[32]; ++ ++ if (!header_printed) ++ { ++ minfo (_("\nAllocating common symbols\n")); ++ minfo (_("Common symbol size file\n\n")); ++ header_printed = true; ++ } ++ ++ name = bfd_demangle (link_info.output_bfd, h->root.string, ++ DMGL_ANSI | DMGL_PARAMS); ++ if (name == NULL) ++ { ++ minfo ("%s", h->root.string); ++ len = strlen (h->root.string); ++ } ++ else ++ { ++ minfo ("%s", name); ++ len = strlen (name); ++ free (name); ++ } ++ ++ if (len >= 19) ++ { ++ print_nl (); ++ len = 0; ++ } ++ ++ sprintf (buf, "%" PRIx64, (uint64_t) size); ++ fprintf (config.map_file, "%*s0x%-16s", 20 - len, "", buf); ++ ++ minfo ("%pB\n", section->owner); ++ } ++ ++ return true; ++} ++ ++/* Handle a single orphan section S, placing the orphan into an appropriate ++ output section. The effects of the --orphan-handling command line ++ option are handled here. */ ++ ++static void ++ldlang_place_orphan (asection *s) ++{ ++ if (config.orphan_handling == orphan_handling_discard) ++ { ++ lang_output_section_statement_type *os; ++ os = lang_output_section_statement_lookup (DISCARD_SECTION_NAME, 0, 1); ++ if (os->addr_tree == NULL ++ && (bfd_link_relocatable (&link_info) ++ || (s->flags & (SEC_LOAD | SEC_ALLOC)) == 0)) ++ os->addr_tree = exp_intop (0); ++ lang_add_section (&os->children, s, NULL, NULL, os); ++ } ++ else ++ { ++ lang_output_section_statement_type *os; ++ const char *name = s->name; ++ int constraint = 0; ++ ++ if (config.orphan_handling == orphan_handling_error) ++ einfo (_("%X%P: error: unplaced orphan section `%pA' from `%pB'\n"), ++ s, s->owner); ++ ++ if (config.unique_orphan_sections || unique_section_p (s, NULL)) ++ constraint = SPECIAL; ++ ++ os = ldemul_place_orphan (s, name, constraint); ++ if (os == NULL) ++ { ++ os = lang_output_section_statement_lookup (name, constraint, 1); ++ if (os->addr_tree == NULL ++ && (bfd_link_relocatable (&link_info) ++ || (s->flags & (SEC_LOAD | SEC_ALLOC)) == 0)) ++ os->addr_tree = exp_intop (0); ++ lang_add_section (&os->children, s, NULL, NULL, os); ++ } ++ ++ if (config.orphan_handling == orphan_handling_warn) ++ einfo (_("%P: warning: orphan section `%pA' from `%pB' being " ++ "placed in section `%s'\n"), ++ s, s->owner, os->name); ++ } ++} ++ ++/* Run through the input files and ensure that every input section has ++ somewhere to go. If one is found without a destination then create ++ an input request and place it into the statement tree. */ ++ ++static void ++lang_place_orphans (void) ++{ ++ LANG_FOR_EACH_INPUT_STATEMENT (file) ++ { ++ asection *s; ++ ++ for (s = file->the_bfd->sections; s != NULL; s = s->next) ++ { ++ if (s->output_section == NULL) ++ { ++ /* This section of the file is not attached, root ++ around for a sensible place for it to go. */ ++ ++ if (file->flags.just_syms) ++ bfd_link_just_syms (file->the_bfd, s, &link_info); ++ else if (lang_discard_section_p (s)) ++ s->output_section = bfd_abs_section_ptr; ++ else if (strcmp (s->name, "COMMON") == 0) ++ { ++ /* This is a lonely common section which must have ++ come from an archive. We attach to the section ++ with the wildcard. */ ++ if (!bfd_link_relocatable (&link_info) ++ || command_line.force_common_definition) ++ { ++ if (default_common_section == NULL) ++ default_common_section ++ = lang_output_section_statement_lookup (".bss", 0, 1); ++ lang_add_section (&default_common_section->children, s, ++ NULL, NULL, default_common_section); ++ } ++ } ++ else ++ ldlang_place_orphan (s); ++ } ++ } ++ } ++} ++ ++void ++lang_set_flags (lang_memory_region_type *ptr, const char *flags, int invert) ++{ ++ flagword *ptr_flags; ++ ++ ptr_flags = invert ? &ptr->not_flags : &ptr->flags; ++ ++ while (*flags) ++ { ++ switch (*flags) ++ { ++ /* PR 17900: An exclamation mark in the attributes reverses ++ the sense of any of the attributes that follow. */ ++ case '!': ++ invert = !invert; ++ ptr_flags = invert ? &ptr->not_flags : &ptr->flags; ++ break; ++ ++ case 'A': case 'a': ++ *ptr_flags |= SEC_ALLOC; ++ break; ++ ++ case 'R': case 'r': ++ *ptr_flags |= SEC_READONLY; ++ break; ++ ++ case 'W': case 'w': ++ *ptr_flags |= SEC_DATA; ++ break; ++ ++ case 'X': case 'x': ++ *ptr_flags |= SEC_CODE; ++ break; ++ ++ case 'L': case 'l': ++ case 'I': case 'i': ++ *ptr_flags |= SEC_LOAD; ++ break; ++ ++ default: ++ einfo (_("%F%P: invalid character %c (%d) in flags\n"), ++ *flags, *flags); ++ break; ++ } ++ flags++; ++ } ++} ++ ++/* Call a function on each real input file. This function will be ++ called on an archive, but not on the elements. */ ++ ++void ++lang_for_each_input_file (void (*func) (lang_input_statement_type *)) ++{ ++ lang_input_statement_type *f; ++ ++ for (f = (void *) input_file_chain.head; ++ f != NULL; ++ f = f->next_real_file) ++ if (f->flags.real) ++ func (f); ++} ++ ++/* Call a function on each real file. The function will be called on ++ all the elements of an archive which are included in the link, but ++ will not be called on the archive file itself. */ ++ ++void ++lang_for_each_file (void (*func) (lang_input_statement_type *)) ++{ ++ LANG_FOR_EACH_INPUT_STATEMENT (f) ++ { ++ if (f->flags.real) ++ func (f); ++ } ++} ++ ++void ++ldlang_add_file (lang_input_statement_type *entry) ++{ ++ lang_statement_append (&file_chain, entry, &entry->next); ++ ++ /* The BFD linker needs to have a list of all input BFDs involved in ++ a link. */ ++ ASSERT (link_info.input_bfds_tail != &entry->the_bfd->link.next ++ && entry->the_bfd->link.next == NULL); ++ ASSERT (entry->the_bfd != link_info.output_bfd); ++ ++ *link_info.input_bfds_tail = entry->the_bfd; ++ link_info.input_bfds_tail = &entry->the_bfd->link.next; ++ bfd_set_usrdata (entry->the_bfd, entry); ++ bfd_set_gp_size (entry->the_bfd, g_switch_value); ++ ++ /* Look through the sections and check for any which should not be ++ included in the link. We need to do this now, so that we can ++ notice when the backend linker tries to report multiple ++ definition errors for symbols which are in sections we aren't ++ going to link. FIXME: It might be better to entirely ignore ++ symbols which are defined in sections which are going to be ++ discarded. This would require modifying the backend linker for ++ each backend which might set the SEC_LINK_ONCE flag. If we do ++ this, we should probably handle SEC_EXCLUDE in the same way. */ ++ ++ bfd_map_over_sections (entry->the_bfd, section_already_linked, entry); ++} ++ ++void ++lang_add_output (const char *name, int from_script) ++{ ++ /* Make -o on command line override OUTPUT in script. */ ++ if (!had_output_filename || !from_script) ++ { ++ output_filename = name; ++ had_output_filename = true; ++ } ++} ++ ++lang_output_section_statement_type * ++lang_enter_output_section_statement (const char *output_section_statement_name, ++ etree_type *address_exp, ++ enum section_type sectype, ++ etree_type *sectype_value, ++ etree_type *align, ++ etree_type *subalign, ++ etree_type *ebase, ++ int constraint, ++ int align_with_input) ++{ ++ lang_output_section_statement_type *os; ++ ++ os = lang_output_section_statement_lookup (output_section_statement_name, ++ constraint, 2); ++ current_section = os; ++ ++ if (os->addr_tree == NULL) ++ { ++ os->addr_tree = address_exp; ++ } ++ os->sectype = sectype; ++ if (sectype == type_section || sectype == typed_readonly_section) ++ os->sectype_value = sectype_value; ++ else if (sectype == noload_section) ++ os->flags = SEC_NEVER_LOAD; ++ else ++ os->flags = SEC_NO_FLAGS; ++ os->block_value = 1; ++ ++ /* Make next things chain into subchain of this. */ ++ push_stat_ptr (&os->children); ++ ++ os->align_lma_with_input = align_with_input == ALIGN_WITH_INPUT; ++ if (os->align_lma_with_input && align != NULL) ++ einfo (_("%F%P:%pS: error: align with input and explicit align specified\n"), ++ NULL); ++ ++ os->subsection_alignment = subalign; ++ os->section_alignment = align; ++ ++ os->load_base = ebase; ++ return os; ++} ++ ++void ++lang_final (void) ++{ ++ lang_output_statement_type *new_stmt; ++ ++ new_stmt = new_stat (lang_output_statement, stat_ptr); ++ new_stmt->name = output_filename; ++} ++ ++/* Reset the current counters in the regions. */ ++ ++void ++lang_reset_memory_regions (void) ++{ ++ lang_memory_region_type *p = lang_memory_region_list; ++ asection *o; ++ lang_output_section_statement_type *os; ++ ++ for (p = lang_memory_region_list; p != NULL; p = p->next) ++ { ++ p->current = p->origin; ++ p->last_os = NULL; ++ } ++ ++ for (os = (void *) lang_os_list.head; ++ os != NULL; ++ os = os->next) ++ { ++ os->processed_vma = false; ++ os->processed_lma = false; ++ } ++ ++ for (o = link_info.output_bfd->sections; o != NULL; o = o->next) ++ { ++ /* Save the last size for possible use by bfd_relax_section. */ ++ o->rawsize = o->size; ++ if (!(o->flags & SEC_FIXED_SIZE)) ++ o->size = 0; ++ } ++} ++ ++/* Worker for lang_gc_sections_1. */ ++ ++static void ++gc_section_callback (lang_wild_statement_type *ptr, ++ struct wildcard_list *sec ATTRIBUTE_UNUSED, ++ asection *section, ++ lang_input_statement_type *file ATTRIBUTE_UNUSED, ++ void *data ATTRIBUTE_UNUSED) ++{ ++ /* If the wild pattern was marked KEEP, the member sections ++ should be as well. */ ++ if (ptr->keep_sections) ++ section->flags |= SEC_KEEP; ++} ++ ++/* Iterate over sections marking them against GC. */ ++ ++static void ++lang_gc_sections_1 (lang_statement_union_type *s) ++{ ++ for (; s != NULL; s = s->header.next) ++ { ++ switch (s->header.type) ++ { ++ case lang_wild_statement_enum: ++ walk_wild (&s->wild_statement, gc_section_callback, NULL); ++ break; ++ case lang_constructors_statement_enum: ++ lang_gc_sections_1 (constructor_list.head); ++ break; ++ case lang_output_section_statement_enum: ++ lang_gc_sections_1 (s->output_section_statement.children.head); ++ break; ++ case lang_group_statement_enum: ++ lang_gc_sections_1 (s->group_statement.children.head); ++ break; ++ default: ++ break; ++ } ++ } ++} ++ ++static void ++lang_gc_sections (void) ++{ ++ /* Keep all sections so marked in the link script. */ ++ lang_gc_sections_1 (statement_list.head); ++ ++ /* SEC_EXCLUDE is ignored when doing a relocatable link, except in ++ the special case of .stabstr debug info. (See bfd/stabs.c) ++ Twiddle the flag here, to simplify later linker code. */ ++ if (bfd_link_relocatable (&link_info)) ++ { ++ LANG_FOR_EACH_INPUT_STATEMENT (f) ++ { ++ asection *sec; ++#if BFD_SUPPORTS_PLUGINS ++ if (f->flags.claimed) ++ continue; ++#endif ++ for (sec = f->the_bfd->sections; sec != NULL; sec = sec->next) ++ if ((sec->flags & SEC_DEBUGGING) == 0 ++ || strcmp (sec->name, ".stabstr") != 0) ++ sec->flags &= ~SEC_EXCLUDE; ++ } ++ } ++ ++ if (link_info.gc_sections) ++ bfd_gc_sections (link_info.output_bfd, &link_info); ++} ++ ++/* Worker for lang_find_relro_sections_1. */ ++ ++static void ++find_relro_section_callback (lang_wild_statement_type *ptr ATTRIBUTE_UNUSED, ++ struct wildcard_list *sec ATTRIBUTE_UNUSED, ++ asection *section, ++ lang_input_statement_type *file ATTRIBUTE_UNUSED, ++ void *data) ++{ ++ /* Discarded, excluded and ignored sections effectively have zero ++ size. */ ++ if (section->output_section != NULL ++ && section->output_section->owner == link_info.output_bfd ++ && (section->output_section->flags & SEC_EXCLUDE) == 0 ++ && !IGNORE_SECTION (section) ++ && section->size != 0) ++ { ++ bool *has_relro_section = (bool *) data; ++ *has_relro_section = true; ++ } ++} ++ ++/* Iterate over sections for relro sections. */ ++ ++static void ++lang_find_relro_sections_1 (lang_statement_union_type *s, ++ bool *has_relro_section) ++{ ++ if (*has_relro_section) ++ return; ++ ++ for (; s != NULL; s = s->header.next) ++ { ++ if (s == expld.dataseg.relro_end_stat) ++ break; ++ ++ switch (s->header.type) ++ { ++ case lang_wild_statement_enum: ++ walk_wild (&s->wild_statement, ++ find_relro_section_callback, ++ has_relro_section); ++ break; ++ case lang_constructors_statement_enum: ++ lang_find_relro_sections_1 (constructor_list.head, ++ has_relro_section); ++ break; ++ case lang_output_section_statement_enum: ++ lang_find_relro_sections_1 (s->output_section_statement.children.head, ++ has_relro_section); ++ break; ++ case lang_group_statement_enum: ++ lang_find_relro_sections_1 (s->group_statement.children.head, ++ has_relro_section); ++ break; ++ default: ++ break; ++ } ++ } ++} ++ ++static void ++lang_find_relro_sections (void) ++{ ++ bool has_relro_section = false; ++ ++ /* Check all sections in the link script. */ ++ ++ lang_find_relro_sections_1 (expld.dataseg.relro_start_stat, ++ &has_relro_section); ++ ++ if (!has_relro_section) ++ link_info.relro = false; ++} ++ ++/* Relax all sections until bfd_relax_section gives up. */ ++ ++void ++lang_relax_sections (bool need_layout) ++{ ++ /* NB: Also enable relaxation to layout sections for DT_RELR. */ ++ if (RELAXATION_ENABLED || link_info.enable_dt_relr) ++ { ++ /* We may need more than one relaxation pass. */ ++ int i = link_info.relax_pass; ++ ++ /* The backend can use it to determine the current pass. */ ++ link_info.relax_pass = 0; ++ ++ while (i--) ++ { ++ /* Keep relaxing until bfd_relax_section gives up. */ ++ bool relax_again; ++ ++ link_info.relax_trip = -1; ++ do ++ { ++ link_info.relax_trip++; ++ ++ /* Note: pe-dll.c does something like this also. If you find ++ you need to change this code, you probably need to change ++ pe-dll.c also. DJ */ ++ ++ /* Do all the assignments with our current guesses as to ++ section sizes. */ ++ lang_do_assignments (lang_assigning_phase_enum); ++ ++ /* We must do this after lang_do_assignments, because it uses ++ size. */ ++ lang_reset_memory_regions (); ++ ++ /* Perform another relax pass - this time we know where the ++ globals are, so can make a better guess. */ ++ relax_again = false; ++ lang_size_sections (&relax_again, false); ++ } ++ while (relax_again); ++ ++ link_info.relax_pass++; ++ } ++ need_layout = true; ++ } ++ ++ if (need_layout) ++ { ++ /* Final extra sizing to report errors. */ ++ lang_do_assignments (lang_assigning_phase_enum); ++ lang_reset_memory_regions (); ++ lang_size_sections (NULL, true); ++ } ++} ++ ++#if BFD_SUPPORTS_PLUGINS ++/* Find the insert point for the plugin's replacement files. We ++ place them after the first claimed real object file, or if the ++ first claimed object is an archive member, after the last real ++ object file immediately preceding the archive. In the event ++ no objects have been claimed at all, we return the first dummy ++ object file on the list as the insert point; that works, but ++ the callee must be careful when relinking the file_chain as it ++ is not actually on that chain, only the statement_list and the ++ input_file list; in that case, the replacement files must be ++ inserted at the head of the file_chain. */ ++ ++static lang_input_statement_type * ++find_replacements_insert_point (bool *before) ++{ ++ lang_input_statement_type *claim1, *lastobject; ++ lastobject = (void *) input_file_chain.head; ++ for (claim1 = (void *) file_chain.head; ++ claim1 != NULL; ++ claim1 = claim1->next) ++ { ++ if (claim1->flags.claimed) ++ { ++ *before = claim1->flags.claim_archive; ++ return claim1->flags.claim_archive ? lastobject : claim1; ++ } ++ /* Update lastobject if this is a real object file. */ ++ if (claim1->the_bfd != NULL && claim1->the_bfd->my_archive == NULL) ++ lastobject = claim1; ++ } ++ /* No files were claimed by the plugin. Choose the last object ++ file found on the list (maybe the first, dummy entry) as the ++ insert point. */ ++ *before = false; ++ return lastobject; ++} ++ ++/* Find where to insert ADD, an archive element or shared library ++ added during a rescan. */ ++ ++static lang_input_statement_type ** ++find_rescan_insertion (lang_input_statement_type *add) ++{ ++ bfd *add_bfd = add->the_bfd; ++ lang_input_statement_type *f; ++ lang_input_statement_type *last_loaded = NULL; ++ lang_input_statement_type *before = NULL; ++ lang_input_statement_type **iter = NULL; ++ ++ if (add_bfd->my_archive != NULL) ++ add_bfd = add_bfd->my_archive; ++ ++ /* First look through the input file chain, to find an object file ++ before the one we've rescanned. Normal object files always ++ appear on both the input file chain and the file chain, so this ++ lets us get quickly to somewhere near the correct place on the ++ file chain if it is full of archive elements. Archives don't ++ appear on the file chain, but if an element has been extracted ++ then their input_statement->next points at it. */ ++ for (f = (void *) input_file_chain.head; ++ f != NULL; ++ f = f->next_real_file) ++ { ++ if (f->the_bfd == add_bfd) ++ { ++ before = last_loaded; ++ if (f->next != NULL) ++ return &f->next->next; ++ } ++ if (f->the_bfd != NULL && f->next != NULL) ++ last_loaded = f; ++ } ++ ++ for (iter = before ? &before->next : &file_chain.head->input_statement.next; ++ *iter != NULL; ++ iter = &(*iter)->next) ++ if (!(*iter)->flags.claim_archive ++ && (*iter)->the_bfd->my_archive == NULL) ++ break; ++ ++ return iter; ++} ++ ++/* Insert SRCLIST into DESTLIST after given element by chaining ++ on FIELD as the next-pointer. (Counterintuitively does not need ++ a pointer to the actual after-node itself, just its chain field.) */ ++ ++static void ++lang_list_insert_after (lang_statement_list_type *destlist, ++ lang_statement_list_type *srclist, ++ lang_statement_union_type **field) ++{ ++ *(srclist->tail) = *field; ++ *field = srclist->head; ++ if (destlist->tail == field) ++ destlist->tail = srclist->tail; ++} ++ ++/* Detach new nodes added to DESTLIST since the time ORIGLIST ++ was taken as a copy of it and leave them in ORIGLIST. */ ++ ++static void ++lang_list_remove_tail (lang_statement_list_type *destlist, ++ lang_statement_list_type *origlist) ++{ ++ union lang_statement_union **savetail; ++ /* Check that ORIGLIST really is an earlier state of DESTLIST. */ ++ ASSERT (origlist->head == destlist->head); ++ savetail = origlist->tail; ++ origlist->head = *(savetail); ++ origlist->tail = destlist->tail; ++ destlist->tail = savetail; ++ *savetail = NULL; ++} ++ ++static lang_statement_union_type ** ++find_next_input_statement (lang_statement_union_type **s) ++{ ++ for ( ; *s; s = &(*s)->header.next) ++ { ++ lang_statement_union_type **t; ++ switch ((*s)->header.type) ++ { ++ case lang_input_statement_enum: ++ return s; ++ case lang_wild_statement_enum: ++ t = &(*s)->wild_statement.children.head; ++ break; ++ case lang_group_statement_enum: ++ t = &(*s)->group_statement.children.head; ++ break; ++ case lang_output_section_statement_enum: ++ t = &(*s)->output_section_statement.children.head; ++ break; ++ default: ++ continue; ++ } ++ t = find_next_input_statement (t); ++ if (*t) ++ return t; ++ } ++ return s; ++} ++#endif /* BFD_SUPPORTS_PLUGINS */ ++ ++/* Add NAME to the list of garbage collection entry points. */ ++ ++void ++lang_add_gc_name (const char *name) ++{ ++ struct bfd_sym_chain *sym; ++ ++ if (name == NULL) ++ return; ++ ++ sym = stat_alloc (sizeof (*sym)); ++ ++ sym->next = link_info.gc_sym_list; ++ sym->name = name; ++ link_info.gc_sym_list = sym; ++} ++ ++/* Check relocations. */ ++ ++static void ++lang_check_relocs (void) ++{ ++ if (link_info.check_relocs_after_open_input) ++ { ++ bfd *abfd; ++ ++ for (abfd = link_info.input_bfds; ++ abfd != (bfd *) NULL; abfd = abfd->link.next) ++ if (!bfd_link_check_relocs (abfd, &link_info)) ++ { ++ /* No object output, fail return. */ ++ config.make_executable = false; ++ /* Note: we do not abort the loop, but rather ++ continue the scan in case there are other ++ bad relocations to report. */ ++ } ++ } ++} ++ ++/* Look through all output sections looking for places where we can ++ propagate forward the lma region. */ ++ ++static void ++lang_propagate_lma_regions (void) ++{ ++ lang_output_section_statement_type *os; ++ ++ for (os = (void *) lang_os_list.head; ++ os != NULL; ++ os = os->next) ++ { ++ if (os->prev != NULL ++ && os->lma_region == NULL ++ && os->load_base == NULL ++ && os->addr_tree == NULL ++ && os->region == os->prev->region) ++ os->lma_region = os->prev->lma_region; ++ } ++} ++ ++static void ++warn_non_contiguous_discards (void) ++{ ++ LANG_FOR_EACH_INPUT_STATEMENT (file) ++ { ++ if ((file->the_bfd->flags & (BFD_LINKER_CREATED | DYNAMIC)) != 0 ++ || file->flags.just_syms) ++ continue; ++ ++ for (asection *s = file->the_bfd->sections; s != NULL; s = s->next) ++ if (s->output_section == NULL ++ && (s->flags & SEC_LINKER_CREATED) == 0) ++ einfo (_("%P: warning: --enable-non-contiguous-regions " ++ "discards section `%pA' from `%pB'\n"), ++ s, file->the_bfd); ++ } ++} ++ ++static void ++reset_one_wild (lang_statement_union_type *statement) ++{ ++ if (statement->header.type == lang_wild_statement_enum) ++ { ++ lang_wild_statement_type *stmt = &statement->wild_statement; ++ lang_list_init (&stmt->matching_sections); ++ } ++} ++ ++static void ++reset_resolved_wilds (void) ++{ ++ lang_for_each_statement (reset_one_wild); ++} ++ ++void ++lang_process (void) ++{ ++ /* Finalize dynamic list. */ ++ if (link_info.dynamic_list) ++ lang_finalize_version_expr_head (&link_info.dynamic_list->head); ++ ++ current_target = default_target; ++ ++ /* Open the output file. */ ++ lang_for_each_statement (ldlang_open_output); ++ init_opb (NULL); ++ ++ ldemul_create_output_section_statements (); ++ ++ /* Add to the hash table all undefineds on the command line. */ ++ lang_place_undefineds (); ++ ++ if (!bfd_section_already_linked_table_init ()) ++ einfo (_("%F%P: can not create hash table: %E\n")); ++ ++ /* A first pass through the memory regions ensures that if any region ++ references a symbol for its origin or length then this symbol will be ++ added to the symbol table. Having these symbols in the symbol table ++ means that when we call open_input_bfds PROVIDE statements will ++ trigger to provide any needed symbols. The regions origins and ++ lengths are not assigned as a result of this call. */ ++ lang_do_memory_regions (false); ++ ++ /* Create a bfd for each input file. */ ++ current_target = default_target; ++ lang_statement_iteration++; ++ open_input_bfds (statement_list.head, OPEN_BFD_NORMAL); ++ ++ /* Now that open_input_bfds has processed assignments and provide ++ statements we can give values to symbolic origin/length now. */ ++ lang_do_memory_regions (true); ++ ++ ldemul_before_plugin_all_symbols_read (); ++ ++#if BFD_SUPPORTS_PLUGINS ++ if (link_info.lto_plugin_active) ++ { ++ lang_statement_list_type added; ++ lang_statement_list_type files, inputfiles; ++ ++ /* Now all files are read, let the plugin(s) decide if there ++ are any more to be added to the link before we call the ++ emulation's after_open hook. We create a private list of ++ input statements for this purpose, which we will eventually ++ insert into the global statement list after the first claimed ++ file. */ ++ added = *stat_ptr; ++ /* We need to manipulate all three chains in synchrony. */ ++ files = file_chain; ++ inputfiles = input_file_chain; ++ if (plugin_call_all_symbols_read ()) ++ einfo (_("%F%P: %s: plugin reported error after all symbols read\n"), ++ plugin_error_plugin ()); ++ link_info.lto_all_symbols_read = true; ++ /* Open any newly added files, updating the file chains. */ ++ plugin_undefs = link_info.hash->undefs_tail; ++ open_input_bfds (*added.tail, OPEN_BFD_NORMAL); ++ if (plugin_undefs == link_info.hash->undefs_tail) ++ plugin_undefs = NULL; ++ /* Restore the global list pointer now they have all been added. */ ++ lang_list_remove_tail (stat_ptr, &added); ++ /* And detach the fresh ends of the file lists. */ ++ lang_list_remove_tail (&file_chain, &files); ++ lang_list_remove_tail (&input_file_chain, &inputfiles); ++ /* Were any new files added? */ ++ if (added.head != NULL) ++ { ++ /* If so, we will insert them into the statement list immediately ++ after the first input file that was claimed by the plugin, ++ unless that file was an archive in which case it is inserted ++ immediately before. */ ++ bool before; ++ lang_statement_union_type **prev; ++ plugin_insert = find_replacements_insert_point (&before); ++ /* If a plugin adds input files without having claimed any, we ++ don't really have a good idea where to place them. Just putting ++ them at the start or end of the list is liable to leave them ++ outside the crtbegin...crtend range. */ ++ ASSERT (plugin_insert != NULL); ++ /* Splice the new statement list into the old one. */ ++ prev = &plugin_insert->header.next; ++ if (before) ++ { ++ prev = find_next_input_statement (prev); ++ if (*prev != (void *) plugin_insert->next_real_file) ++ { ++ /* We didn't find the expected input statement. ++ Fall back to adding after plugin_insert. */ ++ prev = &plugin_insert->header.next; ++ } ++ } ++ lang_list_insert_after (stat_ptr, &added, prev); ++ /* Likewise for the file chains. */ ++ lang_list_insert_after (&input_file_chain, &inputfiles, ++ (void *) &plugin_insert->next_real_file); ++ /* We must be careful when relinking file_chain; we may need to ++ insert the new files at the head of the list if the insert ++ point chosen is the dummy first input file. */ ++ if (plugin_insert->filename) ++ lang_list_insert_after (&file_chain, &files, ++ (void *) &plugin_insert->next); ++ else ++ lang_list_insert_after (&file_chain, &files, &file_chain.head); ++ ++ /* Rescan archives in case new undefined symbols have appeared. */ ++ files = file_chain; ++ lang_statement_iteration++; ++ open_input_bfds (statement_list.head, OPEN_BFD_RESCAN); ++ lang_list_remove_tail (&file_chain, &files); ++ while (files.head != NULL) ++ { ++ lang_input_statement_type **insert; ++ lang_input_statement_type **iter, *temp; ++ bfd *my_arch; ++ ++ insert = find_rescan_insertion (&files.head->input_statement); ++ /* All elements from an archive can be added at once. */ ++ iter = &files.head->input_statement.next; ++ my_arch = files.head->input_statement.the_bfd->my_archive; ++ if (my_arch != NULL) ++ for (; *iter != NULL; iter = &(*iter)->next) ++ if ((*iter)->the_bfd->my_archive != my_arch) ++ break; ++ temp = *insert; ++ *insert = &files.head->input_statement; ++ files.head = (lang_statement_union_type *) *iter; ++ *iter = temp; ++ if (file_chain.tail == (lang_statement_union_type **) insert) ++ file_chain.tail = (lang_statement_union_type **) iter; ++ if (my_arch != NULL) ++ { ++ lang_input_statement_type *parent = bfd_usrdata (my_arch); ++ if (parent != NULL) ++ parent->next = (lang_input_statement_type *) ++ ((char *) iter ++ - offsetof (lang_input_statement_type, next)); ++ } ++ } ++ } ++ } ++#endif /* BFD_SUPPORTS_PLUGINS */ ++ ++ struct bfd_sym_chain **sym = &link_info.gc_sym_list; ++ while (*sym) ++ sym = &(*sym)->next; ++ ++ *sym = &entry_symbol; ++ ++ if (entry_symbol.name == NULL) ++ { ++ *sym = ldlang_undef_chain_list_head; ++ ++ /* entry_symbol is normally initialised by an ENTRY definition in the ++ linker script or the -e command line option. But if neither of ++ these have been used, the target specific backend may still have ++ provided an entry symbol via a call to lang_default_entry(). ++ Unfortunately this value will not be processed until lang_end() ++ is called, long after this function has finished. So detect this ++ case here and add the target's entry symbol to the list of starting ++ points for garbage collection resolution. */ ++ lang_add_gc_name (entry_symbol_default); ++ } ++ ++ lang_add_gc_name (link_info.init_function); ++ lang_add_gc_name (link_info.fini_function); ++ ++ ldemul_after_open (); ++ if (config.map_file != NULL) ++ lang_print_asneeded (); ++ ++ ldlang_open_ctf (); ++ ++ bfd_section_already_linked_table_free (); ++ ++ /* Make sure that we're not mixing architectures. We call this ++ after all the input files have been opened, but before we do any ++ other processing, so that any operations merge_private_bfd_data ++ does on the output file will be known during the rest of the ++ link. */ ++ lang_check (); ++ ++ /* Handle .exports instead of a version script if we're told to do so. */ ++ if (command_line.version_exports_section) ++ lang_do_version_exports_section (); ++ ++ /* Build all sets based on the information gathered from the input ++ files. */ ++ ldctor_build_sets (); ++ ++ lang_symbol_tweaks (); ++ ++ /* PR 13683: We must rerun the assignments prior to running garbage ++ collection in order to make sure that all symbol aliases are resolved. */ ++ lang_do_assignments (lang_mark_phase_enum); ++ expld.phase = lang_first_phase_enum; ++ ++ /* Size up the common data. */ ++ lang_common (); ++ ++ if (0) ++ debug_prefix_tree (); ++ ++ resolve_wilds (); ++ ++ /* Remove unreferenced sections if asked to. */ ++ lang_gc_sections (); ++ ++ lang_mark_undefineds (); ++ ++ /* Check relocations. */ ++ lang_check_relocs (); ++ ++ ldemul_after_check_relocs (); ++ ++ /* There might have been new sections created (e.g. as result of ++ checking relocs to need a .got, or suchlike), so to properly order ++ them into our lists of matching sections reset them here. */ ++ reset_resolved_wilds (); ++ resolve_wilds (); ++ ++ /* Update wild statements in case the user gave --sort-section. ++ Note how the option might have come after the linker script and ++ so couldn't have been set when the wild statements were created. */ ++ update_wild_statements (statement_list.head); ++ ++ /* Run through the contours of the script and attach input sections ++ to the correct output sections. */ ++ lang_statement_iteration++; ++ map_input_to_output_sections (statement_list.head, NULL, NULL); ++ ++ /* Start at the statement immediately after the special abs_section ++ output statement, so that it isn't reordered. */ ++ process_insert_statements (&lang_os_list.head->header.next); ++ ++ ldemul_before_place_orphans (); ++ ++ /* Find any sections not attached explicitly and handle them. */ ++ lang_place_orphans (); ++ ++ if (!bfd_link_relocatable (&link_info)) ++ { ++ asection *found; ++ ++ /* Merge SEC_MERGE sections. This has to be done after GC of ++ sections, so that GCed sections are not merged, but before ++ assigning dynamic symbols, since removing whole input sections ++ is hard then. */ ++ bfd_merge_sections (link_info.output_bfd, &link_info); ++ ++ /* Look for a text section and set the readonly attribute in it. */ ++ found = bfd_get_section_by_name (link_info.output_bfd, ".text"); ++ ++ if (found != NULL) ++ { ++ if (config.text_read_only) ++ found->flags |= SEC_READONLY; ++ else ++ found->flags &= ~SEC_READONLY; ++ } ++ } ++ ++ /* Merge together CTF sections. After this, only the symtab-dependent ++ function and data object sections need adjustment. */ ++ lang_merge_ctf (); ++ ++ /* Emit the CTF, iff the emulation doesn't need to do late emission after ++ examining things laid out late, like the strtab. */ ++ lang_write_ctf (0); ++ ++ /* Copy forward lma regions for output sections in same lma region. */ ++ lang_propagate_lma_regions (); ++ ++ /* Defining __start/__stop symbols early for --gc-sections to work ++ around a glibc build problem can result in these symbols being ++ defined when they should not be. Fix them now. */ ++ if (config.build_constructors) ++ lang_undef_start_stop (); ++ ++ /* Define .startof./.sizeof. symbols with preliminary values before ++ dynamic symbols are created. */ ++ if (!bfd_link_relocatable (&link_info)) ++ lang_init_startof_sizeof (); ++ ++ /* Do anything special before sizing sections. This is where ELF ++ and other back-ends size dynamic sections. */ ++ ldemul_before_allocation (); ++ ++ /* We must record the program headers before we try to fix the ++ section positions, since they will affect SIZEOF_HEADERS. */ ++ lang_record_phdrs (); ++ ++ /* Check relro sections. */ ++ if (link_info.relro && !bfd_link_relocatable (&link_info)) ++ lang_find_relro_sections (); ++ ++ /* Size up the sections. */ ++ lang_size_sections (NULL, !RELAXATION_ENABLED); ++ ++ /* See if anything special should be done now we know how big ++ everything is. This is where relaxation is done. */ ++ ldemul_after_allocation (); ++ ++ /* Fix any __start, __stop, .startof. or .sizeof. symbols. */ ++ lang_finalize_start_stop (); ++ ++ /* Do all the assignments again, to report errors. Assignment ++ statements are processed multiple times, updating symbols; In ++ open_input_bfds, lang_do_assignments, and lang_size_sections. ++ Since lang_relax_sections calls lang_do_assignments, symbols are ++ also updated in ldemul_after_allocation. */ ++ lang_do_assignments (lang_final_phase_enum); ++ ++ ldemul_finish (); ++ ++ /* Convert absolute symbols to section relative. */ ++ ldexp_finalize_syms (); ++ ++ /* Make sure that the section addresses make sense. */ ++ if (command_line.check_section_addresses) ++ lang_check_section_addresses (); ++ ++ if (link_info.non_contiguous_regions ++ && link_info.non_contiguous_regions_warnings) ++ warn_non_contiguous_discards (); ++ ++ /* Check any required symbols are known. */ ++ ldlang_check_require_defined_symbols (); ++ ++ lang_end (); ++} ++ ++void ++lang_add_version_string (void) ++{ ++ if (! enable_linker_version) ++ return; ++ ++ const char * str = "GNU ld "; ++ int len = strlen (str); ++ int i; ++ ++ for (i = 0 ; i < len ; i++) ++ lang_add_data (BYTE, exp_intop (str[i])); ++ ++ str = BFD_VERSION_STRING; ++ len = strlen (str); ++ ++ for (i = 0 ; i < len ; i++) ++ lang_add_data (BYTE, exp_intop (str[i])); ++ ++ lang_add_data (BYTE, exp_intop ('\0')); ++} ++ ++/* EXPORTED TO YACC */ ++ ++void ++lang_add_wild (struct wildcard_spec *filespec, ++ struct wildcard_list *section_list, ++ bool keep_sections) ++{ ++ struct wildcard_list *curr, *next; ++ lang_wild_statement_type *new_stmt; ++ bool any_specs_sorted = false; ++ ++ /* Reverse the list as the parser puts it back to front. */ ++ for (curr = section_list, section_list = NULL; ++ curr != NULL; ++ section_list = curr, curr = next) ++ { ++ if (curr->spec.sorted != none && curr->spec.sorted != by_none) ++ any_specs_sorted = true; ++ next = curr->next; ++ curr->next = section_list; ++ } ++ ++ if (filespec != NULL && filespec->name != NULL) ++ { ++ if (strcmp (filespec->name, "*") == 0) ++ filespec->name = NULL; ++ else if (!wildcardp (filespec->name)) ++ lang_has_input_file = true; ++ } ++ ++ new_stmt = new_stat (lang_wild_statement, stat_ptr); ++ new_stmt->filename = NULL; ++ new_stmt->filenames_sorted = false; ++ new_stmt->any_specs_sorted = any_specs_sorted; ++ new_stmt->section_flag_list = NULL; ++ new_stmt->exclude_name_list = NULL; ++ if (filespec != NULL) ++ { ++ new_stmt->filename = filespec->name; ++ new_stmt->filenames_sorted = filespec->sorted == by_name; ++ new_stmt->section_flag_list = filespec->section_flag_list; ++ new_stmt->exclude_name_list = filespec->exclude_name_list; ++ } ++ new_stmt->section_list = section_list; ++ new_stmt->keep_sections = keep_sections; ++ lang_list_init (&new_stmt->children); ++ lang_list_init (&new_stmt->matching_sections); ++ analyze_walk_wild_section_handler (new_stmt); ++ if (0) ++ { ++ printf ("wild %s(", new_stmt->filename ? new_stmt->filename : "*"); ++ for (curr = new_stmt->section_list; curr; curr = curr->next) ++ printf ("%s ", curr->spec.name ? curr->spec.name : "*"); ++ printf (")\n"); ++ } ++} ++ ++void ++lang_section_start (const char *name, etree_type *address, ++ const segment_type *segment) ++{ ++ lang_address_statement_type *ad; ++ ++ ad = new_stat (lang_address_statement, stat_ptr); ++ ad->section_name = name; ++ ad->address = address; ++ ad->segment = segment; ++} ++ ++/* Set the start symbol to NAME. CMDLINE is nonzero if this is called ++ because of a -e argument on the command line, or zero if this is ++ called by ENTRY in a linker script. Command line arguments take ++ precedence. */ ++ ++void ++lang_add_entry (const char *name, bool cmdline) ++{ ++ if (entry_symbol.name == NULL ++ || cmdline ++ || !entry_from_cmdline) ++ { ++ entry_symbol.name = name; ++ entry_from_cmdline = cmdline; ++ } ++} ++ ++/* Set the default start symbol to NAME. .em files should use this, ++ not lang_add_entry, to override the use of "start" if neither the ++ linker script nor the command line specifies an entry point. NAME ++ must be permanently allocated. */ ++void ++lang_default_entry (const char *name) ++{ ++ entry_symbol_default = name; ++} ++ ++void ++lang_add_target (const char *name) ++{ ++ lang_target_statement_type *new_stmt; ++ ++ new_stmt = new_stat (lang_target_statement, stat_ptr); ++ new_stmt->target = name; ++} ++ ++void ++lang_add_map (const char *name) ++{ ++ while (*name) ++ { ++ switch (*name) ++ { ++ case 'F': ++ map_option_f = true; ++ break; ++ } ++ name++; ++ } ++} ++ ++void ++lang_add_fill (fill_type *fill) ++{ ++ lang_fill_statement_type *new_stmt; ++ ++ new_stmt = new_stat (lang_fill_statement, stat_ptr); ++ new_stmt->fill = fill; ++} ++ ++void ++lang_add_data (int type, union etree_union *exp) ++{ ++ lang_data_statement_type *new_stmt; ++ ++ new_stmt = new_stat (lang_data_statement, stat_ptr); ++ new_stmt->exp = exp; ++ new_stmt->type = type; ++} ++ ++void ++lang_add_string (const char *s) ++{ ++ bfd_vma len = strlen (s); ++ bfd_vma i; ++ bool escape = false; ++ ++ /* Add byte expressions until end of string. */ ++ for (i = 0 ; i < len; i++) ++ { ++ char c = *s++; ++ ++ if (escape) ++ { ++ switch (c) ++ { ++ default: ++ /* Ignore the escape. */ ++ break; ++ ++ case 'n': c = '\n'; break; ++ case 'r': c = '\r'; break; ++ case 't': c = '\t'; break; ++ ++ case '0': ++ case '1': ++ case '2': ++ case '3': ++ case '4': ++ case '5': ++ case '6': ++ case '7': ++ /* We have an octal number. */ ++ { ++ unsigned int value = c - '0'; ++ ++ c = *s; ++ if ((c >= '0') && (c <= '7')) ++ { ++ value <<= 3; ++ value += (c - '0'); ++ i++; ++ s++; ++ ++ c = *s; ++ if ((c >= '0') && (c <= '7')) ++ { ++ value <<= 3; ++ value += (c - '0'); ++ i++; ++ s++; ++ } ++ } ++ ++ if (value > 0xff) ++ { ++ /* octal: \777 is treated as '\077' + '7' */ ++ value >>= 3; ++ i--; ++ s--; ++ } ++ ++ c = value; ++ } ++ break; ++ } ++ ++ lang_add_data (BYTE, exp_intop (c)); ++ escape = false; ++ } ++ else ++ { ++ if (c == '\\') ++ escape = true; ++ else ++ lang_add_data (BYTE, exp_intop (c)); ++ } ++ } ++ ++ /* Remeber to terminate the string. */ ++ lang_add_data (BYTE, exp_intop (0)); ++} ++ ++/* Create a new reloc statement. RELOC is the BFD relocation type to ++ generate. HOWTO is the corresponding howto structure (we could ++ look this up, but the caller has already done so). SECTION is the ++ section to generate a reloc against, or NAME is the name of the ++ symbol to generate a reloc against. Exactly one of SECTION and ++ NAME must be NULL. ADDEND is an expression for the addend. */ ++ ++void ++lang_add_reloc (bfd_reloc_code_real_type reloc, ++ reloc_howto_type *howto, ++ asection *section, ++ const char *name, ++ union etree_union *addend) ++{ ++ lang_reloc_statement_type *p = new_stat (lang_reloc_statement, stat_ptr); ++ ++ p->reloc = reloc; ++ p->howto = howto; ++ p->section = section; ++ p->name = name; ++ p->addend_exp = addend; ++ ++ p->addend_value = 0; ++ p->output_section = NULL; ++ p->output_offset = 0; ++} ++ ++lang_assignment_statement_type * ++lang_add_assignment (etree_type *exp) ++{ ++ lang_assignment_statement_type *new_stmt; ++ ++ new_stmt = new_stat (lang_assignment_statement, stat_ptr); ++ new_stmt->exp = exp; ++ return new_stmt; ++} ++ ++void ++lang_add_attribute (enum statement_enum attribute) ++{ ++ new_statement (attribute, sizeof (lang_statement_header_type), stat_ptr); ++} ++ ++void ++lang_startup (const char *name) ++{ ++ if (first_file->filename != NULL) ++ { ++ einfo (_("%F%P: multiple STARTUP files\n")); ++ } ++ first_file->filename = name; ++ first_file->local_sym_name = name; ++ first_file->flags.real = true; ++} ++ ++void ++lang_float (bool maybe) ++{ ++ lang_float_flag = maybe; ++} ++ ++ ++/* Work out the load- and run-time regions from a script statement, and ++ store them in *LMA_REGION and *REGION respectively. ++ ++ MEMSPEC is the name of the run-time region, or the value of ++ DEFAULT_MEMORY_REGION if the statement didn't specify one. ++ LMA_MEMSPEC is the name of the load-time region, or null if the ++ statement didn't specify one.HAVE_LMA_P is TRUE if the statement ++ had an explicit load address. ++ ++ It is an error to specify both a load region and a load address. */ ++ ++static void ++lang_get_regions (lang_memory_region_type **region, ++ lang_memory_region_type **lma_region, ++ const char *memspec, ++ const char *lma_memspec, ++ bool have_lma, ++ bool have_vma) ++{ ++ *lma_region = lang_memory_region_lookup (lma_memspec, false); ++ ++ /* If no runtime region or VMA has been specified, but the load region ++ has been specified, then use the load region for the runtime region ++ as well. */ ++ if (lma_memspec != NULL ++ && !have_vma ++ && strcmp (memspec, DEFAULT_MEMORY_REGION) == 0) ++ *region = *lma_region; ++ else ++ *region = lang_memory_region_lookup (memspec, false); ++ ++ if (have_lma && lma_memspec != 0) ++ einfo (_("%X%P:%pS: section has both a load address and a load region\n"), ++ NULL); ++} ++ ++void ++lang_leave_output_section_statement (fill_type *fill, const char *memspec, ++ lang_output_section_phdr_list *phdrs, ++ const char *lma_memspec) ++{ ++ lang_get_regions (¤t_section->region, ++ ¤t_section->lma_region, ++ memspec, lma_memspec, ++ current_section->load_base != NULL, ++ current_section->addr_tree != NULL); ++ ++ current_section->fill = fill; ++ current_section->phdrs = phdrs; ++ pop_stat_ptr (); ++} ++ ++/* Set the output format type. -oformat overrides scripts. */ ++ ++void ++lang_add_output_format (const char *format, ++ const char *big, ++ const char *little, ++ int from_script) ++{ ++ if (output_target == NULL || !from_script) ++ { ++ if (command_line.endian == ENDIAN_BIG ++ && big != NULL) ++ format = big; ++ else if (command_line.endian == ENDIAN_LITTLE ++ && little != NULL) ++ format = little; ++ ++ output_target = format; ++ } ++} ++ ++void ++lang_add_insert (const char *where, int is_before) ++{ ++ lang_insert_statement_type *new_stmt; ++ ++ new_stmt = new_stat (lang_insert_statement, stat_ptr); ++ new_stmt->where = where; ++ new_stmt->is_before = is_before; ++ saved_script_handle = previous_script_handle; ++} ++ ++/* Enter a group. This creates a new lang_group_statement, and sets ++ stat_ptr to build new statements within the group. */ ++ ++void ++lang_enter_group (void) ++{ ++ lang_group_statement_type *g; ++ ++ g = new_stat (lang_group_statement, stat_ptr); ++ lang_list_init (&g->children); ++ push_stat_ptr (&g->children); ++} ++ ++/* Leave a group. This just resets stat_ptr to start writing to the ++ regular list of statements again. Note that this will not work if ++ groups can occur inside anything else which can adjust stat_ptr, ++ but currently they can't. */ ++ ++void ++lang_leave_group (void) ++{ ++ pop_stat_ptr (); ++} ++ ++/* Add a new program header. This is called for each entry in a PHDRS ++ command in a linker script. */ ++ ++void ++lang_new_phdr (const char *name, ++ etree_type *type, ++ bool filehdr, ++ bool phdrs, ++ etree_type *at, ++ etree_type *flags) ++{ ++ struct lang_phdr *n, **pp; ++ bool hdrs; ++ ++ n = stat_alloc (sizeof (struct lang_phdr)); ++ n->next = NULL; ++ n->name = name; ++ n->type = exp_get_vma (type, 0, "program header type"); ++ n->filehdr = filehdr; ++ n->phdrs = phdrs; ++ n->at = at; ++ n->flags = flags; ++ ++ hdrs = n->type == 1 && (phdrs || filehdr); ++ ++ for (pp = &lang_phdr_list; *pp != NULL; pp = &(*pp)->next) ++ if (hdrs ++ && (*pp)->type == 1 ++ && !((*pp)->filehdr || (*pp)->phdrs)) ++ { ++ einfo (_("%X%P:%pS: PHDRS and FILEHDR are not supported" ++ " when prior PT_LOAD headers lack them\n"), NULL); ++ hdrs = false; ++ } ++ ++ *pp = n; ++} ++ ++/* Record the program header information in the output BFD. FIXME: We ++ should not be calling an ELF specific function here. */ ++ ++static void ++lang_record_phdrs (void) ++{ ++ unsigned int alc; ++ asection **secs; ++ lang_output_section_phdr_list *last; ++ struct lang_phdr *l; ++ lang_output_section_statement_type *os; ++ ++ alc = 10; ++ secs = (asection **) xmalloc (alc * sizeof (asection *)); ++ last = NULL; ++ ++ for (l = lang_phdr_list; l != NULL; l = l->next) ++ { ++ unsigned int c; ++ flagword flags; ++ bfd_vma at; ++ ++ c = 0; ++ for (os = (void *) lang_os_list.head; ++ os != NULL; ++ os = os->next) ++ { ++ lang_output_section_phdr_list *pl; ++ ++ if (os->constraint < 0) ++ continue; ++ ++ pl = os->phdrs; ++ if (pl != NULL) ++ last = pl; ++ else ++ { ++ if (os->sectype == noload_section ++ || os->bfd_section == NULL ++ || (os->bfd_section->flags & SEC_ALLOC) == 0) ++ continue; ++ ++ /* Don't add orphans to PT_INTERP header. */ ++ if (l->type == 3) ++ continue; ++ ++ if (last == NULL) ++ { ++ lang_output_section_statement_type *tmp_os; ++ ++ /* If we have not run across a section with a program ++ header assigned to it yet, then scan forwards to find ++ one. This prevents inconsistencies in the linker's ++ behaviour when a script has specified just a single ++ header and there are sections in that script which are ++ not assigned to it, and which occur before the first ++ use of that header. See here for more details: ++ http://sourceware.org/ml/binutils/2007-02/msg00291.html */ ++ for (tmp_os = os; tmp_os; tmp_os = tmp_os->next) ++ if (tmp_os->phdrs) ++ { ++ last = tmp_os->phdrs; ++ break; ++ } ++ if (last == NULL) ++ einfo (_("%F%P: no sections assigned to phdrs\n")); ++ } ++ pl = last; ++ } ++ ++ if (os->bfd_section == NULL) ++ continue; ++ ++ for (; pl != NULL; pl = pl->next) ++ { ++ if (strcmp (pl->name, l->name) == 0) ++ { ++ if (c >= alc) ++ { ++ alc *= 2; ++ secs = (asection **) xrealloc (secs, ++ alc * sizeof (asection *)); ++ } ++ secs[c] = os->bfd_section; ++ ++c; ++ pl->used = true; ++ } ++ } ++ } ++ ++ if (l->flags == NULL) ++ flags = 0; ++ else ++ flags = exp_get_vma (l->flags, 0, "phdr flags"); ++ ++ if (l->at == NULL) ++ at = 0; ++ else ++ at = exp_get_vma (l->at, 0, "phdr load address"); ++ ++ if (!bfd_record_phdr (link_info.output_bfd, l->type, ++ l->flags != NULL, flags, l->at != NULL, ++ at, l->filehdr, l->phdrs, c, secs)) ++ einfo (_("%F%P: bfd_record_phdr failed: %E\n")); ++ } ++ ++ free (secs); ++ ++ /* Make sure all the phdr assignments succeeded. */ ++ for (os = (void *) lang_os_list.head; ++ os != NULL; ++ os = os->next) ++ { ++ lang_output_section_phdr_list *pl; ++ ++ if (os->constraint < 0 ++ || os->bfd_section == NULL) ++ continue; ++ ++ for (pl = os->phdrs; ++ pl != NULL; ++ pl = pl->next) ++ if (!pl->used && strcmp (pl->name, "NONE") != 0) ++ einfo (_("%X%P: section `%s' assigned to non-existent phdr `%s'\n"), ++ os->name, pl->name); ++ } ++} ++ ++/* Record a list of sections which may not be cross referenced. */ ++ ++void ++lang_add_nocrossref (lang_nocrossref_type *l) ++{ ++ struct lang_nocrossrefs *n; ++ ++ n = (struct lang_nocrossrefs *) xmalloc (sizeof *n); ++ n->next = nocrossref_list; ++ n->list = l; ++ n->onlyfirst = false; ++ nocrossref_list = n; ++ ++ /* Set notice_all so that we get informed about all symbols. */ ++ link_info.notice_all = true; ++} ++ ++/* Record a section that cannot be referenced from a list of sections. */ ++ ++void ++lang_add_nocrossref_to (lang_nocrossref_type *l) ++{ ++ lang_add_nocrossref (l); ++ nocrossref_list->onlyfirst = true; ++} ++ ++/* Overlay handling. We handle overlays with some static variables. */ ++ ++/* The overlay virtual address. */ ++static etree_type *overlay_vma; ++/* And subsection alignment. */ ++static etree_type *overlay_subalign; ++ ++/* An expression for the maximum section size seen so far. */ ++static etree_type *overlay_max; ++ ++/* A list of all the sections in this overlay. */ ++ ++struct overlay_list { ++ struct overlay_list *next; ++ lang_output_section_statement_type *os; ++}; ++ ++static struct overlay_list *overlay_list; ++ ++/* Start handling an overlay. */ ++ ++void ++lang_enter_overlay (etree_type *vma_expr, etree_type *subalign) ++{ ++ /* The grammar should prevent nested overlays from occurring. */ ++ ASSERT (overlay_vma == NULL ++ && overlay_subalign == NULL ++ && overlay_max == NULL); ++ ++ overlay_vma = vma_expr; ++ overlay_subalign = subalign; ++} ++ ++/* Start a section in an overlay. We handle this by calling ++ lang_enter_output_section_statement with the correct VMA. ++ lang_leave_overlay sets up the LMA and memory regions. */ ++ ++void ++lang_enter_overlay_section (const char *name) ++{ ++ struct overlay_list *n; ++ etree_type *size; ++ ++ lang_enter_output_section_statement (name, overlay_vma, overlay_section, ++ 0, 0, overlay_subalign, 0, 0, 0); ++ ++ /* If this is the first section, then base the VMA of future ++ sections on this one. This will work correctly even if `.' is ++ used in the addresses. */ ++ if (overlay_list == NULL) ++ overlay_vma = exp_nameop (ADDR, name); ++ ++ /* Remember the section. */ ++ n = (struct overlay_list *) xmalloc (sizeof *n); ++ n->os = current_section; ++ n->next = overlay_list; ++ overlay_list = n; ++ ++ size = exp_nameop (SIZEOF, name); ++ ++ /* Arrange to work out the maximum section end address. */ ++ if (overlay_max == NULL) ++ overlay_max = size; ++ else ++ overlay_max = exp_binop (MAX_K, overlay_max, size); ++} ++ ++/* Finish a section in an overlay. There isn't any special to do ++ here. */ ++ ++void ++lang_leave_overlay_section (fill_type *fill, ++ lang_output_section_phdr_list *phdrs) ++{ ++ const char *name; ++ char *clean, *s2; ++ const char *s1; ++ char *buf; ++ ++ name = current_section->name; ++ ++ /* For now, assume that DEFAULT_MEMORY_REGION is the run-time memory ++ region and that no load-time region has been specified. It doesn't ++ really matter what we say here, since lang_leave_overlay will ++ override it. */ ++ lang_leave_output_section_statement (fill, DEFAULT_MEMORY_REGION, phdrs, 0); ++ ++ /* Define the magic symbols. */ ++ ++ clean = (char *) xmalloc (strlen (name) + 1); ++ s2 = clean; ++ for (s1 = name; *s1 != '\0'; s1++) ++ if (ISALNUM (*s1) || *s1 == '_') ++ *s2++ = *s1; ++ *s2 = '\0'; ++ ++ buf = (char *) xmalloc (strlen (clean) + sizeof "__load_start_"); ++ sprintf (buf, "__load_start_%s", clean); ++ lang_add_assignment (exp_provide (buf, ++ exp_nameop (LOADADDR, name), ++ false)); ++ ++ buf = (char *) xmalloc (strlen (clean) + sizeof "__load_stop_"); ++ sprintf (buf, "__load_stop_%s", clean); ++ lang_add_assignment (exp_provide (buf, ++ exp_binop ('+', ++ exp_nameop (LOADADDR, name), ++ exp_nameop (SIZEOF, name)), ++ false)); ++ ++ free (clean); ++} ++ ++/* Finish an overlay. If there are any overlay wide settings, this ++ looks through all the sections in the overlay and sets them. */ ++ ++void ++lang_leave_overlay (etree_type *lma_expr, ++ int nocrossrefs, ++ fill_type *fill, ++ const char *memspec, ++ lang_output_section_phdr_list *phdrs, ++ const char *lma_memspec) ++{ ++ lang_memory_region_type *region; ++ lang_memory_region_type *lma_region; ++ struct overlay_list *l; ++ lang_nocrossref_type *nocrossref; ++ ++ lang_get_regions (®ion, &lma_region, ++ memspec, lma_memspec, ++ lma_expr != NULL, false); ++ ++ nocrossref = NULL; ++ ++ /* After setting the size of the last section, set '.' to end of the ++ overlay region. */ ++ if (overlay_list != NULL) ++ { ++ overlay_list->os->update_dot = 1; ++ overlay_list->os->update_dot_tree ++ = exp_assign (".", exp_binop ('+', overlay_vma, overlay_max), false); ++ } ++ ++ l = overlay_list; ++ while (l != NULL) ++ { ++ struct overlay_list *next; ++ ++ if (fill != NULL && l->os->fill == NULL) ++ l->os->fill = fill; ++ ++ l->os->region = region; ++ l->os->lma_region = lma_region; ++ ++ /* The first section has the load address specified in the ++ OVERLAY statement. The rest are worked out from that. ++ The base address is not needed (and should be null) if ++ an LMA region was specified. */ ++ if (l->next == 0) ++ { ++ l->os->load_base = lma_expr; ++ l->os->sectype = first_overlay_section; ++ } ++ if (phdrs != NULL && l->os->phdrs == NULL) ++ l->os->phdrs = phdrs; ++ ++ if (nocrossrefs) ++ { ++ lang_nocrossref_type *nc; ++ ++ nc = (lang_nocrossref_type *) xmalloc (sizeof *nc); ++ nc->name = l->os->name; ++ nc->next = nocrossref; ++ nocrossref = nc; ++ } ++ ++ next = l->next; ++ free (l); ++ l = next; ++ } ++ ++ if (nocrossref != NULL) ++ lang_add_nocrossref (nocrossref); ++ ++ overlay_vma = NULL; ++ overlay_list = NULL; ++ overlay_max = NULL; ++ overlay_subalign = NULL; ++} ++ ++/* Version handling. This is only useful for ELF. */ ++ ++/* If PREV is NULL, return first version pattern matching particular symbol. ++ If PREV is non-NULL, return first version pattern matching particular ++ symbol after PREV (previously returned by lang_vers_match). */ ++ ++static struct bfd_elf_version_expr * ++lang_vers_match (struct bfd_elf_version_expr_head *head, ++ struct bfd_elf_version_expr *prev, ++ const char *sym) ++{ ++ const char *c_sym; ++ const char *cxx_sym = sym; ++ const char *java_sym = sym; ++ struct bfd_elf_version_expr *expr = NULL; ++ enum demangling_styles curr_style; ++ ++ curr_style = CURRENT_DEMANGLING_STYLE; ++ cplus_demangle_set_style (no_demangling); ++ c_sym = bfd_demangle (link_info.output_bfd, sym, DMGL_NO_OPTS); ++ if (!c_sym) ++ c_sym = sym; ++ cplus_demangle_set_style (curr_style); ++ ++ if (head->mask & BFD_ELF_VERSION_CXX_TYPE) ++ { ++ cxx_sym = bfd_demangle (link_info.output_bfd, sym, ++ DMGL_PARAMS | DMGL_ANSI); ++ if (!cxx_sym) ++ cxx_sym = sym; ++ } ++ if (head->mask & BFD_ELF_VERSION_JAVA_TYPE) ++ { ++ java_sym = bfd_demangle (link_info.output_bfd, sym, DMGL_JAVA); ++ if (!java_sym) ++ java_sym = sym; ++ } ++ ++ if (head->htab && (prev == NULL || prev->literal)) ++ { ++ struct bfd_elf_version_expr e; ++ ++ switch (prev ? prev->mask : 0) ++ { ++ case 0: ++ if (head->mask & BFD_ELF_VERSION_C_TYPE) ++ { ++ e.pattern = c_sym; ++ expr = (struct bfd_elf_version_expr *) ++ htab_find ((htab_t) head->htab, &e); ++ while (expr && strcmp (expr->pattern, c_sym) == 0) ++ if (expr->mask == BFD_ELF_VERSION_C_TYPE) ++ goto out_ret; ++ else ++ expr = expr->next; ++ } ++ /* Fallthrough */ ++ case BFD_ELF_VERSION_C_TYPE: ++ if (head->mask & BFD_ELF_VERSION_CXX_TYPE) ++ { ++ e.pattern = cxx_sym; ++ expr = (struct bfd_elf_version_expr *) ++ htab_find ((htab_t) head->htab, &e); ++ while (expr && strcmp (expr->pattern, cxx_sym) == 0) ++ if (expr->mask == BFD_ELF_VERSION_CXX_TYPE) ++ goto out_ret; ++ else ++ expr = expr->next; ++ } ++ /* Fallthrough */ ++ case BFD_ELF_VERSION_CXX_TYPE: ++ if (head->mask & BFD_ELF_VERSION_JAVA_TYPE) ++ { ++ e.pattern = java_sym; ++ expr = (struct bfd_elf_version_expr *) ++ htab_find ((htab_t) head->htab, &e); ++ while (expr && strcmp (expr->pattern, java_sym) == 0) ++ if (expr->mask == BFD_ELF_VERSION_JAVA_TYPE) ++ goto out_ret; ++ else ++ expr = expr->next; ++ } ++ /* Fallthrough */ ++ default: ++ break; ++ } ++ } ++ ++ /* Finally, try the wildcards. */ ++ if (prev == NULL || prev->literal) ++ expr = head->remaining; ++ else ++ expr = prev->next; ++ for (; expr; expr = expr->next) ++ { ++ const char *s; ++ ++ if (!expr->pattern) ++ continue; ++ ++ if (expr->pattern[0] == '*' && expr->pattern[1] == '\0') ++ break; ++ ++ if (expr->mask == BFD_ELF_VERSION_JAVA_TYPE) ++ s = java_sym; ++ else if (expr->mask == BFD_ELF_VERSION_CXX_TYPE) ++ s = cxx_sym; ++ else ++ s = c_sym; ++ if (fnmatch (expr->pattern, s, 0) == 0) ++ break; ++ } ++ ++ out_ret: ++ if (c_sym != sym) ++ free ((char *) c_sym); ++ if (cxx_sym != sym) ++ free ((char *) cxx_sym); ++ if (java_sym != sym) ++ free ((char *) java_sym); ++ return expr; ++} ++ ++/* Return NULL if the PATTERN argument is a glob pattern, otherwise, ++ return a pointer to the symbol name with any backslash quotes removed. */ ++ ++static const char * ++realsymbol (const char *pattern) ++{ ++ const char *p; ++ bool changed = false, backslash = false; ++ char *s, *symbol = (char *) xmalloc (strlen (pattern) + 1); ++ ++ for (p = pattern, s = symbol; *p != '\0'; ++p) ++ { ++ /* It is a glob pattern only if there is no preceding ++ backslash. */ ++ if (backslash) ++ { ++ /* Remove the preceding backslash. */ ++ *(s - 1) = *p; ++ backslash = false; ++ changed = true; ++ } ++ else ++ { ++ if (*p == '?' || *p == '*' || *p == '[') ++ { ++ free (symbol); ++ return NULL; ++ } ++ ++ *s++ = *p; ++ backslash = *p == '\\'; ++ } ++ } ++ ++ if (changed) ++ { ++ *s = '\0'; ++ return symbol; ++ } ++ else ++ { ++ free (symbol); ++ return pattern; ++ } ++} ++ ++/* This is called for each variable name or match expression. NEW_NAME is ++ the name of the symbol to match, or, if LITERAL_P is FALSE, a glob ++ pattern to be matched against symbol names. */ ++ ++struct bfd_elf_version_expr * ++lang_new_vers_pattern (struct bfd_elf_version_expr *orig, ++ const char *new_name, ++ const char *lang, ++ bool literal_p) ++{ ++ struct bfd_elf_version_expr *ret; ++ ++ ret = (struct bfd_elf_version_expr *) xmalloc (sizeof *ret); ++ ret->next = orig; ++ ret->symver = 0; ++ ret->script = 0; ++ ret->literal = true; ++ ret->pattern = literal_p ? new_name : realsymbol (new_name); ++ if (ret->pattern == NULL) ++ { ++ ret->pattern = new_name; ++ ret->literal = false; ++ } ++ ++ if (lang == NULL || strcasecmp (lang, "C") == 0) ++ ret->mask = BFD_ELF_VERSION_C_TYPE; ++ else if (strcasecmp (lang, "C++") == 0) ++ ret->mask = BFD_ELF_VERSION_CXX_TYPE; ++ else if (strcasecmp (lang, "Java") == 0) ++ ret->mask = BFD_ELF_VERSION_JAVA_TYPE; ++ else ++ { ++ einfo (_("%X%P: unknown language `%s' in version information\n"), ++ lang); ++ ret->mask = BFD_ELF_VERSION_C_TYPE; ++ } ++ ++ return ldemul_new_vers_pattern (ret); ++} ++ ++/* This is called for each set of variable names and match ++ expressions. */ ++ ++struct bfd_elf_version_tree * ++lang_new_vers_node (struct bfd_elf_version_expr *globals, ++ struct bfd_elf_version_expr *locals) ++{ ++ struct bfd_elf_version_tree *ret; ++ ++ ret = (struct bfd_elf_version_tree *) xcalloc (1, sizeof *ret); ++ ret->globals.list = globals; ++ ret->locals.list = locals; ++ ret->match = lang_vers_match; ++ ret->name_indx = (unsigned int) -1; ++ return ret; ++} ++ ++/* This static variable keeps track of version indices. */ ++ ++static int version_index; ++ ++static hashval_t ++version_expr_head_hash (const void *p) ++{ ++ const struct bfd_elf_version_expr *e = ++ (const struct bfd_elf_version_expr *) p; ++ ++ return htab_hash_string (e->pattern); ++} ++ ++static int ++version_expr_head_eq (const void *p1, const void *p2) ++{ ++ const struct bfd_elf_version_expr *e1 = ++ (const struct bfd_elf_version_expr *) p1; ++ const struct bfd_elf_version_expr *e2 = ++ (const struct bfd_elf_version_expr *) p2; ++ ++ return strcmp (e1->pattern, e2->pattern) == 0; ++} ++ ++static void ++lang_finalize_version_expr_head (struct bfd_elf_version_expr_head *head) ++{ ++ size_t count = 0; ++ struct bfd_elf_version_expr *e, *next; ++ struct bfd_elf_version_expr **list_loc, **remaining_loc; ++ ++ for (e = head->list; e; e = e->next) ++ { ++ if (e->literal) ++ count++; ++ head->mask |= e->mask; ++ } ++ ++ if (count) ++ { ++ head->htab = htab_create (count * 2, version_expr_head_hash, ++ version_expr_head_eq, NULL); ++ list_loc = &head->list; ++ remaining_loc = &head->remaining; ++ for (e = head->list; e; e = next) ++ { ++ next = e->next; ++ if (!e->literal) ++ { ++ *remaining_loc = e; ++ remaining_loc = &e->next; ++ } ++ else ++ { ++ void **loc = htab_find_slot ((htab_t) head->htab, e, INSERT); ++ ++ if (*loc) ++ { ++ struct bfd_elf_version_expr *e1, *last; ++ ++ e1 = (struct bfd_elf_version_expr *) *loc; ++ last = NULL; ++ do ++ { ++ if (e1->mask == e->mask) ++ { ++ last = NULL; ++ break; ++ } ++ last = e1; ++ e1 = e1->next; ++ } ++ while (e1 && strcmp (e1->pattern, e->pattern) == 0); ++ ++ if (last == NULL) ++ { ++ /* This is a duplicate. */ ++ /* FIXME: Memory leak. Sometimes pattern is not ++ xmalloced alone, but in larger chunk of memory. */ ++ /* free (e->pattern); */ ++ free (e); ++ } ++ else ++ { ++ e->next = last->next; ++ last->next = e; ++ } ++ } ++ else ++ { ++ *loc = e; ++ *list_loc = e; ++ list_loc = &e->next; ++ } ++ } ++ } ++ *remaining_loc = NULL; ++ *list_loc = head->remaining; ++ } ++ else ++ head->remaining = head->list; ++} ++ ++/* This is called when we know the name and dependencies of the ++ version. */ ++ ++void ++lang_register_vers_node (const char *name, ++ struct bfd_elf_version_tree *version, ++ struct bfd_elf_version_deps *deps) ++{ ++ struct bfd_elf_version_tree *t, **pp; ++ struct bfd_elf_version_expr *e1; ++ ++ if (name == NULL) ++ name = ""; ++ ++ if (link_info.version_info != NULL ++ && (name[0] == '\0' || link_info.version_info->name[0] == '\0')) ++ { ++ einfo (_("%X%P: anonymous version tag cannot be combined" ++ " with other version tags\n")); ++ free (version); ++ return; ++ } ++ ++ /* Make sure this node has a unique name. */ ++ for (t = link_info.version_info; t != NULL; t = t->next) ++ if (strcmp (t->name, name) == 0) ++ einfo (_("%X%P: duplicate version tag `%s'\n"), name); ++ ++ lang_finalize_version_expr_head (&version->globals); ++ lang_finalize_version_expr_head (&version->locals); ++ ++ /* Check the global and local match names, and make sure there ++ aren't any duplicates. */ ++ ++ for (e1 = version->globals.list; e1 != NULL; e1 = e1->next) ++ { ++ for (t = link_info.version_info; t != NULL; t = t->next) ++ { ++ struct bfd_elf_version_expr *e2; ++ ++ if (t->locals.htab && e1->literal) ++ { ++ e2 = (struct bfd_elf_version_expr *) ++ htab_find ((htab_t) t->locals.htab, e1); ++ while (e2 && strcmp (e1->pattern, e2->pattern) == 0) ++ { ++ if (e1->mask == e2->mask) ++ einfo (_("%X%P: duplicate expression `%s'" ++ " in version information\n"), e1->pattern); ++ e2 = e2->next; ++ } ++ } ++ else if (!e1->literal) ++ for (e2 = t->locals.remaining; e2 != NULL; e2 = e2->next) ++ if (strcmp (e1->pattern, e2->pattern) == 0 ++ && e1->mask == e2->mask) ++ einfo (_("%X%P: duplicate expression `%s'" ++ " in version information\n"), e1->pattern); ++ } ++ } ++ ++ for (e1 = version->locals.list; e1 != NULL; e1 = e1->next) ++ { ++ for (t = link_info.version_info; t != NULL; t = t->next) ++ { ++ struct bfd_elf_version_expr *e2; ++ ++ if (t->globals.htab && e1->literal) ++ { ++ e2 = (struct bfd_elf_version_expr *) ++ htab_find ((htab_t) t->globals.htab, e1); ++ while (e2 && strcmp (e1->pattern, e2->pattern) == 0) ++ { ++ if (e1->mask == e2->mask) ++ einfo (_("%X%P: duplicate expression `%s'" ++ " in version information\n"), ++ e1->pattern); ++ e2 = e2->next; ++ } ++ } ++ else if (!e1->literal) ++ for (e2 = t->globals.remaining; e2 != NULL; e2 = e2->next) ++ if (strcmp (e1->pattern, e2->pattern) == 0 ++ && e1->mask == e2->mask) ++ einfo (_("%X%P: duplicate expression `%s'" ++ " in version information\n"), e1->pattern); ++ } ++ } ++ ++ version->deps = deps; ++ version->name = name; ++ if (name[0] != '\0') ++ { ++ ++version_index; ++ version->vernum = version_index; ++ } ++ else ++ version->vernum = 0; ++ ++ for (pp = &link_info.version_info; *pp != NULL; pp = &(*pp)->next) ++ ; ++ *pp = version; ++} ++ ++/* This is called when we see a version dependency. */ ++ ++struct bfd_elf_version_deps * ++lang_add_vers_depend (struct bfd_elf_version_deps *list, const char *name) ++{ ++ struct bfd_elf_version_deps *ret; ++ struct bfd_elf_version_tree *t; ++ ++ ret = (struct bfd_elf_version_deps *) xmalloc (sizeof *ret); ++ ret->next = list; ++ ++ for (t = link_info.version_info; t != NULL; t = t->next) ++ { ++ if (strcmp (t->name, name) == 0) ++ { ++ ret->version_needed = t; ++ return ret; ++ } ++ } ++ ++ einfo (_("%X%P: unable to find version dependency `%s'\n"), name); ++ ++ ret->version_needed = NULL; ++ return ret; ++} ++ ++static void ++lang_do_version_exports_section (void) ++{ ++ struct bfd_elf_version_expr *greg = NULL, *lreg; ++ ++ LANG_FOR_EACH_INPUT_STATEMENT (is) ++ { ++ asection *sec = bfd_get_section_by_name (is->the_bfd, ".exports"); ++ char *contents, *p; ++ bfd_size_type len; ++ ++ if (sec == NULL) ++ continue; ++ ++ len = sec->size; ++ contents = (char *) xmalloc (len); ++ if (!bfd_get_section_contents (is->the_bfd, sec, contents, 0, len)) ++ einfo (_("%X%P: unable to read .exports section contents\n"), sec); ++ ++ p = contents; ++ while (p < contents + len) ++ { ++ greg = lang_new_vers_pattern (greg, p, NULL, false); ++ p = strchr (p, '\0') + 1; ++ } ++ ++ /* Do not free the contents, as we used them creating the regex. */ ++ ++ /* Do not include this section in the link. */ ++ sec->flags |= SEC_EXCLUDE | SEC_KEEP; ++ } ++ ++ lreg = lang_new_vers_pattern (NULL, "*", NULL, false); ++ lang_register_vers_node (command_line.version_exports_section, ++ lang_new_vers_node (greg, lreg), NULL); ++} ++ ++/* Evaluate LENGTH and ORIGIN parts of MEMORY spec. This is initially ++ called with UPDATE_REGIONS_P set to FALSE, in this case no errors are ++ thrown, however, references to symbols in the origin and length fields ++ will be pushed into the symbol table, this allows PROVIDE statements to ++ then provide these symbols. This function is called a second time with ++ UPDATE_REGIONS_P set to TRUE, this time the we update the actual region ++ data structures, and throw errors if missing symbols are encountered. */ ++ ++static void ++lang_do_memory_regions (bool update_regions_p) ++{ ++ lang_memory_region_type *r = lang_memory_region_list; ++ ++ for (; r != NULL; r = r->next) ++ { ++ if (r->origin_exp) ++ { ++ exp_fold_tree_no_dot (r->origin_exp); ++ if (update_regions_p) ++ { ++ if (expld.result.valid_p) ++ { ++ r->origin = expld.result.value; ++ r->current = r->origin; ++ } ++ else ++ einfo (_("%P: invalid origin for memory region %s\n"), ++ r->name_list.name); ++ } ++ } ++ if (r->length_exp) ++ { ++ exp_fold_tree_no_dot (r->length_exp); ++ if (update_regions_p) ++ { ++ if (expld.result.valid_p) ++ r->length = expld.result.value; ++ else ++ einfo (_("%P: invalid length for memory region %s\n"), ++ r->name_list.name); ++ } ++ } ++ } ++} ++ ++void ++lang_add_unique (const char *name) ++{ ++ struct unique_sections *ent; ++ ++ for (ent = unique_section_list; ent; ent = ent->next) ++ if (strcmp (ent->name, name) == 0) ++ return; ++ ++ ent = (struct unique_sections *) xmalloc (sizeof *ent); ++ ent->name = xstrdup (name); ++ ent->next = unique_section_list; ++ unique_section_list = ent; ++} ++ ++/* Append the list of dynamic symbols to the existing one. */ ++ ++void ++lang_append_dynamic_list (struct bfd_elf_dynamic_list **list_p, ++ struct bfd_elf_version_expr *dynamic) ++{ ++ if (*list_p) ++ { ++ struct bfd_elf_version_expr *tail; ++ for (tail = dynamic; tail->next != NULL; tail = tail->next) ++ ; ++ tail->next = (*list_p)->head.list; ++ (*list_p)->head.list = dynamic; ++ } ++ else ++ { ++ struct bfd_elf_dynamic_list *d; ++ ++ d = (struct bfd_elf_dynamic_list *) xcalloc (1, sizeof *d); ++ d->head.list = dynamic; ++ d->match = lang_vers_match; ++ *list_p = d; ++ } ++} ++ ++/* Append the list of C++ typeinfo dynamic symbols to the existing ++ one. */ ++ ++void ++lang_append_dynamic_list_cpp_typeinfo (void) ++{ ++ const char *symbols[] = ++ { ++ "typeinfo name for*", ++ "typeinfo for*" ++ }; ++ struct bfd_elf_version_expr *dynamic = NULL; ++ unsigned int i; ++ ++ for (i = 0; i < ARRAY_SIZE (symbols); i++) ++ dynamic = lang_new_vers_pattern (dynamic, symbols [i], "C++", ++ false); ++ ++ lang_append_dynamic_list (&link_info.dynamic_list, dynamic); ++} ++ ++/* Append the list of C++ operator new and delete dynamic symbols to the ++ existing one. */ ++ ++void ++lang_append_dynamic_list_cpp_new (void) ++{ ++ const char *symbols[] = ++ { ++ "operator new*", ++ "operator delete*" ++ }; ++ struct bfd_elf_version_expr *dynamic = NULL; ++ unsigned int i; ++ ++ for (i = 0; i < ARRAY_SIZE (symbols); i++) ++ dynamic = lang_new_vers_pattern (dynamic, symbols [i], "C++", ++ false); ++ ++ lang_append_dynamic_list (&link_info.dynamic_list, dynamic); ++} ++ ++/* Scan a space and/or comma separated string of features. */ ++ ++void ++lang_ld_feature (char *str) ++{ ++ char *p, *q; ++ ++ p = str; ++ while (*p) ++ { ++ char sep; ++ while (*p == ',' || ISSPACE (*p)) ++ ++p; ++ if (!*p) ++ break; ++ q = p + 1; ++ while (*q && *q != ',' && !ISSPACE (*q)) ++ ++q; ++ sep = *q; ++ *q = 0; ++ if (strcasecmp (p, "SANE_EXPR") == 0) ++ config.sane_expr = true; ++ else ++ einfo (_("%X%P: unknown feature `%s'\n"), p); ++ *q = sep; ++ p = q; ++ } ++} ++ ++/* Pretty print memory amount. */ ++ ++static void ++lang_print_memory_size (uint64_t sz) ++{ ++ if ((sz & 0x3fffffff) == 0) ++ printf ("%10" PRIu64 " GB", sz >> 30); ++ else if ((sz & 0xfffff) == 0) ++ printf ("%10" PRIu64 " MB", sz >> 20); ++ else if ((sz & 0x3ff) == 0) ++ printf ("%10" PRIu64 " KB", sz >> 10); ++ else ++ printf (" %10" PRIu64 " B", sz); ++} ++ ++/* Implement --print-memory-usage: disply per region memory usage. */ ++ ++void ++lang_print_memory_usage (void) ++{ ++ lang_memory_region_type *r; ++ ++ printf ("Memory region Used Size Region Size %%age Used\n"); ++ for (r = lang_memory_region_list; r->next != NULL; r = r->next) ++ { ++ bfd_vma used_length = r->current - r->origin; ++ ++ printf ("%16s: ",r->name_list.name); ++ lang_print_memory_size (used_length); ++ lang_print_memory_size (r->length); ++ ++ if (r->length != 0) ++ { ++ double percent = used_length * 100.0 / r->length; ++ printf (" %6.2f%%", percent); ++ } ++ printf ("\n"); ++ } ++} +diff -rupN binutils.orig/ld/ldlang.h binutils-2.41/ld/ldlang.h +--- binutils.orig/ld/ldlang.h 2024-05-13 13:03:47.804601777 +0100 ++++ binutils-2.41/ld/ldlang.h 2024-05-13 13:04:08.599633306 +0100 +@@ -141,7 +141,12 @@ typedef struct lang_output_section_phdr_ + typedef struct lang_output_section_statement_struct + { + lang_statement_header_type header; ++ /* Input sections to be mapped to this output section. */ + lang_statement_list_type children; ++ /* Input sections to be mapped to the start of this output section. ++ These sections are provided by the --section-ordering file, if used. */ ++ lang_statement_list_type sort_children; ++ + struct lang_output_section_statement_struct *next; + struct lang_output_section_statement_struct *prev; + const char *name; +diff -rupN binutils.orig/ld/ldlex.h binutils-2.41/ld/ldlex.h +--- binutils.orig/ld/ldlex.h 2024-05-13 13:03:48.141602288 +0100 ++++ binutils-2.41/ld/ldlex.h 2024-05-13 13:04:08.599633306 +0100 +@@ -62,6 +62,7 @@ enum option_values + OPTION_SONAME, + OPTION_SORT_COMMON, + OPTION_SORT_SECTION, ++ OPTION_SECTION_ORDERING_FILE, + OPTION_STATS, + OPTION_SYMBOLIC, + OPTION_SYMBOLIC_FUNCTIONS, +@@ -190,6 +191,7 @@ typedef enum input_enum + input_script, + input_mri_script, + input_version_script, ++ input_section_ordering_script, + input_dynamic_list, + input_defsym + } input_type; +diff -rupN binutils.orig/ld/ldlex.h.orig binutils-2.41/ld/ldlex.h.orig +--- binutils.orig/ld/ldlex.h.orig 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/ldlex.h.orig 2024-05-13 13:03:25.176567468 +0100 +@@ -0,0 +1,222 @@ ++/* ldlex.h - ++ Copyright (C) 1991-2023 Free Software Foundation, Inc. ++ ++ This file is part of the GNU Binutils. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, ++ MA 02110-1301, USA. */ ++ ++#ifndef LDLEX_H ++#define LDLEX_H ++ ++#include ++ ++/* Codes used for the long options with no short synonyms. 150 isn't ++ special; it's just an arbitrary non-ASCII char value. */ ++enum option_values ++{ ++ OPTION_ASSERT = 150, ++ OPTION_CALL_SHARED, ++ OPTION_CREF, ++ OPTION_DEFSYM, ++ OPTION_DEMANGLE, ++ OPTION_DYNAMIC_LINKER, ++ OPTION_NO_DYNAMIC_LINKER, ++ OPTION_SYSROOT, ++ OPTION_OUT_IMPLIB, ++ OPTION_EB, ++ OPTION_EL, ++ OPTION_EMBEDDED_RELOCS, ++ OPTION_EXPORT_DYNAMIC, ++ OPTION_NO_EXPORT_DYNAMIC, ++ OPTION_HELP, ++ OPTION_IGNORE, ++ OPTION_MAP, ++ OPTION_NO_DEMANGLE, ++ OPTION_NO_KEEP_MEMORY, ++ OPTION_NO_WARN_MISMATCH, ++ OPTION_NO_WARN_SEARCH_MISMATCH, ++ OPTION_NOINHIBIT_EXEC, ++ OPTION_NON_SHARED, ++ OPTION_NO_WHOLE_ARCHIVE, ++ OPTION_OFORMAT, ++ OPTION_RELAX, ++ OPTION_NO_RELAX, ++ OPTION_NO_SYMBOLIC, ++ OPTION_RETAIN_SYMBOLS_FILE, ++ OPTION_RPATH, ++ OPTION_RPATH_LINK, ++ OPTION_SHARED, ++ OPTION_SONAME, ++ OPTION_SORT_COMMON, ++ OPTION_SORT_SECTION, ++ OPTION_STATS, ++ OPTION_SYMBOLIC, ++ OPTION_SYMBOLIC_FUNCTIONS, ++ OPTION_TASK_LINK, ++ OPTION_TBSS, ++ OPTION_TDATA, ++ OPTION_TTEXT, ++ OPTION_TTEXT_SEGMENT, ++ OPTION_TRODATA_SEGMENT, ++ OPTION_TLDATA_SEGMENT, ++ OPTION_TRADITIONAL_FORMAT, ++ OPTION_UR, ++ OPTION_VERBOSE, ++ OPTION_VERSION, ++ OPTION_VERSION_SCRIPT, ++ OPTION_VERSION_EXPORTS_SECTION, ++ OPTION_DYNAMIC_LIST, ++ OPTION_DYNAMIC_LIST_CPP_NEW, ++ OPTION_DYNAMIC_LIST_CPP_TYPEINFO, ++ OPTION_DYNAMIC_LIST_DATA, ++ OPTION_EXPORT_DYNAMIC_SYMBOL, ++ OPTION_EXPORT_DYNAMIC_SYMBOL_LIST, ++ OPTION_WARN_COMMON, ++ OPTION_WARN_CONSTRUCTORS, ++ OPTION_WARN_FATAL, ++ OPTION_NO_WARN_FATAL, ++ OPTION_NO_WARNINGS, ++ OPTION_WARN_MULTIPLE_GP, ++ OPTION_WARN_ONCE, ++ OPTION_WARN_SECTION_ALIGN, ++ OPTION_SPLIT_BY_RELOC, ++ OPTION_SPLIT_BY_FILE , ++ OPTION_WHOLE_ARCHIVE, ++ OPTION_ADD_DT_NEEDED_FOR_DYNAMIC, ++ OPTION_NO_ADD_DT_NEEDED_FOR_DYNAMIC, ++ OPTION_ADD_DT_NEEDED_FOR_REGULAR, ++ OPTION_NO_ADD_DT_NEEDED_FOR_REGULAR, ++ OPTION_WRAP, ++ OPTION_FORCE_EXE_SUFFIX, ++ OPTION_GC_SECTIONS, ++ OPTION_NO_GC_SECTIONS, ++ OPTION_PRINT_GC_SECTIONS, ++ OPTION_NO_PRINT_GC_SECTIONS, ++ OPTION_GC_KEEP_EXPORTED, ++ OPTION_HASH_SIZE, ++ OPTION_CHECK_SECTIONS, ++ OPTION_NO_CHECK_SECTIONS, ++ OPTION_NO_UNDEFINED, ++ OPTION_INIT, ++ OPTION_FINI, ++ OPTION_SECTION_START, ++ OPTION_UNIQUE, ++ OPTION_TARGET_HELP, ++ OPTION_ALLOW_SHLIB_UNDEFINED, ++ OPTION_NO_ALLOW_SHLIB_UNDEFINED, ++ OPTION_ALLOW_MULTIPLE_DEFINITION, ++#if SUPPORT_ERROR_HANDLING_SCRIPT ++ OPTION_ERROR_HANDLING_SCRIPT, ++#endif ++ OPTION_UNDEFINED_VERSION, ++ OPTION_NO_UNDEFINED_VERSION, ++ OPTION_DEFAULT_SYMVER, ++ OPTION_DEFAULT_IMPORTED_SYMVER, ++ OPTION_DISCARD_NONE, ++ OPTION_SPARE_DYNAMIC_TAGS, ++ OPTION_NO_DEFINE_COMMON, ++ OPTION_NOSTDLIB, ++ OPTION_NO_OMAGIC, ++ OPTION_STRIP_DISCARDED, ++ OPTION_NO_STRIP_DISCARDED, ++ OPTION_ACCEPT_UNKNOWN_INPUT_ARCH, ++ OPTION_NO_ACCEPT_UNKNOWN_INPUT_ARCH, ++ OPTION_PIE, ++ OPTION_NO_PIE, ++ OPTION_UNRESOLVED_SYMBOLS, ++ OPTION_WARN_UNRESOLVED_SYMBOLS, ++ OPTION_ERROR_UNRESOLVED_SYMBOLS, ++ OPTION_WARN_TEXTREL, ++ OPTION_WARN_ALTERNATE_EM, ++ OPTION_REDUCE_MEMORY_OVERHEADS, ++ OPTION_MAX_CACHE_SIZE, ++#if BFD_SUPPORTS_PLUGINS ++ OPTION_PLUGIN, ++ OPTION_PLUGIN_OPT, ++#endif /* BFD_SUPPORTS_PLUGINS */ ++ OPTION_DEFAULT_SCRIPT, ++ OPTION_PRINT_OUTPUT_FORMAT, ++ OPTION_PRINT_SYSROOT, ++ OPTION_IGNORE_UNRESOLVED_SYMBOL, ++ OPTION_PUSH_STATE, ++ OPTION_POP_STATE, ++ OPTION_DISABLE_MULTIPLE_DEFS_ABS, ++ OPTION_PRINT_MEMORY_USAGE, ++ OPTION_REQUIRE_DEFINED_SYMBOL, ++ OPTION_ORPHAN_HANDLING, ++ OPTION_FORCE_GROUP_ALLOCATION, ++ OPTION_PRINT_MAP_DISCARDED, ++ OPTION_NO_PRINT_MAP_DISCARDED, ++ OPTION_PRINT_MAP_LOCALS, ++ OPTION_NO_PRINT_MAP_LOCALS, ++ OPTION_NON_CONTIGUOUS_REGIONS, ++ OPTION_NON_CONTIGUOUS_REGIONS_WARNINGS, ++ OPTION_DEPENDENCY_FILE, ++ OPTION_CTF_VARIABLES, ++ OPTION_NO_CTF_VARIABLES, ++ OPTION_CTF_SHARE_TYPES, ++ OPTION_ERROR_EXECSTACK, ++ OPTION_NO_ERROR_EXECSTACK, ++ OPTION_WARN_EXECSTACK_OBJECTS, ++ OPTION_WARN_EXECSTACK, ++ OPTION_NO_WARN_EXECSTACK, ++ OPTION_WARN_RWX_SEGMENTS, ++ OPTION_NO_WARN_RWX_SEGMENTS, ++ OPTION_ERROR_RWX_SEGMENTS, ++ OPTION_NO_ERROR_RWX_SEGMENTS, ++ OPTION_ENABLE_LINKER_VERSION, ++ OPTION_DISABLE_LINKER_VERSION, ++ OPTION_REMAP_INPUTS, ++ OPTION_REMAP_INPUTS_FILE, ++}; ++ ++/* The initial parser states. */ ++typedef enum input_enum ++{ ++ input_selected, /* We've set the initial state. */ ++ input_script, ++ input_mri_script, ++ input_version_script, ++ input_dynamic_list, ++ input_defsym ++} input_type; ++ ++extern input_type parser_input; ++ ++extern unsigned int lineno; ++extern const char *lex_string; ++ ++/* In ldlex.l. */ ++extern int yylex (void); ++extern void lex_push_file (FILE *, const char *, unsigned int); ++extern void lex_redirect (const char *, const char *, unsigned int); ++extern void ldlex_script (void); ++extern void ldlex_inputlist (void); ++extern void ldlex_mri_script (void); ++extern void ldlex_version_script (void); ++extern void ldlex_version_file (void); ++extern void ldlex_expression (void); ++extern void ldlex_wild (void); ++extern void ldlex_popstate (void); ++extern void ldlex_backup (void); ++extern const char* ldlex_filename (void); ++ ++/* In lexsup.c. */ ++extern int lex_input (void); ++extern void lex_unput (int); ++extern void parse_args (unsigned, char **); ++ ++#endif +diff -rupN binutils.orig/ld/ldlex.l binutils-2.41/ld/ldlex.l +--- binutils.orig/ld/ldlex.l 2024-05-13 13:03:47.805601779 +0100 ++++ binutils-2.41/ld/ldlex.l 2024-05-13 13:04:08.599633306 +0100 +@@ -120,11 +120,12 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([ + parser_input = input_selected; + switch (t) + { +- case input_script: return INPUT_SCRIPT; break; +- case input_mri_script: return INPUT_MRI_SCRIPT; break; +- case input_version_script: return INPUT_VERSION_SCRIPT; break; +- case input_dynamic_list: return INPUT_DYNAMIC_LIST; break; +- case input_defsym: return INPUT_DEFSYM; break; ++ case input_script: return INPUT_SCRIPT; ++ case input_mri_script: return INPUT_MRI_SCRIPT; ++ case input_version_script: return INPUT_VERSION_SCRIPT; ++ case input_section_ordering_script: return INPUT_SECTION_ORDERING_SCRIPT; ++ case input_dynamic_list: return INPUT_DYNAMIC_LIST; ++ case input_defsym: return INPUT_DEFSYM; + default: abort (); + } + } +diff -rupN binutils.orig/ld/ldmain.c binutils-2.41/ld/ldmain.c +--- binutils.orig/ld/ldmain.c 2024-05-13 13:03:47.805601779 +0100 ++++ binutils-2.41/ld/ldmain.c 2024-05-13 13:04:08.599633306 +0100 +@@ -90,6 +90,8 @@ bool version_printed; + /* TRUE if we should demangle symbol names. */ + bool demangling; + ++bool in_section_ordering; ++ + args_type command_line; + + ld_config_type config; +@@ -246,6 +248,26 @@ ld_bfd_error_handler (const char *fmt, v + (*default_bfd_error_handler) (fmt, ap); + } + ++static void ++display_external_script (void) ++{ ++ if (saved_script_handle == NULL) ++ return; ++ ++ static const int ld_bufsz = 8193; ++ size_t n; ++ char *buf = (char *) xmalloc (ld_bufsz); ++ ++ rewind (saved_script_handle); ++ while ((n = fread (buf, 1, ld_bufsz - 1, saved_script_handle)) > 0) ++ { ++ buf[n] = 0; ++ info_msg ("%s", buf); ++ } ++ rewind (saved_script_handle); ++ free (buf); ++} ++ + int + main (int argc, char **argv) + { +@@ -416,26 +438,13 @@ main (int argc, char **argv) + if (verbose) + { + if (saved_script_handle) +- info_msg (_("using external linker script:")); ++ info_msg (_("using external linker script: %s"), processed_scripts->name); + else + info_msg (_("using internal linker script:")); + info_msg ("\n==================================================\n"); + + if (saved_script_handle) +- { +- static const int ld_bufsz = 8193; +- size_t n; +- char *buf = (char *) xmalloc (ld_bufsz); +- +- rewind (saved_script_handle); +- while ((n = fread (buf, 1, ld_bufsz - 1, saved_script_handle)) > 0) +- { +- buf[n] = 0; +- info_msg ("%s", buf); +- } +- rewind (saved_script_handle); +- free (buf); +- } ++ display_external_script (); + else + { + int isfile; +@@ -446,6 +455,22 @@ main (int argc, char **argv) + info_msg ("\n==================================================\n"); + } + ++ if (command_line.section_ordering_file) ++ { ++ FILE *hold_script_handle; ++ ++ hold_script_handle = saved_script_handle; ++ ldfile_open_command_file (command_line.section_ordering_file); ++ if (verbose) ++ display_external_script (); ++ saved_script_handle = hold_script_handle; ++ in_section_ordering = true; ++ parser_input = input_section_ordering_script; ++ yyparse (); ++ in_section_ordering = false; ++ ++ } ++ + if (command_line.force_group_allocation + || !bfd_link_relocatable (&link_info)) + link_info.resolve_section_groups = true; +diff -rupN binutils.orig/ld/lexsup.c binutils-2.41/ld/lexsup.c +--- binutils.orig/ld/lexsup.c 2024-05-13 13:03:48.141602288 +0100 ++++ binutils-2.41/ld/lexsup.c 2024-05-13 13:04:08.599633306 +0100 +@@ -484,6 +484,9 @@ static const struct ld_option ld_options + { {"sort-section", required_argument, NULL, OPTION_SORT_SECTION}, + '\0', N_("name|alignment"), + N_("Sort sections by name or maximum alignment"), TWO_DASHES }, ++ { {"section-ordering-file", required_argument, NULL, OPTION_SECTION_ORDERING_FILE}, ++ '\0', N_("FILE"), ++ N_("Sort sections by statements in FILE"), TWO_DASHES }, + { {"spare-dynamic-tags", required_argument, NULL, OPTION_SPARE_DYNAMIC_TAGS}, + '\0', N_("COUNT"), N_("How many tags to reserve in .dynamic section"), + TWO_DASHES }, +@@ -1394,6 +1397,12 @@ parse_args (unsigned argc, char **argv) + einfo (_("%F%P: invalid section sorting option: %s\n"), + optarg); + break; ++ case OPTION_SECTION_ORDERING_FILE: ++ if (command_line.section_ordering_file != NULL ++ && strcmp (optarg, command_line.section_ordering_file) != 0) ++ einfo (_("%P: warning: section ordering file changed. Ignoring earlier definition\n")); ++ command_line.section_ordering_file = optarg; ++ break; + case OPTION_STATS: + config.stats = true; + break; +diff -rupN binutils.orig/ld/lexsup.c.orig binutils-2.41/ld/lexsup.c.orig +--- binutils.orig/ld/lexsup.c.orig 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/lexsup.c.orig 2024-05-13 13:03:25.177567469 +0100 +@@ -0,0 +1,2476 @@ ++/* Parse options for the GNU linker. ++ Copyright (C) 1991-2023 Free Software Foundation, Inc. ++ ++ This file is part of the GNU Binutils. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, ++ MA 02110-1301, USA. */ ++ ++#include "sysdep.h" ++#include "bfd.h" ++#include "bfdver.h" ++#include "libiberty.h" ++#include "filenames.h" ++#include ++#include ++#include ++#include "safe-ctype.h" ++#include "getopt.h" ++#include "bfdlink.h" ++#include "ctf-api.h" ++#include "ld.h" ++#include "ldmain.h" ++#include "ldmisc.h" ++#include "ldexp.h" ++#include "ldlang.h" ++#include ++#include "ldlex.h" ++#include "ldfile.h" ++#include "ldver.h" ++#include "ldemul.h" ++#include "demangle.h" ++#if BFD_SUPPORTS_PLUGINS ++#include "plugin.h" ++#endif /* BFD_SUPPORTS_PLUGINS */ ++ ++#ifndef PATH_SEPARATOR ++#if defined (__MSDOS__) || (defined (_WIN32) && ! defined (__CYGWIN32__)) ++#define PATH_SEPARATOR ';' ++#else ++#define PATH_SEPARATOR ':' ++#endif ++#endif ++ ++/* Somewhere above, sys/stat.h got included . . . . */ ++#if !defined(S_ISDIR) && defined(S_IFDIR) ++#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) ++#endif ++ ++static void set_default_dirlist (char *); ++static void set_section_start (char *, char *); ++static void set_segment_start (const char *, char *); ++static void help (void); ++ ++/* The long options. This structure is used for both the option ++ parsing and the help text. */ ++ ++enum control_enum { ++ /* Use one dash before long option name. */ ++ ONE_DASH = 1, ++ /* Use two dashes before long option name. */ ++ TWO_DASHES = 2, ++ /* Only accept two dashes before the long option name. ++ This is an overloading of the use of this enum, since originally it ++ was only intended to tell the --help display function how to display ++ the long option name. This feature was added in order to resolve ++ the confusion about the -omagic command line switch. Is it setting ++ the output file name to "magic" or is it setting the NMAGIC flag on ++ the output ? It has been decided that it is setting the output file ++ name, and that if you want to set the NMAGIC flag you should use -N ++ or --omagic. */ ++ EXACTLY_TWO_DASHES, ++ /* Don't mention this option in --help output. */ ++ NO_HELP ++}; ++ ++struct ld_option ++{ ++ /* The long option information. */ ++ struct option opt; ++ /* The short option with the same meaning ('\0' if none). */ ++ char shortopt; ++ /* The name of the argument (NULL if none). */ ++ const char *arg; ++ /* The documentation string. If this is NULL, this is a synonym for ++ the previous option. */ ++ const char *doc; ++ enum control_enum control; ++}; ++ ++static const struct ld_option ld_options[] = ++{ ++ { {NULL, required_argument, NULL, '\0'}, ++ 'a', N_("KEYWORD"), N_("Shared library control for HP/UX compatibility"), ++ ONE_DASH }, ++ { {"architecture", required_argument, NULL, 'A'}, ++ 'A', N_("ARCH"), N_("Set architecture") , TWO_DASHES }, ++ { {"format", required_argument, NULL, 'b'}, ++ 'b', N_("TARGET"), N_("Specify target for following input files"), ++ TWO_DASHES }, ++ { {"mri-script", required_argument, NULL, 'c'}, ++ 'c', N_("FILE"), N_("Read MRI format linker script"), TWO_DASHES }, ++ { {"dc", no_argument, NULL, 'd'}, ++ 'd', NULL, N_("Force common symbols to be defined"), ONE_DASH }, ++ { {"dp", no_argument, NULL, 'd'}, ++ '\0', NULL, NULL, ONE_DASH }, ++ { {"dependency-file", required_argument, NULL, OPTION_DEPENDENCY_FILE}, ++ '\0', N_("FILE"), N_("Write dependency file"), TWO_DASHES }, ++ { {"force-group-allocation", no_argument, NULL, ++ OPTION_FORCE_GROUP_ALLOCATION}, ++ '\0', NULL, N_("Force group members out of groups"), TWO_DASHES }, ++ { {"entry", required_argument, NULL, 'e'}, ++ 'e', N_("ADDRESS"), N_("Set start address"), TWO_DASHES }, ++ { {"export-dynamic", no_argument, NULL, OPTION_EXPORT_DYNAMIC}, ++ 'E', NULL, N_("Export all dynamic symbols"), TWO_DASHES }, ++ { {"no-export-dynamic", no_argument, NULL, OPTION_NO_EXPORT_DYNAMIC}, ++ '\0', NULL, N_("Undo the effect of --export-dynamic"), TWO_DASHES }, ++ { {"enable-non-contiguous-regions", no_argument, NULL, OPTION_NON_CONTIGUOUS_REGIONS}, ++ '\0', NULL, N_("Enable support of non-contiguous memory regions"), TWO_DASHES }, ++ { {"enable-non-contiguous-regions-warnings", no_argument, NULL, OPTION_NON_CONTIGUOUS_REGIONS_WARNINGS}, ++ '\0', NULL, N_("Enable warnings when --enable-non-contiguous-regions may cause unexpected behaviour"), TWO_DASHES }, ++ { {"disable-linker-version", no_argument, NULL, OPTION_DISABLE_LINKER_VERSION}, ++ '\0', NULL, N_("Disable the LINKER_VERSION linker script directive"), TWO_DASHES }, ++ { {"enable-linker-version", no_argument, NULL, OPTION_ENABLE_LINKER_VERSION}, ++ '\0', NULL, N_("Enable the LINKER_VERSION linker script directive"), TWO_DASHES }, ++ { {"EB", no_argument, NULL, OPTION_EB}, ++ '\0', NULL, N_("Link big-endian objects"), ONE_DASH }, ++ { {"EL", no_argument, NULL, OPTION_EL}, ++ '\0', NULL, N_("Link little-endian objects"), ONE_DASH }, ++ { {"auxiliary", required_argument, NULL, 'f'}, ++ 'f', N_("SHLIB"), N_("Auxiliary filter for shared object symbol table"), ++ TWO_DASHES }, ++ { {"filter", required_argument, NULL, 'F'}, ++ 'F', N_("SHLIB"), N_("Filter for shared object symbol table"), ++ TWO_DASHES }, ++ { {NULL, no_argument, NULL, '\0'}, ++ 'g', NULL, N_("Ignored"), ONE_DASH }, ++ { {"gpsize", required_argument, NULL, 'G'}, ++ 'G', N_("SIZE"), N_("Small data size (if no size, same as --shared)"), ++ TWO_DASHES }, ++ { {"soname", required_argument, NULL, OPTION_SONAME}, ++ 'h', N_("FILENAME"), N_("Set internal name of shared library"), ONE_DASH }, ++ { {"dynamic-linker", required_argument, NULL, OPTION_DYNAMIC_LINKER}, ++ 'I', N_("PROGRAM"), N_("Set PROGRAM as the dynamic linker to use"), ++ TWO_DASHES }, ++ { {"no-dynamic-linker", no_argument, NULL, OPTION_NO_DYNAMIC_LINKER}, ++ '\0', NULL, N_("Produce an executable with no program interpreter header"), ++ TWO_DASHES }, ++ { {"library", required_argument, NULL, 'l'}, ++ 'l', N_("LIBNAME"), N_("Search for library LIBNAME"), TWO_DASHES }, ++ { {"library-path", required_argument, NULL, 'L'}, ++ 'L', N_("DIRECTORY"), N_("Add DIRECTORY to library search path"), ++ TWO_DASHES }, ++ { {"sysroot=", required_argument, NULL, OPTION_SYSROOT}, ++ '\0', NULL, N_("Override the default sysroot location"), TWO_DASHES }, ++ { {NULL, required_argument, NULL, '\0'}, ++ 'm', N_("EMULATION"), N_("Set emulation"), ONE_DASH }, ++ { {"print-map", no_argument, NULL, 'M'}, ++ 'M', NULL, N_("Print map file on standard output"), TWO_DASHES }, ++ { {"nmagic", no_argument, NULL, 'n'}, ++ 'n', NULL, N_("Do not page align data"), TWO_DASHES }, ++ { {"omagic", no_argument, NULL, 'N'}, ++ 'N', NULL, N_("Do not page align data, do not make text readonly"), ++ EXACTLY_TWO_DASHES }, ++ { {"no-omagic", no_argument, NULL, OPTION_NO_OMAGIC}, ++ '\0', NULL, N_("Page align data, make text readonly"), ++ EXACTLY_TWO_DASHES }, ++ { {"output", required_argument, NULL, 'o'}, ++ 'o', N_("FILE"), N_("Set output file name"), EXACTLY_TWO_DASHES }, ++ { {NULL, required_argument, NULL, '\0'}, ++ 'O', NULL, N_("Optimize output file"), ONE_DASH }, ++ { {"out-implib", required_argument, NULL, OPTION_OUT_IMPLIB}, ++ '\0', N_("FILE"), N_("Generate import library"), TWO_DASHES }, ++#if BFD_SUPPORTS_PLUGINS ++ { {"plugin", required_argument, NULL, OPTION_PLUGIN}, ++ '\0', N_("PLUGIN"), N_("Load named plugin"), ONE_DASH }, ++ { {"plugin-opt", required_argument, NULL, OPTION_PLUGIN_OPT}, ++ '\0', N_("ARG"), N_("Send arg to last-loaded plugin"), ONE_DASH }, ++ { {"flto", optional_argument, NULL, OPTION_IGNORE}, ++ '\0', NULL, N_("Ignored for GCC LTO option compatibility"), ++ ONE_DASH }, ++ { {"flto-partition=", required_argument, NULL, OPTION_IGNORE}, ++ '\0', NULL, N_("Ignored for GCC LTO option compatibility"), ++ ONE_DASH }, ++#else ++ { {"plugin", required_argument, NULL, OPTION_IGNORE}, ++ '\0', N_("PLUGIN"), N_("Load named plugin (ignored)"), ONE_DASH }, ++ { {"plugin-opt", required_argument, NULL, OPTION_IGNORE}, ++ '\0', N_("ARG"), N_("Send arg to last-loaded plugin (ignored)"), ONE_DASH }, ++#endif /* BFD_SUPPORTS_PLUGINS */ ++ { {"fuse-ld=", required_argument, NULL, OPTION_IGNORE}, ++ '\0', NULL, N_("Ignored for GCC linker option compatibility"), ++ ONE_DASH }, ++ { {"map-whole-files", optional_argument, NULL, OPTION_IGNORE}, ++ '\0', NULL, N_("Ignored for gold option compatibility"), ++ TWO_DASHES }, ++ { {"no-map-whole-files", optional_argument, NULL, OPTION_IGNORE}, ++ '\0', NULL, N_("Ignored for gold option compatibility"), ++ TWO_DASHES }, ++ { {"Qy", no_argument, NULL, OPTION_IGNORE}, ++ '\0', NULL, N_("Ignored for SVR4 compatibility"), ONE_DASH }, ++ { {"emit-relocs", no_argument, NULL, 'q'}, ++ 'q', NULL, "Generate relocations in final output", TWO_DASHES }, ++ { {"relocatable", no_argument, NULL, 'r'}, ++ 'r', NULL, N_("Generate relocatable output"), TWO_DASHES }, ++ { {NULL, no_argument, NULL, '\0'}, ++ 'i', NULL, NULL, ONE_DASH }, ++ { {"just-symbols", required_argument, NULL, 'R'}, ++ 'R', N_("FILE"), N_("Just link symbols (if directory, same as --rpath)"), ++ TWO_DASHES }, ++ ++ { {"remap-inputs-file", required_argument, NULL, OPTION_REMAP_INPUTS_FILE}, ++ '\0', N_("FILE"), "Provide a FILE containing input remapings", TWO_DASHES }, ++ { {"remap-inputs", required_argument, NULL, OPTION_REMAP_INPUTS}, ++ '\0', N_("PATTERN=FILE"), "Remap input files matching PATTERN to FILE", TWO_DASHES }, ++ ++ { {"strip-all", no_argument, NULL, 's'}, ++ 's', NULL, N_("Strip all symbols"), TWO_DASHES }, ++ { {"strip-debug", no_argument, NULL, 'S'}, ++ 'S', NULL, N_("Strip debugging symbols"), TWO_DASHES }, ++ { {"strip-discarded", no_argument, NULL, OPTION_STRIP_DISCARDED}, ++ '\0', NULL, N_("Strip symbols in discarded sections"), TWO_DASHES }, ++ { {"no-strip-discarded", no_argument, NULL, OPTION_NO_STRIP_DISCARDED}, ++ '\0', NULL, N_("Do not strip symbols in discarded sections"), TWO_DASHES }, ++ { {"trace", no_argument, NULL, 't'}, ++ 't', NULL, N_("Trace file opens"), TWO_DASHES }, ++ { {"script", required_argument, NULL, 'T'}, ++ 'T', N_("FILE"), N_("Read linker script"), TWO_DASHES }, ++ { {"default-script", required_argument, NULL, OPTION_DEFAULT_SCRIPT}, ++ '\0', N_("FILE"), N_("Read default linker script"), TWO_DASHES }, ++ { {"dT", required_argument, NULL, OPTION_DEFAULT_SCRIPT}, ++ '\0', NULL, NULL, ONE_DASH }, ++ { {"undefined", required_argument, NULL, 'u'}, ++ 'u', N_("SYMBOL"), N_("Start with undefined reference to SYMBOL"), ++ TWO_DASHES }, ++ { {"require-defined", required_argument, NULL, OPTION_REQUIRE_DEFINED_SYMBOL}, ++ '\0', N_("SYMBOL"), N_("Require SYMBOL be defined in the final output"), ++ TWO_DASHES }, ++ { {"unique", optional_argument, NULL, OPTION_UNIQUE}, ++ '\0', N_("[=SECTION]"), ++ N_("Don't merge input [SECTION | orphan] sections"), TWO_DASHES }, ++ { {"Ur", no_argument, NULL, OPTION_UR}, ++ '\0', NULL, N_("Build global constructor/destructor tables"), ONE_DASH }, ++ { {"version", no_argument, NULL, OPTION_VERSION}, ++ 'v', NULL, N_("Print version information"), TWO_DASHES }, ++ { {NULL, no_argument, NULL, '\0'}, ++ 'V', NULL, N_("Print version and emulation information"), ONE_DASH }, ++ { {"discard-all", no_argument, NULL, 'x'}, ++ 'x', NULL, N_("Discard all local symbols"), TWO_DASHES }, ++ { {"discard-locals", no_argument, NULL, 'X'}, ++ 'X', NULL, N_("Discard temporary local symbols (default)"), TWO_DASHES }, ++ { {"discard-none", no_argument, NULL, OPTION_DISCARD_NONE}, ++ '\0', NULL, N_("Don't discard any local symbols"), TWO_DASHES }, ++ { {"trace-symbol", required_argument, NULL, 'y'}, ++ 'y', N_("SYMBOL"), N_("Trace mentions of SYMBOL"), TWO_DASHES }, ++ { {NULL, required_argument, NULL, '\0'}, ++ 'Y', N_("PATH"), N_("Default search path for Solaris compatibility"), ++ ONE_DASH }, ++ { {"start-group", no_argument, NULL, '('}, ++ '(', NULL, N_("Start a group"), TWO_DASHES }, ++ { {"end-group", no_argument, NULL, ')'}, ++ ')', NULL, N_("End a group"), TWO_DASHES }, ++ { {"accept-unknown-input-arch", no_argument, NULL, ++ OPTION_ACCEPT_UNKNOWN_INPUT_ARCH}, ++ '\0', NULL, ++ N_("Accept input files whose architecture cannot be determined"), ++ TWO_DASHES }, ++ { {"no-accept-unknown-input-arch", no_argument, NULL, ++ OPTION_NO_ACCEPT_UNKNOWN_INPUT_ARCH}, ++ '\0', NULL, N_("Reject input files whose architecture is unknown"), ++ TWO_DASHES }, ++ ++ /* The next two options are deprecated because of their similarity to ++ --as-needed and --no-as-needed. They have been replaced by ++ --copy-dt-needed-entries and --no-copy-dt-needed-entries. */ ++ { {"add-needed", no_argument, NULL, OPTION_ADD_DT_NEEDED_FOR_DYNAMIC}, ++ '\0', NULL, NULL, NO_HELP }, ++ { {"no-add-needed", no_argument, NULL, OPTION_NO_ADD_DT_NEEDED_FOR_DYNAMIC}, ++ '\0', NULL, NULL, NO_HELP }, ++ ++ { {"as-needed", no_argument, NULL, OPTION_ADD_DT_NEEDED_FOR_REGULAR}, ++ '\0', NULL, N_("Only set DT_NEEDED for following dynamic libs if used"), ++ TWO_DASHES }, ++ { {"no-as-needed", no_argument, NULL, OPTION_NO_ADD_DT_NEEDED_FOR_REGULAR}, ++ '\0', NULL, N_("Always set DT_NEEDED for dynamic libraries mentioned on\n" ++ " the command line"), ++ TWO_DASHES }, ++ { {"assert", required_argument, NULL, OPTION_ASSERT}, ++ '\0', N_("KEYWORD"), N_("Ignored for SunOS compatibility"), ONE_DASH }, ++ { {"Bdynamic", no_argument, NULL, OPTION_CALL_SHARED}, ++ '\0', NULL, N_("Link against shared libraries"), ONE_DASH }, ++ { {"dy", no_argument, NULL, OPTION_CALL_SHARED}, ++ '\0', NULL, NULL, ONE_DASH }, ++ { {"call_shared", no_argument, NULL, OPTION_CALL_SHARED}, ++ '\0', NULL, NULL, ONE_DASH }, ++ { {"Bstatic", no_argument, NULL, OPTION_NON_SHARED}, ++ '\0', NULL, N_("Do not link against shared libraries"), ONE_DASH }, ++ { {"dn", no_argument, NULL, OPTION_NON_SHARED}, ++ '\0', NULL, NULL, ONE_DASH }, ++ { {"non_shared", no_argument, NULL, OPTION_NON_SHARED}, ++ '\0', NULL, NULL, ONE_DASH }, ++ { {"static", no_argument, NULL, OPTION_NON_SHARED}, ++ '\0', NULL, NULL, ONE_DASH }, ++ { {"Bno-symbolic", no_argument, NULL, OPTION_NO_SYMBOLIC}, ++ '\0', NULL, N_("Don't bind global references locally"), ONE_DASH }, ++ { {"Bsymbolic", no_argument, NULL, OPTION_SYMBOLIC}, ++ '\0', NULL, N_("Bind global references locally"), ONE_DASH }, ++ { {"Bsymbolic-functions", no_argument, NULL, OPTION_SYMBOLIC_FUNCTIONS}, ++ '\0', NULL, N_("Bind global function references locally"), ONE_DASH }, ++ { {"check-sections", no_argument, NULL, OPTION_CHECK_SECTIONS}, ++ '\0', NULL, N_("Check section addresses for overlaps (default)"), ++ TWO_DASHES }, ++ { {"no-check-sections", no_argument, NULL, OPTION_NO_CHECK_SECTIONS}, ++ '\0', NULL, N_("Do not check section addresses for overlaps"), ++ TWO_DASHES }, ++ { {"copy-dt-needed-entries", no_argument, NULL, ++ OPTION_ADD_DT_NEEDED_FOR_DYNAMIC}, ++ '\0', NULL, N_("Copy DT_NEEDED links mentioned inside DSOs that follow"), ++ TWO_DASHES }, ++ { {"no-copy-dt-needed-entries", no_argument, NULL, ++ OPTION_NO_ADD_DT_NEEDED_FOR_DYNAMIC}, ++ '\0', NULL, N_("Do not copy DT_NEEDED links mentioned inside DSOs that follow"), ++ TWO_DASHES }, ++ ++ { {"cref", no_argument, NULL, OPTION_CREF}, ++ '\0', NULL, N_("Output cross reference table"), TWO_DASHES }, ++ { {"defsym", required_argument, NULL, OPTION_DEFSYM}, ++ '\0', N_("SYMBOL=EXPRESSION"), N_("Define a symbol"), TWO_DASHES }, ++ { {"demangle", optional_argument, NULL, OPTION_DEMANGLE}, ++ '\0', N_("[=STYLE]"), N_("Demangle symbol names [using STYLE]"), ++ TWO_DASHES }, ++ { {"disable-multiple-abs-defs", no_argument, NULL, ++ OPTION_DISABLE_MULTIPLE_DEFS_ABS}, ++ '\0', NULL, N_("Do not allow multiple definitions with symbols included\n" ++ " in filename invoked by -R " ++ "or --just-symbols"), ++ TWO_DASHES}, ++ { {"embedded-relocs", no_argument, NULL, OPTION_EMBEDDED_RELOCS}, ++ '\0', NULL, N_("Generate embedded relocs"), TWO_DASHES}, ++ { {"fatal-warnings", no_argument, NULL, OPTION_WARN_FATAL}, ++ '\0', NULL, N_("Treat warnings as errors"), ++ TWO_DASHES }, ++ { {"no-fatal-warnings", no_argument, NULL, OPTION_NO_WARN_FATAL}, ++ '\0', NULL, N_("Do not treat warnings as errors (default)"), ++ TWO_DASHES }, ++ { {"fini", required_argument, NULL, OPTION_FINI}, ++ '\0', N_("SYMBOL"), N_("Call SYMBOL at unload-time"), ONE_DASH }, ++ { {"force-exe-suffix", no_argument, NULL, OPTION_FORCE_EXE_SUFFIX}, ++ '\0', NULL, N_("Force generation of file with .exe suffix"), TWO_DASHES}, ++ { {"gc-sections", no_argument, NULL, OPTION_GC_SECTIONS}, ++ '\0', NULL, N_("Remove unused sections (on some targets)"), ++ TWO_DASHES }, ++ { {"no-gc-sections", no_argument, NULL, OPTION_NO_GC_SECTIONS}, ++ '\0', NULL, N_("Don't remove unused sections (default)"), ++ TWO_DASHES }, ++ { {"print-gc-sections", no_argument, NULL, OPTION_PRINT_GC_SECTIONS}, ++ '\0', NULL, N_("List removed unused sections on stderr"), ++ TWO_DASHES }, ++ { {"no-print-gc-sections", no_argument, NULL, OPTION_NO_PRINT_GC_SECTIONS}, ++ '\0', NULL, N_("Do not list removed unused sections"), ++ TWO_DASHES }, ++ { {"gc-keep-exported", no_argument, NULL, OPTION_GC_KEEP_EXPORTED}, ++ '\0', NULL, N_("Keep exported symbols when removing unused sections"), ++ TWO_DASHES }, ++ { {"hash-size=", required_argument, NULL, OPTION_HASH_SIZE}, ++ '\0', NULL, N_("Set default hash table size close to "), ++ TWO_DASHES }, ++ { {"help", no_argument, NULL, OPTION_HELP}, ++ '\0', NULL, N_("Print option help"), TWO_DASHES }, ++ { {"init", required_argument, NULL, OPTION_INIT}, ++ '\0', N_("SYMBOL"), N_("Call SYMBOL at load-time"), ONE_DASH }, ++ { {"Map", required_argument, NULL, OPTION_MAP}, ++ '\0', N_("FILE/DIR"), N_("Write a linker map to FILE or DIR/.map"), ONE_DASH }, ++ { {"no-define-common", no_argument, NULL, OPTION_NO_DEFINE_COMMON}, ++ '\0', NULL, N_("Do not define Common storage"), TWO_DASHES }, ++ { {"no-demangle", no_argument, NULL, OPTION_NO_DEMANGLE }, ++ '\0', NULL, N_("Do not demangle symbol names"), TWO_DASHES }, ++ { {"no-keep-memory", no_argument, NULL, OPTION_NO_KEEP_MEMORY}, ++ '\0', NULL, N_("Use less memory and more disk I/O"), TWO_DASHES }, ++ { {"no-undefined", no_argument, NULL, OPTION_NO_UNDEFINED}, ++ '\0', NULL, N_("Do not allow unresolved references in object files"), ++ TWO_DASHES }, ++ { {"no-warnings", no_argument, NULL, OPTION_NO_WARNINGS}, ++ 'w', NULL, N_("Do not display any warning or error messages"), ++ TWO_DASHES }, ++ { {"allow-shlib-undefined", no_argument, NULL, OPTION_ALLOW_SHLIB_UNDEFINED}, ++ '\0', NULL, N_("Allow unresolved references in shared libraries"), ++ TWO_DASHES }, ++ { {"no-allow-shlib-undefined", no_argument, NULL, ++ OPTION_NO_ALLOW_SHLIB_UNDEFINED}, ++ '\0', NULL, N_("Do not allow unresolved references in shared libs"), ++ TWO_DASHES }, ++ { {"allow-multiple-definition", no_argument, NULL, ++ OPTION_ALLOW_MULTIPLE_DEFINITION}, ++ '\0', NULL, N_("Allow multiple definitions"), TWO_DASHES }, ++#if SUPPORT_ERROR_HANDLING_SCRIPT ++ { {"error-handling-script", required_argument, NULL, ++ OPTION_ERROR_HANDLING_SCRIPT}, ++ '\0', N_("SCRIPT"), N_("Provide a script to help with undefined symbol errors"), TWO_DASHES}, ++#endif ++ { {"undefined-version", no_argument, NULL, OPTION_UNDEFINED_VERSION}, ++ '\0', NULL, N_("Allow undefined version"), EXACTLY_TWO_DASHES }, ++ { {"no-undefined-version", no_argument, NULL, OPTION_NO_UNDEFINED_VERSION}, ++ '\0', NULL, N_("Disallow undefined version"), TWO_DASHES }, ++ { {"default-symver", no_argument, NULL, OPTION_DEFAULT_SYMVER}, ++ '\0', NULL, N_("Create default symbol version"), TWO_DASHES }, ++ { {"default-imported-symver", no_argument, NULL, ++ OPTION_DEFAULT_IMPORTED_SYMVER}, ++ '\0', NULL, N_("Create default symbol version for imported symbols"), ++ TWO_DASHES }, ++ { {"no-warn-mismatch", no_argument, NULL, OPTION_NO_WARN_MISMATCH}, ++ '\0', NULL, N_("Don't warn about mismatched input files"), TWO_DASHES}, ++ { {"no-warn-search-mismatch", no_argument, NULL, ++ OPTION_NO_WARN_SEARCH_MISMATCH}, ++ '\0', NULL, N_("Don't warn on finding an incompatible library"), ++ TWO_DASHES}, ++ { {"no-whole-archive", no_argument, NULL, OPTION_NO_WHOLE_ARCHIVE}, ++ '\0', NULL, N_("Turn off --whole-archive"), TWO_DASHES }, ++ { {"noinhibit-exec", no_argument, NULL, OPTION_NOINHIBIT_EXEC}, ++ '\0', NULL, N_("Create an output file even if errors occur"), ++ TWO_DASHES }, ++ { {"noinhibit_exec", no_argument, NULL, OPTION_NOINHIBIT_EXEC}, ++ '\0', NULL, NULL, NO_HELP }, ++ { {"nostdlib", no_argument, NULL, OPTION_NOSTDLIB}, ++ '\0', NULL, N_("Only use library directories specified on\n" ++ " the command line"), ++ ONE_DASH }, ++ { {"oformat", required_argument, NULL, OPTION_OFORMAT}, ++ '\0', N_("TARGET"), N_("Specify target of output file"), ++ EXACTLY_TWO_DASHES }, ++ { {"print-output-format", no_argument, NULL, OPTION_PRINT_OUTPUT_FORMAT}, ++ '\0', NULL, N_("Print default output format"), TWO_DASHES }, ++ { {"print-sysroot", no_argument, NULL, OPTION_PRINT_SYSROOT}, ++ '\0', NULL, N_("Print current sysroot"), TWO_DASHES }, ++ { {"qmagic", no_argument, NULL, OPTION_IGNORE}, ++ '\0', NULL, N_("Ignored for Linux compatibility"), ONE_DASH }, ++ { {"reduce-memory-overheads", no_argument, NULL, ++ OPTION_REDUCE_MEMORY_OVERHEADS}, ++ '\0', NULL, N_("Reduce memory overheads, possibly taking much longer"), ++ TWO_DASHES }, ++ { {"max-cache-size=SIZE", required_argument, NULL, ++ OPTION_MAX_CACHE_SIZE}, ++ '\0', NULL, N_("Set the maximum cache size to SIZE bytes"), ++ TWO_DASHES }, ++ { {"relax", no_argument, NULL, OPTION_RELAX}, ++ '\0', NULL, N_("Reduce code size by using target specific optimizations"), TWO_DASHES }, ++ { {"no-relax", no_argument, NULL, OPTION_NO_RELAX}, ++ '\0', NULL, N_("Do not use relaxation techniques to reduce code size"), TWO_DASHES }, ++ { {"retain-symbols-file", required_argument, NULL, ++ OPTION_RETAIN_SYMBOLS_FILE}, ++ '\0', N_("FILE"), N_("Keep only symbols listed in FILE"), TWO_DASHES }, ++ { {"rpath", required_argument, NULL, OPTION_RPATH}, ++ '\0', N_("PATH"), N_("Set runtime shared library search path"), ONE_DASH }, ++ { {"rpath-link", required_argument, NULL, OPTION_RPATH_LINK}, ++ '\0', N_("PATH"), N_("Set link time shared library search path"), ++ ONE_DASH }, ++ { {"shared", no_argument, NULL, OPTION_SHARED}, ++ '\0', NULL, N_("Create a shared library"), ONE_DASH }, ++ { {"Bshareable", no_argument, NULL, OPTION_SHARED }, /* FreeBSD. */ ++ '\0', NULL, NULL, ONE_DASH }, ++ { {"pie", no_argument, NULL, OPTION_PIE}, ++ '\0', NULL, N_("Create a position independent executable"), ONE_DASH }, ++ { {"pic-executable", no_argument, NULL, OPTION_PIE}, ++ '\0', NULL, NULL, TWO_DASHES }, ++ { {"no-pie", no_argument, NULL, OPTION_NO_PIE}, ++ '\0', NULL, N_("Create a position dependent executable (default)"), ONE_DASH }, ++ { {"sort-common", optional_argument, NULL, OPTION_SORT_COMMON}, ++ '\0', N_("[=ascending|descending]"), ++ N_("Sort common symbols by alignment [in specified order]"), ++ TWO_DASHES }, ++ { {"sort_common", no_argument, NULL, OPTION_SORT_COMMON}, ++ '\0', NULL, NULL, NO_HELP }, ++ { {"sort-section", required_argument, NULL, OPTION_SORT_SECTION}, ++ '\0', N_("name|alignment"), ++ N_("Sort sections by name or maximum alignment"), TWO_DASHES }, ++ { {"spare-dynamic-tags", required_argument, NULL, OPTION_SPARE_DYNAMIC_TAGS}, ++ '\0', N_("COUNT"), N_("How many tags to reserve in .dynamic section"), ++ TWO_DASHES }, ++ { {"split-by-file", optional_argument, NULL, OPTION_SPLIT_BY_FILE}, ++ '\0', N_("[=SIZE]"), N_("Split output sections every SIZE octets"), ++ TWO_DASHES }, ++ { {"split-by-reloc", optional_argument, NULL, OPTION_SPLIT_BY_RELOC}, ++ '\0', N_("[=COUNT]"), N_("Split output sections every COUNT relocs"), ++ TWO_DASHES }, ++ { {"stats", no_argument, NULL, OPTION_STATS}, ++ '\0', NULL, N_("Print memory usage statistics"), TWO_DASHES }, ++ { {"target-help", no_argument, NULL, OPTION_TARGET_HELP}, ++ '\0', NULL, N_("Display target specific options"), TWO_DASHES }, ++ { {"task-link", required_argument, NULL, OPTION_TASK_LINK}, ++ '\0', N_("SYMBOL"), N_("Do task level linking"), TWO_DASHES }, ++ { {"traditional-format", no_argument, NULL, OPTION_TRADITIONAL_FORMAT}, ++ '\0', NULL, N_("Use same format as native linker"), TWO_DASHES }, ++ { {"section-start", required_argument, NULL, OPTION_SECTION_START}, ++ '\0', N_("SECTION=ADDRESS"), N_("Set address of named section"), ++ TWO_DASHES }, ++ { {"Tbss", required_argument, NULL, OPTION_TBSS}, ++ '\0', N_("ADDRESS"), N_("Set address of .bss section"), ONE_DASH }, ++ { {"Tdata", required_argument, NULL, OPTION_TDATA}, ++ '\0', N_("ADDRESS"), N_("Set address of .data section"), ONE_DASH }, ++ { {"Ttext", required_argument, NULL, OPTION_TTEXT}, ++ '\0', N_("ADDRESS"), N_("Set address of .text section"), ONE_DASH }, ++ { {"Ttext-segment", required_argument, NULL, OPTION_TTEXT_SEGMENT}, ++ '\0', N_("ADDRESS"), N_("Set address of text segment"), ONE_DASH }, ++ { {"Trodata-segment", required_argument, NULL, OPTION_TRODATA_SEGMENT}, ++ '\0', N_("ADDRESS"), N_("Set address of rodata segment"), ONE_DASH }, ++ { {"Tldata-segment", required_argument, NULL, OPTION_TLDATA_SEGMENT}, ++ '\0', N_("ADDRESS"), N_("Set address of ldata segment"), ONE_DASH }, ++ { {"unresolved-symbols=", required_argument, NULL, ++ OPTION_UNRESOLVED_SYMBOLS}, ++ '\0', NULL, N_("How to handle unresolved symbols. is:\n" ++ " ignore-all, report-all, ignore-in-object-files,\n" ++ " ignore-in-shared-libs"), ++ TWO_DASHES }, ++ { {"verbose", optional_argument, NULL, OPTION_VERBOSE}, ++ '\0', N_("[=NUMBER]"), ++ N_("Output lots of information during link"), TWO_DASHES }, ++ { {"dll-verbose", no_argument, NULL, OPTION_VERBOSE}, /* Linux. */ ++ '\0', NULL, NULL, NO_HELP }, ++ { {"version-script", required_argument, NULL, OPTION_VERSION_SCRIPT }, ++ '\0', N_("FILE"), N_("Read version information script"), TWO_DASHES }, ++ { {"version-exports-section", required_argument, NULL, ++ OPTION_VERSION_EXPORTS_SECTION }, ++ '\0', N_("SYMBOL"), N_("Take export symbols list from .exports, using\n" ++ " SYMBOL as the version."), ++ TWO_DASHES }, ++ { {"dynamic-list-data", no_argument, NULL, OPTION_DYNAMIC_LIST_DATA}, ++ '\0', NULL, N_("Add data symbols to dynamic list"), TWO_DASHES }, ++ { {"dynamic-list-cpp-new", no_argument, NULL, OPTION_DYNAMIC_LIST_CPP_NEW}, ++ '\0', NULL, N_("Use C++ operator new/delete dynamic list"), TWO_DASHES }, ++ { {"dynamic-list-cpp-typeinfo", no_argument, NULL, OPTION_DYNAMIC_LIST_CPP_TYPEINFO}, ++ '\0', NULL, N_("Use C++ typeinfo dynamic list"), TWO_DASHES }, ++ { {"dynamic-list", required_argument, NULL, OPTION_DYNAMIC_LIST}, ++ '\0', N_("FILE"), N_("Read dynamic list"), TWO_DASHES }, ++ { {"export-dynamic-symbol", required_argument, NULL, OPTION_EXPORT_DYNAMIC_SYMBOL}, ++ '\0', N_("SYMBOL"), N_("Export the specified symbol"), EXACTLY_TWO_DASHES }, ++ { {"export-dynamic-symbol-list", required_argument, NULL, OPTION_EXPORT_DYNAMIC_SYMBOL_LIST}, ++ '\0', N_("FILE"), N_("Read export dynamic symbol list"), EXACTLY_TWO_DASHES }, ++ { {"warn-common", no_argument, NULL, OPTION_WARN_COMMON}, ++ '\0', NULL, N_("Warn about duplicate common symbols"), TWO_DASHES }, ++ { {"warn-constructors", no_argument, NULL, OPTION_WARN_CONSTRUCTORS}, ++ '\0', NULL, N_("Warn if global constructors/destructors are seen"), ++ TWO_DASHES }, ++ ++ { {"error-execstack", no_argument, NULL, OPTION_ERROR_EXECSTACK}, ++ '\0', NULL, NULL, TWO_DASHES }, ++ { {"no-error-execstack", no_argument, NULL, OPTION_NO_ERROR_EXECSTACK}, ++ '\0', NULL, NULL, TWO_DASHES }, ++ { {"warn-execstack-objects", no_argument, NULL, OPTION_WARN_EXECSTACK_OBJECTS}, ++ '\0', NULL, NULL, TWO_DASHES }, ++ { {"warn-execstack", no_argument, NULL, OPTION_WARN_EXECSTACK}, ++ '\0', NULL, NULL, TWO_DASHES }, ++ { {"no-warn-execstack", no_argument, NULL, OPTION_NO_WARN_EXECSTACK}, ++ '\0', NULL, NULL, TWO_DASHES }, ++ ++ { {"error-rwx-segments", no_argument, NULL, OPTION_ERROR_RWX_SEGMENTS}, ++ '\0', NULL, NULL, TWO_DASHES }, ++ { {"no-error-rwx-segments", no_argument, NULL, OPTION_NO_ERROR_RWX_SEGMENTS}, ++ '\0', NULL, NULL, TWO_DASHES }, ++ { {"warn-rwx-segments", no_argument, NULL, OPTION_WARN_RWX_SEGMENTS}, ++ '\0', NULL, NULL, TWO_DASHES }, ++ { {"no-warn-rwx-segments", no_argument, NULL, OPTION_NO_WARN_RWX_SEGMENTS}, ++ '\0', NULL, NULL, TWO_DASHES }, ++ ++ { {"warn-multiple-gp", no_argument, NULL, OPTION_WARN_MULTIPLE_GP}, ++ '\0', NULL, N_("Warn if the multiple GP values are used"), TWO_DASHES }, ++ { {"warn-once", no_argument, NULL, OPTION_WARN_ONCE}, ++ '\0', NULL, N_("Warn only once per undefined symbol"), TWO_DASHES }, ++ { {"warn-section-align", no_argument, NULL, OPTION_WARN_SECTION_ALIGN}, ++ '\0', NULL, N_("Warn if start of section changes due to alignment"), ++ TWO_DASHES }, ++ { {"warn-textrel", no_argument, NULL, OPTION_WARN_TEXTREL}, ++ '\0', NULL, ++#if DEFAULT_LD_TEXTREL_CHECK_WARNING ++ N_("Warn if output has DT_TEXTREL (default)"), ++#else ++ N_("Warn if output has DT_TEXTREL"), ++#endif ++ TWO_DASHES }, ++ { {"warn-shared-textrel", no_argument, NULL, OPTION_WARN_TEXTREL}, ++ '\0', NULL, NULL, NO_HELP }, ++ { {"warn-alternate-em", no_argument, NULL, OPTION_WARN_ALTERNATE_EM}, ++ '\0', NULL, N_("Warn if an object has alternate ELF machine code"), ++ TWO_DASHES }, ++ { {"warn-unresolved-symbols", no_argument, NULL, ++ OPTION_WARN_UNRESOLVED_SYMBOLS}, ++ '\0', NULL, N_("Report unresolved symbols as warnings"), TWO_DASHES }, ++ { {"error-unresolved-symbols", no_argument, NULL, ++ OPTION_ERROR_UNRESOLVED_SYMBOLS}, ++ '\0', NULL, N_("Report unresolved symbols as errors"), TWO_DASHES }, ++ { {"whole-archive", no_argument, NULL, OPTION_WHOLE_ARCHIVE}, ++ '\0', NULL, N_("Include all objects from following archives"), ++ TWO_DASHES }, ++ { {"wrap", required_argument, NULL, OPTION_WRAP}, ++ '\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), TWO_DASHES }, ++ { {"ignore-unresolved-symbol", required_argument, NULL, ++ OPTION_IGNORE_UNRESOLVED_SYMBOL}, ++ '\0', N_("SYMBOL"), ++ N_("Unresolved SYMBOL will not cause an error or warning"), TWO_DASHES }, ++ { {"push-state", no_argument, NULL, OPTION_PUSH_STATE}, ++ '\0', NULL, N_("Push state of flags governing input file handling"), ++ TWO_DASHES }, ++ { {"pop-state", no_argument, NULL, OPTION_POP_STATE}, ++ '\0', NULL, N_("Pop state of flags governing input file handling"), ++ TWO_DASHES }, ++ { {"print-memory-usage", no_argument, NULL, OPTION_PRINT_MEMORY_USAGE}, ++ '\0', NULL, N_("Report target memory usage"), TWO_DASHES }, ++ { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, ++ '\0', N_("=MODE"), N_("Control how orphan sections are handled."), ++ TWO_DASHES }, ++ { {"print-map-discarded", no_argument, NULL, OPTION_PRINT_MAP_DISCARDED}, ++ '\0', NULL, N_("Show discarded sections in map file output (default)"), ++ TWO_DASHES }, ++ { {"no-print-map-discarded", no_argument, NULL, OPTION_NO_PRINT_MAP_DISCARDED}, ++ '\0', NULL, N_("Do not show discarded sections in map file output"), ++ TWO_DASHES }, ++ { {"print-map-locals", no_argument, NULL, OPTION_PRINT_MAP_LOCALS}, ++ '\0', NULL, N_("Show local symbols in map file output"), ++ TWO_DASHES }, ++ { {"no-print-map-locals", no_argument, NULL, OPTION_NO_PRINT_MAP_LOCALS}, ++ '\0', NULL, N_("Do not show local symbols in map file output (default)"), ++ TWO_DASHES }, ++ { {"ctf-variables", no_argument, NULL, OPTION_CTF_VARIABLES}, ++ '\0', NULL, N_("Emit names and types of static variables in CTF"), ++ TWO_DASHES }, ++ { {"no-ctf-variables", no_argument, NULL, OPTION_NO_CTF_VARIABLES}, ++ '\0', NULL, N_("Do not emit names and types of static variables in CTF"), ++ TWO_DASHES }, ++ { {"ctf-share-types=", required_argument, NULL, ++ OPTION_CTF_SHARE_TYPES}, ++ '\0', NULL, N_("How to share CTF types between translation units.\n" ++ " is: share-unconflicted (default),\n" ++ " share-duplicated"), ++ TWO_DASHES }, ++}; ++ ++#define OPTION_COUNT ARRAY_SIZE (ld_options) ++ ++void ++parse_args (unsigned argc, char **argv) ++{ ++ unsigned i; ++ int is, il, irl; ++ int ingroup = 0; ++ char *default_dirlist = NULL; ++ char *shortopts; ++ struct option *longopts; ++ struct option *really_longopts; ++ int last_optind; ++ enum symbolic_enum ++ { ++ symbolic_unset = 0, ++ symbolic, ++ symbolic_functions, ++ } opt_symbolic = symbolic_unset; ++ enum dynamic_list_enum ++ { ++ dynamic_list_unset = 0, ++ dynamic_list_data, ++ dynamic_list ++ } opt_dynamic_list = dynamic_list_unset; ++ struct bfd_elf_dynamic_list *export_list = NULL; ++ ++ shortopts = (char *) xmalloc (OPTION_COUNT * 3 + 2); ++ longopts = (struct option *) ++ xmalloc (sizeof (*longopts) * (OPTION_COUNT + 1)); ++ really_longopts = (struct option *) ++ xmalloc (sizeof (*really_longopts) * (OPTION_COUNT + 1)); ++ ++ /* Starting the short option string with '-' is for programs that ++ expect options and other ARGV-elements in any order and that care about ++ the ordering of the two. We describe each non-option ARGV-element ++ as if it were the argument of an option with character code 1. */ ++ shortopts[0] = '-'; ++ is = 1; ++ il = 0; ++ irl = 0; ++ for (i = 0; i < OPTION_COUNT; i++) ++ { ++ if (ld_options[i].shortopt != '\0') ++ { ++ shortopts[is] = ld_options[i].shortopt; ++ ++is; ++ if (ld_options[i].opt.has_arg == required_argument ++ || ld_options[i].opt.has_arg == optional_argument) ++ { ++ shortopts[is] = ':'; ++ ++is; ++ if (ld_options[i].opt.has_arg == optional_argument) ++ { ++ shortopts[is] = ':'; ++ ++is; ++ } ++ } ++ } ++ if (ld_options[i].opt.name != NULL) ++ { ++ if (ld_options[i].control == EXACTLY_TWO_DASHES) ++ { ++ really_longopts[irl] = ld_options[i].opt; ++ ++irl; ++ } ++ else ++ { ++ longopts[il] = ld_options[i].opt; ++ ++il; ++ } ++ } ++ } ++ shortopts[is] = '\0'; ++ longopts[il].name = NULL; ++ really_longopts[irl].name = NULL; ++ ++ ldemul_add_options (is, &shortopts, il, &longopts, irl, &really_longopts); ++ ++ /* The -G option is ambiguous on different platforms. Sometimes it ++ specifies the largest data size to put into the small data ++ section. Sometimes it is equivalent to --shared. Unfortunately, ++ the first form takes an argument, while the second does not. ++ ++ We need to permit the --shared form because on some platforms, ++ such as Solaris, gcc -shared will pass -G to the linker. ++ ++ To permit either usage, we look through the argument list. If we ++ find -G not followed by a number, we change it into --shared. ++ This will work for most normal cases. */ ++ for (i = 1; i < argc; i++) ++ if (strcmp (argv[i], "-G") == 0 ++ && (i + 1 >= argc ++ || ! ISDIGIT (argv[i + 1][0]))) ++ argv[i] = (char *) "--shared"; ++ ++ /* Because we permit long options to start with a single dash, and ++ we have a --library option, and the -l option is conventionally ++ used with an immediately following argument, we can have bad ++ results if somebody tries to use -l with a library whose name ++ happens to start with "ibrary", as in -li. We avoid problems by ++ simply turning -l into --library. This means that users will ++ have to use two dashes in order to use --library, which is OK ++ since that's how it is documented. ++ ++ FIXME: It's possible that this problem can arise for other short ++ options as well, although the user does always have the recourse ++ of adding a space between the option and the argument. */ ++ for (i = 1; i < argc; i++) ++ { ++ if (argv[i][0] == '-' ++ && argv[i][1] == 'l' ++ && argv[i][2] != '\0') ++ { ++ char *n; ++ ++ n = (char *) xmalloc (strlen (argv[i]) + 20); ++ sprintf (n, "--library=%s", argv[i] + 2); ++ argv[i] = n; ++ } ++ } ++ ++ last_optind = -1; ++ while (1) ++ { ++ int longind = 0; ++ int optc; ++ static unsigned int defsym_count; ++ ++ /* Using last_optind lets us avoid calling ldemul_parse_args ++ multiple times on a single option, which would lead to ++ confusion in the internal static variables maintained by ++ getopt. This could otherwise happen for an argument like ++ -nx, in which the -n is parsed as a single option, and we ++ loop around to pick up the -x. */ ++ if (optind != last_optind) ++ if (ldemul_parse_args (argc, argv)) ++ continue; ++ ++ /* getopt_long_only is like getopt_long, but '-' as well as '--' ++ can indicate a long option. */ ++ opterr = 0; ++ last_optind = optind; ++ optc = getopt_long_only (argc, argv, shortopts, longopts, &longind); ++ if (optc == '?') ++ { ++ optind = last_optind; ++ optc = getopt_long (argc, argv, "-", really_longopts, &longind); ++ } ++ /* Attempt to detect grouped short options, eg: "-non-start". ++ Accepting such options is error prone as it is not clear if the user ++ intended "-n -o n-start" or "--non-start". */ ++ else if (longind == 0 /* This is a short option. */ ++ && optc > 32 /* It is a valid option. */ ++ /* The character is not the second character of argv[last_optind]. */ ++ && optc != argv[last_optind][1]) ++ { ++ if (optarg) ++ einfo (_("%F%P: Error: unable to disambiguate: %s (did you mean -%s ?)\n"), ++ argv[last_optind], argv[last_optind]); ++ else ++ einfo (_("%P: Warning: grouped short command line options are deprecated: %s\n"), argv[last_optind]); ++ } ++ ++ if (ldemul_handle_option (optc)) ++ continue; ++ ++ if (optc == -1) ++ break; ++ ++ switch (optc) ++ { ++ case '?': ++ { ++ /* If the last word on the command line is an option that ++ requires an argument, getopt will refuse to recognise it. ++ Try to catch such options here and issue a more helpful ++ error message than just "unrecognized option". */ ++ int opt; ++ ++ for (opt = ARRAY_SIZE (ld_options); opt--;) ++ if (ld_options[opt].opt.has_arg == required_argument ++ /* FIXME: There are a few short options that do not ++ have long equivalents, but which require arguments. ++ We should handle them too. */ ++ && ld_options[opt].opt.name != NULL ++ && strcmp (argv[last_optind] + ld_options[opt].control, ld_options[opt].opt.name) == 0) ++ { ++ einfo (_("%P: %s: missing argument\n"), argv[last_optind]); ++ break; ++ } ++ ++ if (opt == -1) ++ einfo (_("%P: unrecognized option '%s'\n"), argv[last_optind]); ++ } ++ /* Fall through. */ ++ ++ default: ++ einfo (_("%F%P: use the --help option for usage information\n")); ++ break; ++ ++ case 1: /* File name. */ ++ lang_add_input_file (optarg, lang_input_file_is_file_enum, NULL); ++ break; ++ ++ case OPTION_IGNORE: ++ break; ++ case 'a': ++ /* For HP/UX compatibility. Actually -a shared should mean ++ ``use only shared libraries'' but, then, we don't ++ currently support shared libraries on HP/UX anyhow. */ ++ if (strcmp (optarg, "archive") == 0) ++ input_flags.dynamic = false; ++ else if (strcmp (optarg, "shared") == 0 ++ || strcmp (optarg, "default") == 0) ++ input_flags.dynamic = true; ++ else ++ einfo (_("%F%P: unrecognized -a option `%s'\n"), optarg); ++ break; ++ case OPTION_ASSERT: ++ /* FIXME: We just ignore these, but we should handle them. */ ++ if (strcmp (optarg, "definitions") == 0) ++ ; ++ else if (strcmp (optarg, "nodefinitions") == 0) ++ ; ++ else if (strcmp (optarg, "nosymbolic") == 0) ++ ; ++ else if (strcmp (optarg, "pure-text") == 0) ++ ; ++ else ++ einfo (_("%F%P: unrecognized -assert option `%s'\n"), optarg); ++ break; ++ case 'A': ++ ldfile_add_arch (optarg); ++ break; ++ case 'b': ++ lang_add_target (optarg); ++ break; ++ case 'c': ++ ldfile_open_command_file (optarg); ++ parser_input = input_mri_script; ++ yyparse (); ++ break; ++ case OPTION_CALL_SHARED: ++ input_flags.dynamic = true; ++ break; ++ case OPTION_NON_SHARED: ++ input_flags.dynamic = false; ++ break; ++ case OPTION_CREF: ++ command_line.cref = true; ++ link_info.notice_all = true; ++ break; ++ case 'd': ++ command_line.force_common_definition = true; ++ break; ++ case OPTION_FORCE_GROUP_ALLOCATION: ++ command_line.force_group_allocation = true; ++ break; ++ case OPTION_DEFSYM: ++ lex_string = optarg; ++ lex_redirect (optarg, "--defsym", ++defsym_count); ++ parser_input = input_defsym; ++ yyparse (); ++ lex_string = NULL; ++ break; ++ case OPTION_DEMANGLE: ++ demangling = true; ++ if (optarg != NULL) ++ { ++ enum demangling_styles style; ++ ++ style = cplus_demangle_name_to_style (optarg); ++ if (style == unknown_demangling) ++ einfo (_("%F%P: unknown demangling style `%s'\n"), ++ optarg); ++ ++ cplus_demangle_set_style (style); ++ } ++ break; ++ case 'I': /* Used on Solaris. */ ++ case OPTION_DYNAMIC_LINKER: ++ command_line.interpreter = optarg; ++ link_info.nointerp = 0; ++ break; ++ case OPTION_NO_DYNAMIC_LINKER: ++ link_info.nointerp = 1; ++ break; ++ case OPTION_SYSROOT: ++ /* Already handled in ldmain.c. */ ++ break; ++ case OPTION_EB: ++ command_line.endian = ENDIAN_BIG; ++ break; ++ case OPTION_EL: ++ command_line.endian = ENDIAN_LITTLE; ++ break; ++ case OPTION_EMBEDDED_RELOCS: ++ command_line.embedded_relocs = true; ++ break; ++ case OPTION_EXPORT_DYNAMIC: ++ case 'E': /* HP/UX compatibility. */ ++ link_info.export_dynamic = true; ++ break; ++ case OPTION_NO_EXPORT_DYNAMIC: ++ link_info.export_dynamic = false; ++ break; ++ case OPTION_NON_CONTIGUOUS_REGIONS: ++ link_info.non_contiguous_regions = true; ++ break; ++ case OPTION_NON_CONTIGUOUS_REGIONS_WARNINGS: ++ link_info.non_contiguous_regions_warnings = true; ++ break; ++ ++ case OPTION_ERROR_EXECSTACK: ++ link_info.error_execstack = 1; ++ break; ++ case OPTION_NO_ERROR_EXECSTACK: ++ link_info.error_execstack = 0; ++ break; ++ case OPTION_WARN_EXECSTACK_OBJECTS: ++ link_info.warn_execstack = 2; ++ break; ++ case OPTION_WARN_EXECSTACK: ++ link_info.warn_execstack = 1; ++ break; ++ case OPTION_NO_WARN_EXECSTACK: ++ link_info.warn_execstack = 0; ++ break; ++ ++ case OPTION_ERROR_RWX_SEGMENTS: ++ link_info.warn_is_error_for_rwx_segments = 1; ++ break; ++ case OPTION_NO_ERROR_RWX_SEGMENTS: ++ link_info.warn_is_error_for_rwx_segments = 0; ++ break; ++ case OPTION_WARN_RWX_SEGMENTS: ++ link_info.no_warn_rwx_segments = 0; ++ link_info.user_warn_rwx_segments = 1; ++ break; ++ case OPTION_NO_WARN_RWX_SEGMENTS: ++ link_info.no_warn_rwx_segments = 1; ++ link_info.user_warn_rwx_segments = 1; ++ break; ++ ++ case 'e': ++ lang_add_entry (optarg, true); ++ break; ++ case 'f': ++ if (command_line.auxiliary_filters == NULL) ++ { ++ command_line.auxiliary_filters = (char **) ++ xmalloc (2 * sizeof (char *)); ++ command_line.auxiliary_filters[0] = optarg; ++ command_line.auxiliary_filters[1] = NULL; ++ } ++ else ++ { ++ int c; ++ char **p; ++ ++ c = 0; ++ for (p = command_line.auxiliary_filters; *p != NULL; p++) ++ ++c; ++ command_line.auxiliary_filters = (char **) ++ xrealloc (command_line.auxiliary_filters, ++ (c + 2) * sizeof (char *)); ++ command_line.auxiliary_filters[c] = optarg; ++ command_line.auxiliary_filters[c + 1] = NULL; ++ } ++ break; ++ case 'F': ++ command_line.filter_shlib = optarg; ++ break; ++ case OPTION_FORCE_EXE_SUFFIX: ++ command_line.force_exe_suffix = true; ++ break; ++ case 'G': ++ { ++ char *end; ++ g_switch_value = strtoul (optarg, &end, 0); ++ if (*end) ++ einfo (_("%F%P: invalid number `%s'\n"), optarg); ++ } ++ break; ++ case 'g': ++ /* Ignore. */ ++ break; ++ case OPTION_GC_SECTIONS: ++ link_info.gc_sections = true; ++ break; ++ case OPTION_PRINT_GC_SECTIONS: ++ link_info.print_gc_sections = true; ++ break; ++ case OPTION_GC_KEEP_EXPORTED: ++ link_info.gc_keep_exported = true; ++ break; ++ case OPTION_HELP: ++ help (); ++ xexit (0); ++ break; ++ case 'L': ++ ldfile_add_library_path (optarg, true); ++ break; ++ case 'l': ++ lang_add_input_file (optarg, lang_input_file_is_l_enum, NULL); ++ break; ++ case 'M': ++ config.map_filename = "-"; ++ break; ++ case 'm': ++ /* Ignore. Was handled in a pre-parse. */ ++ break; ++ case OPTION_MAP: ++ config.map_filename = optarg; ++ break; ++ case 'N': ++ config.text_read_only = false; ++ config.magic_demand_paged = false; ++ input_flags.dynamic = false; ++ break; ++ case OPTION_NO_OMAGIC: ++ config.text_read_only = true; ++ config.magic_demand_paged = true; ++ /* NB/ Does not set input_flags.dynamic to TRUE. ++ Use --call-shared or -Bdynamic for this. */ ++ break; ++ case 'n': ++ config.text_read_only = true; ++ config.magic_demand_paged = false; ++ input_flags.dynamic = false; ++ break; ++ case OPTION_NO_DEFINE_COMMON: ++ link_info.inhibit_common_definition = true; ++ break; ++ case OPTION_NO_DEMANGLE: ++ demangling = false; ++ break; ++ case OPTION_NO_GC_SECTIONS: ++ link_info.gc_sections = false; ++ break; ++ case OPTION_NO_PRINT_GC_SECTIONS: ++ link_info.print_gc_sections = false; ++ break; ++ case OPTION_NO_KEEP_MEMORY: ++ link_info.keep_memory = false; ++ break; ++ case OPTION_NO_UNDEFINED: ++ link_info.unresolved_syms_in_objects = RM_DIAGNOSE; ++ break; ++ case OPTION_ALLOW_SHLIB_UNDEFINED: ++ link_info.unresolved_syms_in_shared_libs = RM_IGNORE; ++ break; ++ case OPTION_NO_ALLOW_SHLIB_UNDEFINED: ++ link_info.unresolved_syms_in_shared_libs = RM_DIAGNOSE; ++ break; ++ case OPTION_UNRESOLVED_SYMBOLS: ++ if (strcmp (optarg, "ignore-all") == 0) ++ { ++ link_info.unresolved_syms_in_objects = RM_IGNORE; ++ link_info.unresolved_syms_in_shared_libs = RM_IGNORE; ++ } ++ else if (strcmp (optarg, "report-all") == 0) ++ { ++ link_info.unresolved_syms_in_objects = RM_DIAGNOSE; ++ link_info.unresolved_syms_in_shared_libs = RM_DIAGNOSE; ++ } ++ else if (strcmp (optarg, "ignore-in-object-files") == 0) ++ { ++ link_info.unresolved_syms_in_objects = RM_IGNORE; ++ link_info.unresolved_syms_in_shared_libs = RM_DIAGNOSE; ++ } ++ else if (strcmp (optarg, "ignore-in-shared-libs") == 0) ++ { ++ link_info.unresolved_syms_in_objects = RM_DIAGNOSE; ++ link_info.unresolved_syms_in_shared_libs = RM_IGNORE; ++ } ++ else ++ einfo (_("%F%P: bad --unresolved-symbols option: %s\n"), optarg); ++ break; ++ case OPTION_WARN_UNRESOLVED_SYMBOLS: ++ link_info.warn_unresolved_syms = true; ++ break; ++ case OPTION_ERROR_UNRESOLVED_SYMBOLS: ++ link_info.warn_unresolved_syms = false; ++ break; ++ case OPTION_ALLOW_MULTIPLE_DEFINITION: ++ link_info.allow_multiple_definition = true; ++ break; ++ ++#if SUPPORT_ERROR_HANDLING_SCRIPT ++ case OPTION_ERROR_HANDLING_SCRIPT: ++ /* FIXME: Should we warn if the script is being overridden by another ? ++ Or maybe they should be chained together ? */ ++ error_handling_script = optarg; ++ break; ++#endif ++ ++ case OPTION_ENABLE_LINKER_VERSION: ++ enable_linker_version = true; ++ break; ++ case OPTION_DISABLE_LINKER_VERSION: ++ enable_linker_version = false; ++ break; ++ ++ case OPTION_UNDEFINED_VERSION: ++ link_info.allow_undefined_version = true; ++ break; ++ case OPTION_NO_UNDEFINED_VERSION: ++ link_info.allow_undefined_version = false; ++ break; ++ case OPTION_DEFAULT_SYMVER: ++ link_info.create_default_symver = true; ++ break; ++ case OPTION_DEFAULT_IMPORTED_SYMVER: ++ link_info.default_imported_symver = true; ++ break; ++ case OPTION_NO_WARN_MISMATCH: ++ command_line.warn_mismatch = false; ++ break; ++ case OPTION_NO_WARN_SEARCH_MISMATCH: ++ command_line.warn_search_mismatch = false; ++ break; ++ case OPTION_NOINHIBIT_EXEC: ++ force_make_executable = true; ++ break; ++ case OPTION_NOSTDLIB: ++ config.only_cmd_line_lib_dirs = true; ++ break; ++ case OPTION_NO_WHOLE_ARCHIVE: ++ input_flags.whole_archive = false; ++ break; ++ case 'O': ++ /* FIXME "-O " used to set the address of ++ section . Was this for compatibility with ++ something, or can we create a new option to do that ++ (with a syntax similar to -defsym)? ++ getopt can't handle two args to an option without kludges. */ ++ ++ /* Enable optimizations of output files. */ ++ link_info.optimize = strtoul (optarg, NULL, 0) != 0; ++ break; ++ case 'o': ++ lang_add_output (optarg, 0); ++ break; ++ case OPTION_OFORMAT: ++ lang_add_output_format (optarg, NULL, NULL, 0); ++ break; ++ case OPTION_OUT_IMPLIB: ++ command_line.out_implib_filename = xstrdup (optarg); ++ break; ++ case OPTION_PRINT_SYSROOT: ++ if (*ld_sysroot) ++ puts (ld_sysroot); ++ xexit (0); ++ break; ++ case OPTION_PRINT_OUTPUT_FORMAT: ++ command_line.print_output_format = true; ++ break; ++#if BFD_SUPPORTS_PLUGINS ++ case OPTION_PLUGIN: ++ plugin_opt_plugin (optarg); ++ break; ++ case OPTION_PLUGIN_OPT: ++ if (plugin_opt_plugin_arg (optarg)) ++ einfo (_("%F%P: bad -plugin-opt option\n")); ++ break; ++#endif /* BFD_SUPPORTS_PLUGINS */ ++ case 'q': ++ link_info.emitrelocations = true; ++ break; ++ case 'i': ++ case 'r': ++ if (optind == last_optind) ++ /* This can happen if the user put "-rpath,a" on the command ++ line. (Or something similar. The comma is important). ++ Getopt becomes confused and thinks that this is a -r option ++ but it cannot parse the text after the -r so it refuses to ++ increment the optind counter. Detect this case and issue ++ an error message here. We cannot just make this a warning, ++ increment optind, and continue because getopt is too confused ++ and will seg-fault the next time around. */ ++ einfo(_("%F%P: unrecognised option: %s\n"), argv[optind]); ++ ++ if (bfd_link_pic (&link_info)) ++ einfo (_("%F%P: -r and %s may not be used together\n"), ++ bfd_link_dll (&link_info) ? "-shared" : "-pie"); ++ ++ link_info.type = type_relocatable; ++ config.build_constructors = false; ++ config.magic_demand_paged = false; ++ config.text_read_only = false; ++ input_flags.dynamic = false; ++ break; ++ case 'R': ++ /* The GNU linker traditionally uses -R to mean to include ++ only the symbols from a file. The Solaris linker uses -R ++ to set the path used by the runtime linker to find ++ libraries. This is the GNU linker -rpath argument. We ++ try to support both simultaneously by checking the file ++ named. If it is a directory, rather than a regular file, ++ we assume -rpath was meant. */ ++ { ++ struct stat s; ++ ++ if (stat (optarg, &s) >= 0 ++ && ! S_ISDIR (s.st_mode)) ++ { ++ lang_add_input_file (optarg, ++ lang_input_file_is_symbols_only_enum, ++ NULL); ++ break; ++ } ++ } ++ /* Fall through. */ ++ case OPTION_RPATH: ++ if (command_line.rpath == NULL) ++ command_line.rpath = xstrdup (optarg); ++ else ++ { ++ size_t rpath_len = strlen (command_line.rpath); ++ size_t optarg_len = strlen (optarg); ++ char *buf; ++ char *cp = command_line.rpath; ++ ++ /* First see whether OPTARG is already in the path. */ ++ do ++ { ++ if (strncmp (optarg, cp, optarg_len) == 0 ++ && (cp[optarg_len] == 0 ++ || cp[optarg_len] == config.rpath_separator)) ++ /* We found it. */ ++ break; ++ ++ /* Not yet found. */ ++ cp = strchr (cp, config.rpath_separator); ++ if (cp != NULL) ++ ++cp; ++ } ++ while (cp != NULL); ++ ++ if (cp == NULL) ++ { ++ buf = (char *) xmalloc (rpath_len + optarg_len + 2); ++ sprintf (buf, "%s%c%s", command_line.rpath, ++ config.rpath_separator, optarg); ++ free (command_line.rpath); ++ command_line.rpath = buf; ++ } ++ } ++ break; ++ case OPTION_RPATH_LINK: ++ if (command_line.rpath_link == NULL) ++ command_line.rpath_link = xstrdup (optarg); ++ else ++ { ++ char *buf; ++ ++ buf = (char *) xmalloc (strlen (command_line.rpath_link) ++ + strlen (optarg) ++ + 2); ++ sprintf (buf, "%s%c%s", command_line.rpath_link, ++ config.rpath_separator, optarg); ++ free (command_line.rpath_link); ++ command_line.rpath_link = buf; ++ } ++ break; ++ case OPTION_NO_RELAX: ++ DISABLE_RELAXATION; ++ break; ++ case OPTION_RELAX: ++ ENABLE_RELAXATION; ++ break; ++ case OPTION_RETAIN_SYMBOLS_FILE: ++ add_keepsyms_file (optarg); ++ break; ++ case 'S': ++ link_info.strip = strip_debugger; ++ break; ++ case 's': ++ link_info.strip = strip_all; ++ break; ++ case OPTION_STRIP_DISCARDED: ++ link_info.strip_discarded = true; ++ break; ++ case OPTION_NO_STRIP_DISCARDED: ++ link_info.strip_discarded = false; ++ break; ++ case OPTION_DISABLE_MULTIPLE_DEFS_ABS: ++ link_info.prohibit_multiple_definition_absolute = true; ++ break; ++ case OPTION_SHARED: ++ if (config.has_shared) ++ { ++ if (bfd_link_relocatable (&link_info)) ++ einfo (_("%F%P: -r and %s may not be used together\n"), ++ "-shared"); ++ ++ link_info.type = type_dll; ++ /* When creating a shared library, the default ++ behaviour is to ignore any unresolved references. */ ++ if (link_info.unresolved_syms_in_objects == RM_NOT_YET_SET) ++ link_info.unresolved_syms_in_objects = RM_IGNORE; ++ if (link_info.unresolved_syms_in_shared_libs == RM_NOT_YET_SET) ++ link_info.unresolved_syms_in_shared_libs = RM_IGNORE; ++ } ++ else ++ einfo (_("%F%P: -shared not supported\n")); ++ break; ++ case OPTION_NO_PIE: ++ link_info.type = type_pde; ++ break; ++ case OPTION_PIE: ++ if (config.has_shared) ++ { ++ if (bfd_link_relocatable (&link_info)) ++ einfo (_("%F%P: -r and %s may not be used together\n"), "-pie"); ++ ++ link_info.type = type_pie; ++ } ++ else ++ einfo (_("%F%P: -pie not supported\n")); ++ break; ++ case 'h': /* Used on Solaris. */ ++ case OPTION_SONAME: ++ if (optarg[0] == '\0' && command_line.soname ++ && command_line.soname[0]) ++ einfo (_("%P: SONAME must not be empty string; keeping previous one\n")); ++ else ++ command_line.soname = optarg; ++ break; ++ case OPTION_SORT_COMMON: ++ if (optarg == NULL ++ || strcmp (optarg, N_("descending")) == 0) ++ config.sort_common = sort_descending; ++ else if (strcmp (optarg, N_("ascending")) == 0) ++ config.sort_common = sort_ascending; ++ else ++ einfo (_("%F%P: invalid common section sorting option: %s\n"), ++ optarg); ++ break; ++ case OPTION_SORT_SECTION: ++ if (strcmp (optarg, N_("name")) == 0) ++ sort_section = by_name; ++ else if (strcmp (optarg, N_("alignment")) == 0) ++ sort_section = by_alignment; ++ else ++ einfo (_("%F%P: invalid section sorting option: %s\n"), ++ optarg); ++ break; ++ case OPTION_STATS: ++ config.stats = true; ++ break; ++ case OPTION_NO_SYMBOLIC: ++ opt_symbolic = symbolic_unset; ++ break; ++ case OPTION_SYMBOLIC: ++ opt_symbolic = symbolic; ++ break; ++ case OPTION_SYMBOLIC_FUNCTIONS: ++ opt_symbolic = symbolic_functions; ++ break; ++ case 't': ++ ++trace_files; ++ break; ++ case 'T': ++ previous_script_handle = saved_script_handle; ++ ldfile_open_script_file (optarg); ++ parser_input = input_script; ++ yyparse (); ++ previous_script_handle = NULL; ++ break; ++ case OPTION_DEFAULT_SCRIPT: ++ command_line.default_script = optarg; ++ break; ++ case OPTION_SECTION_START: ++ { ++ char *optarg2; ++ char *sec_name; ++ int len; ++ ++ /* Check for =... */ ++ optarg2 = strchr (optarg, '='); ++ if (optarg2 == NULL) ++ einfo (_("%F%P: invalid argument to option" ++ " \"--section-start\"\n")); ++ ++ optarg2++; ++ ++ /* So far so good. Are all the args present? */ ++ if ((*optarg == '\0') || (*optarg2 == '\0')) ++ einfo (_("%F%P: missing argument(s) to option" ++ " \"--section-start\"\n")); ++ ++ /* We must copy the section name as set_section_start ++ doesn't do it for us. */ ++ len = optarg2 - optarg; ++ sec_name = (char *) xmalloc (len); ++ memcpy (sec_name, optarg, len - 1); ++ sec_name[len - 1] = 0; ++ ++ /* Then set it... */ ++ set_section_start (sec_name, optarg2); ++ } ++ break; ++ case OPTION_TARGET_HELP: ++ /* Mention any target specific options. */ ++ ldemul_list_emulation_options (stdout); ++ exit (0); ++ case OPTION_TBSS: ++ set_segment_start (".bss", optarg); ++ break; ++ case OPTION_TDATA: ++ set_segment_start (".data", optarg); ++ break; ++ case OPTION_TTEXT: ++ set_segment_start (".text", optarg); ++ break; ++ case OPTION_TTEXT_SEGMENT: ++ set_segment_start (".text-segment", optarg); ++ break; ++ case OPTION_TRODATA_SEGMENT: ++ set_segment_start (".rodata-segment", optarg); ++ break; ++ case OPTION_TLDATA_SEGMENT: ++ set_segment_start (".ldata-segment", optarg); ++ break; ++ case OPTION_TRADITIONAL_FORMAT: ++ link_info.traditional_format = true; ++ break; ++ case OPTION_TASK_LINK: ++ link_info.task_link = true; ++ /* Fall through. */ ++ case OPTION_UR: ++ if (bfd_link_pic (&link_info)) ++ einfo (_("%F%P: -r and %s may not be used together\n"), ++ bfd_link_dll (&link_info) ? "-shared" : "-pie"); ++ ++ link_info.type = type_relocatable; ++ config.build_constructors = true; ++ config.magic_demand_paged = false; ++ config.text_read_only = false; ++ input_flags.dynamic = false; ++ break; ++ case 'u': ++ ldlang_add_undef (optarg, true); ++ break; ++ case OPTION_REQUIRE_DEFINED_SYMBOL: ++ ldlang_add_require_defined (optarg); ++ break; ++ case OPTION_UNIQUE: ++ if (optarg != NULL) ++ lang_add_unique (optarg); ++ else ++ config.unique_orphan_sections = true; ++ break; ++ case OPTION_VERBOSE: ++ ldversion (1); ++ version_printed = true; ++ verbose = true; ++ overflow_cutoff_limit = -2; ++ if (optarg != NULL) ++ { ++ char *end; ++ int level ATTRIBUTE_UNUSED = strtoul (optarg, &end, 0); ++ if (*end) ++ einfo (_("%F%P: invalid number `%s'\n"), optarg); ++#if BFD_SUPPORTS_PLUGINS ++ report_plugin_symbols = level > 1; ++#endif /* BFD_SUPPORTS_PLUGINS */ ++ } ++ break; ++ case 'v': ++ ldversion (0); ++ version_printed = true; ++ break; ++ case 'V': ++ ldversion (1); ++ version_printed = true; ++ break; ++ case OPTION_VERSION: ++ ldversion (2); ++ xexit (0); ++ break; ++ case OPTION_VERSION_SCRIPT: ++ /* This option indicates a small script that only specifies ++ version information. Read it, but don't assume that ++ we've seen a linker script. */ ++ { ++ FILE *hold_script_handle; ++ ++ hold_script_handle = saved_script_handle; ++ ldfile_open_command_file (optarg); ++ saved_script_handle = hold_script_handle; ++ parser_input = input_version_script; ++ yyparse (); ++ } ++ break; ++ case OPTION_VERSION_EXPORTS_SECTION: ++ /* This option records a version symbol to be applied to the ++ symbols listed for export to be found in the object files ++ .exports sections. */ ++ command_line.version_exports_section = optarg; ++ break; ++ case OPTION_DYNAMIC_LIST_DATA: ++ opt_dynamic_list = dynamic_list_data; ++ break; ++ case OPTION_DYNAMIC_LIST_CPP_TYPEINFO: ++ lang_append_dynamic_list_cpp_typeinfo (); ++ if (opt_dynamic_list != dynamic_list_data) ++ opt_dynamic_list = dynamic_list; ++ break; ++ case OPTION_DYNAMIC_LIST_CPP_NEW: ++ lang_append_dynamic_list_cpp_new (); ++ if (opt_dynamic_list != dynamic_list_data) ++ opt_dynamic_list = dynamic_list; ++ break; ++ case OPTION_DYNAMIC_LIST: ++ /* This option indicates a small script that only specifies ++ a dynamic list. Read it, but don't assume that we've ++ seen a linker script. */ ++ { ++ FILE *hold_script_handle; ++ ++ hold_script_handle = saved_script_handle; ++ ldfile_open_command_file (optarg); ++ saved_script_handle = hold_script_handle; ++ parser_input = input_dynamic_list; ++ current_dynamic_list_p = &link_info.dynamic_list; ++ yyparse (); ++ } ++ if (opt_dynamic_list != dynamic_list_data) ++ opt_dynamic_list = dynamic_list; ++ break; ++ case OPTION_EXPORT_DYNAMIC_SYMBOL: ++ { ++ struct bfd_elf_version_expr *expr ++ = lang_new_vers_pattern (NULL, xstrdup (optarg), NULL, ++ false); ++ lang_append_dynamic_list (&export_list, expr); ++ } ++ break; ++ case OPTION_EXPORT_DYNAMIC_SYMBOL_LIST: ++ /* This option indicates a small script that only specifies ++ an export list. Read it, but don't assume that we've ++ seen a linker script. */ ++ { ++ FILE *hold_script_handle; ++ ++ hold_script_handle = saved_script_handle; ++ ldfile_open_command_file (optarg); ++ saved_script_handle = hold_script_handle; ++ parser_input = input_dynamic_list; ++ current_dynamic_list_p = &export_list; ++ yyparse (); ++ } ++ break; ++ case OPTION_WARN_COMMON: ++ config.warn_common = true; ++ break; ++ case OPTION_WARN_CONSTRUCTORS: ++ config.warn_constructors = true; ++ break; ++ case OPTION_WARN_FATAL: ++ config.fatal_warnings = true; ++ break; ++ case OPTION_NO_WARN_FATAL: ++ config.fatal_warnings = false; ++ break; ++ case OPTION_NO_WARNINGS: ++ case 'w': ++ config.no_warnings = true; ++ config.fatal_warnings = false; ++ break; ++ case OPTION_WARN_MULTIPLE_GP: ++ config.warn_multiple_gp = true; ++ break; ++ case OPTION_WARN_ONCE: ++ config.warn_once = true; ++ break; ++ case OPTION_WARN_SECTION_ALIGN: ++ config.warn_section_align = true; ++ break; ++ case OPTION_WARN_TEXTREL: ++ link_info.textrel_check = textrel_check_warning; ++ break; ++ case OPTION_WARN_ALTERNATE_EM: ++ link_info.warn_alternate_em = true; ++ break; ++ case OPTION_WHOLE_ARCHIVE: ++ input_flags.whole_archive = true; ++ break; ++ case OPTION_ADD_DT_NEEDED_FOR_DYNAMIC: ++ input_flags.add_DT_NEEDED_for_dynamic = true; ++ break; ++ case OPTION_NO_ADD_DT_NEEDED_FOR_DYNAMIC: ++ input_flags.add_DT_NEEDED_for_dynamic = false; ++ break; ++ case OPTION_ADD_DT_NEEDED_FOR_REGULAR: ++ input_flags.add_DT_NEEDED_for_regular = true; ++ break; ++ case OPTION_NO_ADD_DT_NEEDED_FOR_REGULAR: ++ input_flags.add_DT_NEEDED_for_regular = false; ++ break; ++ case OPTION_WRAP: ++ add_wrap (optarg); ++ break; ++ case OPTION_IGNORE_UNRESOLVED_SYMBOL: ++ add_ignoresym (&link_info, optarg); ++ break; ++ case OPTION_DISCARD_NONE: ++ link_info.discard = discard_none; ++ break; ++ case 'X': ++ link_info.discard = discard_l; ++ break; ++ case 'x': ++ link_info.discard = discard_all; ++ break; ++ case 'Y': ++ if (startswith (optarg, "P,")) ++ optarg += 2; ++ free (default_dirlist); ++ default_dirlist = xstrdup (optarg); ++ break; ++ case 'y': ++ add_ysym (optarg); ++ break; ++ case OPTION_SPARE_DYNAMIC_TAGS: ++ link_info.spare_dynamic_tags = strtoul (optarg, NULL, 0); ++ break; ++ case OPTION_SPLIT_BY_RELOC: ++ if (optarg != NULL) ++ config.split_by_reloc = strtoul (optarg, NULL, 0); ++ else ++ config.split_by_reloc = 32768; ++ break; ++ case OPTION_SPLIT_BY_FILE: ++ if (optarg != NULL) ++ config.split_by_file = bfd_scan_vma (optarg, NULL, 0); ++ else ++ config.split_by_file = 1; ++ break; ++ case OPTION_CHECK_SECTIONS: ++ command_line.check_section_addresses = 1; ++ break; ++ case OPTION_NO_CHECK_SECTIONS: ++ command_line.check_section_addresses = 0; ++ break; ++ case OPTION_ACCEPT_UNKNOWN_INPUT_ARCH: ++ command_line.accept_unknown_input_arch = true; ++ break; ++ case OPTION_NO_ACCEPT_UNKNOWN_INPUT_ARCH: ++ command_line.accept_unknown_input_arch = false; ++ break; ++ case '(': ++ lang_enter_group (); ++ ingroup++; ++ break; ++ case ')': ++ if (! ingroup) ++ einfo (_("%F%P: group ended before it began (--help for usage)\n")); ++ ++ lang_leave_group (); ++ ingroup--; ++ break; ++ ++ case OPTION_INIT: ++ link_info.init_function = optarg; ++ break; ++ ++ case OPTION_FINI: ++ link_info.fini_function = optarg; ++ break; ++ ++ case OPTION_REMAP_INPUTS_FILE: ++ if (! ldfile_add_remap_file (optarg)) ++ einfo (_("%F%P: failed to add remap file %s\n"), optarg); ++ break; ++ ++ case OPTION_REMAP_INPUTS: ++ { ++ char *optarg2 = strchr (optarg, '='); ++ if (optarg2 == NULL) ++ /* FIXME: Should we allow --remap-inputs=@myfile as a synonym ++ for --remap-inputs-file=myfile ? */ ++ einfo (_("%F%P: invalid argument to option --remap-inputs\n")); ++ size_t len = optarg2 - optarg; ++ char * pattern = xmalloc (len + 1); ++ memcpy (pattern, optarg, len); ++ pattern[len] = 0; ++ ldfile_add_remap (pattern, optarg2 + 1); ++ free (pattern); ++ } ++ break; ++ ++ case OPTION_REDUCE_MEMORY_OVERHEADS: ++ link_info.reduce_memory_overheads = true; ++ if (config.hash_table_size == 0) ++ config.hash_table_size = 1021; ++ break; ++ ++ case OPTION_MAX_CACHE_SIZE: ++ { ++ char *end; ++ bfd_size_type cache_size = strtoul (optarg, &end, 0); ++ if (*end != '\0') ++ einfo (_("%F%P: invalid cache memory size: %s\n"), ++ optarg); ++ link_info.max_cache_size = cache_size; ++ } ++ break; ++ ++ case OPTION_HASH_SIZE: ++ { ++ bfd_size_type new_size; ++ ++ new_size = strtoul (optarg, NULL, 0); ++ if (new_size) ++ config.hash_table_size = new_size; ++ else ++ einfo (_("%X%P: --hash-size needs a numeric argument\n")); ++ } ++ break; ++ ++ case OPTION_PUSH_STATE: ++ input_flags.pushed = xmemdup (&input_flags, ++ sizeof (input_flags), ++ sizeof (input_flags)); ++ break; ++ ++ case OPTION_POP_STATE: ++ if (input_flags.pushed == NULL) ++ einfo (_("%F%P: no state pushed before popping\n")); ++ else ++ { ++ struct lang_input_statement_flags *oldp = input_flags.pushed; ++ memcpy (&input_flags, oldp, sizeof (input_flags)); ++ free (oldp); ++ } ++ break; ++ ++ case OPTION_PRINT_MEMORY_USAGE: ++ command_line.print_memory_usage = true; ++ break; ++ ++ case OPTION_ORPHAN_HANDLING: ++ if (strcasecmp (optarg, "place") == 0) ++ config.orphan_handling = orphan_handling_place; ++ else if (strcasecmp (optarg, "warn") == 0) ++ config.orphan_handling = orphan_handling_warn; ++ else if (strcasecmp (optarg, "error") == 0) ++ config.orphan_handling = orphan_handling_error; ++ else if (strcasecmp (optarg, "discard") == 0) ++ config.orphan_handling = orphan_handling_discard; ++ else ++ einfo (_("%F%P: invalid argument to option" ++ " \"--orphan-handling\"\n")); ++ break; ++ ++ case OPTION_NO_PRINT_MAP_DISCARDED: ++ config.print_map_discarded = false; ++ break; ++ ++ case OPTION_PRINT_MAP_DISCARDED: ++ config.print_map_discarded = true; ++ break; ++ ++ case OPTION_NO_PRINT_MAP_LOCALS: ++ config.print_map_locals = false; ++ break; ++ ++ case OPTION_PRINT_MAP_LOCALS: ++ config.print_map_locals = true; ++ break; ++ ++ case OPTION_DEPENDENCY_FILE: ++ config.dependency_file = optarg; ++ break; ++ ++ case OPTION_CTF_VARIABLES: ++ config.ctf_variables = true; ++ break; ++ ++ case OPTION_NO_CTF_VARIABLES: ++ config.ctf_variables = false; ++ break; ++ ++ case OPTION_CTF_SHARE_TYPES: ++ if (strcmp (optarg, "share-unconflicted") == 0) ++ config.ctf_share_duplicated = false; ++ else if (strcmp (optarg, "share-duplicated") == 0) ++ config.ctf_share_duplicated = true; ++ else ++ einfo (_("%F%P: bad --ctf-share-types option: %s\n"), optarg); ++ break; ++ } ++ } ++ ++ free (really_longopts); ++ free (longopts); ++ free (shortopts); ++ ++ /* Run a couple of checks on the map filename. */ ++ if (config.map_filename) ++ { ++ char * new_name = NULL; ++ char * percent; ++ int res = 0; ++ ++ if (config.map_filename[0] == 0) ++ { ++ einfo (_("%P: no file/directory name provided for map output; ignored\n")); ++ config.map_filename = NULL; ++ } ++ else if (strcmp (config.map_filename, "-") == 0) ++ ; /* Write to stdout. Handled in main(). */ ++ else if ((percent = strchr (config.map_filename, '%')) != NULL) ++ { ++ /* FIXME: Check for a second % character and issue an error ? */ ++ ++ /* Construct a map file by replacing the % character with the (full) ++ output filename. If the % character was the last character in ++ the original map filename then add a .map extension. */ ++ percent[0] = 0; ++ res = asprintf (&new_name, "%s%s%s", config.map_filename, ++ output_filename, ++ percent[1] ? percent + 1 : ".map"); ++ ++ /* FIXME: Should we ensure that any directory components in new_name exist ? */ ++ } ++ else ++ { ++ struct stat s; ++ ++ /* If the map filename is actually a directory then create ++ a file inside it, based upon the output filename. */ ++ if (stat (config.map_filename, &s) < 0) ++ { ++ if (errno != ENOENT) ++ einfo (_("%P: cannot stat linker map file: %E\n")); ++ } ++ else if (S_ISDIR (s.st_mode)) ++ { ++ char lastc = config.map_filename[strlen (config.map_filename) - 1]; ++ res = asprintf (&new_name, "%s%s%s.map", ++ config.map_filename, ++ IS_DIR_SEPARATOR (lastc) ? "" : "/", ++ lbasename (output_filename)); ++ } ++ else if (! S_ISREG (s.st_mode)) ++ { ++ einfo (_("%P: linker map file is not a regular file\n")); ++ config.map_filename = NULL; ++ } ++ /* else FIXME: Check write permission ? */ ++ } ++ ++ if (res < 0) ++ { ++ /* If the asprintf failed then something is probably very ++ wrong. Better to halt now rather than continue on ++ into more problems. */ ++ einfo (_("%P%F: cannot create name for linker map file: %E\n")); ++ } ++ else if (new_name != NULL) ++ { ++ /* This is a trivial memory leak. */ ++ config.map_filename = new_name; ++ } ++ } ++ ++ if (command_line.soname && command_line.soname[0] == '\0') ++ { ++ einfo (_("%P: SONAME must not be empty string; ignored\n")); ++ command_line.soname = NULL; ++ } ++ ++ while (ingroup) ++ { ++ einfo (_("%P: missing --end-group; added as last command line option\n")); ++ lang_leave_group (); ++ ingroup--; ++ } ++ ++ if (default_dirlist != NULL) ++ { ++ set_default_dirlist (default_dirlist); ++ free (default_dirlist); ++ } ++ ++ if (link_info.unresolved_syms_in_objects == RM_NOT_YET_SET) ++ /* FIXME: Should we allow emulations a chance to set this ? */ ++ link_info.unresolved_syms_in_objects = RM_DIAGNOSE; ++ ++ if (link_info.unresolved_syms_in_shared_libs == RM_NOT_YET_SET) ++ /* FIXME: Should we allow emulations a chance to set this ? */ ++ link_info.unresolved_syms_in_shared_libs = RM_DIAGNOSE; ++ ++ if (bfd_link_relocatable (&link_info) ++ && command_line.check_section_addresses < 0) ++ command_line.check_section_addresses = 0; ++ ++ if (export_list) ++ { ++ struct bfd_elf_version_expr *head = export_list->head.list; ++ struct bfd_elf_version_expr *next; ++ ++ /* For --export-dynamic-symbol[-list]: ++ 1. When building executable, treat like --dynamic-list. ++ 2. When building shared object: ++ a. If -Bsymbolic or --dynamic-list are used, treat like ++ --dynamic-list. ++ b. Otherwise, ignored. ++ */ ++ if (!bfd_link_relocatable (&link_info) ++ && (bfd_link_executable (&link_info) ++ || opt_symbolic != symbolic_unset ++ || opt_dynamic_list != dynamic_list_unset)) ++ { ++ /* Append the export list to link_info.dynamic_list. */ ++ if (link_info.dynamic_list) ++ { ++ for (next = head; next->next != NULL; next = next->next) ++ ; ++ next->next = link_info.dynamic_list->head.list; ++ link_info.dynamic_list->head.list = head; ++ } ++ else ++ link_info.dynamic_list = export_list; ++ ++ if (opt_dynamic_list != dynamic_list_data) ++ opt_dynamic_list = dynamic_list; ++ } ++ else ++ { ++ /* Free the export list. */ ++ for (; head->next != NULL; head = next) ++ { ++ next = head->next; ++ free (head); ++ } ++ free (export_list); ++ } ++ } ++ ++ switch (opt_dynamic_list) ++ { ++ case dynamic_list_unset: ++ break; ++ case dynamic_list_data: ++ link_info.dynamic_data = true; ++ /* Fall through. */ ++ case dynamic_list: ++ link_info.dynamic = true; ++ opt_symbolic = symbolic_unset; ++ break; ++ } ++ ++ /* -Bsymbolic and -Bsymbols-functions are for shared library output. */ ++ if (bfd_link_dll (&link_info)) ++ switch (opt_symbolic) ++ { ++ case symbolic_unset: ++ break; ++ case symbolic: ++ link_info.symbolic = true; ++ if (link_info.dynamic_list) ++ { ++ struct bfd_elf_version_expr *ent, *next; ++ for (ent = link_info.dynamic_list->head.list; ent; ent = next) ++ { ++ next = ent->next; ++ free (ent); ++ } ++ free (link_info.dynamic_list); ++ link_info.dynamic_list = NULL; ++ } ++ break; ++ case symbolic_functions: ++ link_info.dynamic = true; ++ link_info.dynamic_data = true; ++ break; ++ } ++ ++ /* -z nosectionheader implies --strip-all. */ ++ if (config.no_section_header) ++ { ++ if (bfd_link_relocatable (&link_info)) ++ einfo (_("%F%P: -r and -z nosectionheader may not be used together\n")); ++ ++ link_info.strip = strip_all; ++ } ++ ++ if (!bfd_link_dll (&link_info)) ++ { ++ if (command_line.filter_shlib) ++ einfo (_("%F%P: -F may not be used without -shared\n")); ++ if (command_line.auxiliary_filters) ++ einfo (_("%F%P: -f may not be used without -shared\n")); ++ } ++ ++ /* Treat ld -r -s as ld -r -S -x (i.e., strip all local symbols). I ++ don't see how else this can be handled, since in this case we ++ must preserve all externally visible symbols. */ ++ if (bfd_link_relocatable (&link_info) && link_info.strip == strip_all) ++ { ++ link_info.strip = strip_debugger; ++ if (link_info.discard == discard_sec_merge) ++ link_info.discard = discard_all; ++ } ++} ++ ++/* Add the (colon-separated) elements of DIRLIST_PTR to the ++ library search path. */ ++ ++static void ++set_default_dirlist (char *dirlist_ptr) ++{ ++ char *p; ++ ++ while (1) ++ { ++ p = strchr (dirlist_ptr, PATH_SEPARATOR); ++ if (p != NULL) ++ *p = '\0'; ++ if (*dirlist_ptr != '\0') ++ ldfile_add_library_path (dirlist_ptr, true); ++ if (p == NULL) ++ break; ++ dirlist_ptr = p + 1; ++ } ++} ++ ++static void ++set_section_start (char *sect, char *valstr) ++{ ++ const char *end; ++ bfd_vma val = bfd_scan_vma (valstr, &end, 16); ++ if (*end) ++ einfo (_("%F%P: invalid hex number `%s'\n"), valstr); ++ lang_section_start (sect, exp_intop (val), NULL); ++} ++ ++static void ++set_segment_start (const char *section, char *valstr) ++{ ++ const char *name; ++ const char *end; ++ segment_type *seg; ++ ++ bfd_vma val = bfd_scan_vma (valstr, &end, 16); ++ if (*end) ++ einfo (_("%F%P: invalid hex number `%s'\n"), valstr); ++ /* If we already have an entry for this segment, update the existing ++ value. */ ++ name = section + 1; ++ for (seg = segments; seg; seg = seg->next) ++ if (strcmp (seg->name, name) == 0) ++ { ++ seg->value = val; ++ lang_section_start (section, exp_intop (val), seg); ++ return; ++ } ++ /* There was no existing value so we must create a new segment ++ entry. */ ++ seg = stat_alloc (sizeof (*seg)); ++ seg->name = name; ++ seg->value = val; ++ seg->used = false; ++ /* Add it to the linked list of segments. */ ++ seg->next = segments; ++ segments = seg; ++ /* Historically, -Ttext and friends set the base address of a ++ particular section. For backwards compatibility, we still do ++ that. If a SEGMENT_START directive is seen, the section address ++ assignment will be disabled. */ ++ lang_section_start (section, exp_intop (val), seg); ++} ++ ++static void ++elf_shlib_list_options (FILE *file) ++{ ++ fprintf (file, _("\ ++ --audit=AUDITLIB Specify a library to use for auditing\n")); ++ fprintf (file, _("\ ++ -Bgroup Selects group name lookup rules for DSO\n")); ++ fprintf (file, _("\ ++ --disable-new-dtags Disable new dynamic tags\n")); ++ fprintf (file, _("\ ++ --enable-new-dtags Enable new dynamic tags\n")); ++ fprintf (file, _("\ ++ --eh-frame-hdr Create .eh_frame_hdr section\n")); ++ fprintf (file, _("\ ++ --no-eh-frame-hdr Do not create .eh_frame_hdr section\n")); ++ fprintf (file, _("\ ++ --exclude-libs=LIBS Make all symbols in LIBS hidden\n")); ++ fprintf (file, _("\ ++ --hash-style=STYLE Set hash style to sysv/gnu/both. Default: ")); ++ if (DEFAULT_EMIT_SYSV_HASH) ++ { ++ /* Note - these strings are not translated as ++ they are keywords not descriptive text. */ ++ if (DEFAULT_EMIT_GNU_HASH) ++ fprintf (file, "both\n"); ++ else ++ fprintf (file, "sysv\n"); ++ } ++ else ++ { ++ if (DEFAULT_EMIT_GNU_HASH) ++ fprintf (file, "gnu\n"); ++ else ++ /* FIXME: Can this happen ? */ ++ fprintf (file, "none\n"); ++ } ++ fprintf (file, _("\ ++ -P AUDITLIB, --depaudit=AUDITLIB\n" "\ ++ Specify a library to use for auditing dependencies\n")); ++ fprintf (file, _("\ ++ -z combreloc Merge dynamic relocs into one section and sort\n")); ++ fprintf (file, _("\ ++ -z nocombreloc Don't merge dynamic relocs into one section\n")); ++ fprintf (file, _("\ ++ -z global Make symbols in DSO available for subsequently\n\ ++ loaded objects\n")); ++ fprintf (file, _("\ ++ -z initfirst Mark DSO to be initialized first at runtime\n")); ++ fprintf (file, _("\ ++ -z interpose Mark object to interpose all DSOs but executable\n")); ++ fprintf (file, _("\ ++ -z unique Mark DSO to be loaded at most once by default, and only in the main namespace\n")); ++ fprintf (file, _("\ ++ -z nounique Don't mark DSO as a loadable at most once\n")); ++ fprintf (file, _("\ ++ -z lazy Mark object lazy runtime binding (default)\n")); ++ fprintf (file, _("\ ++ -z loadfltr Mark object requiring immediate process\n")); ++ fprintf (file, _("\ ++ -z nocopyreloc Don't create copy relocs\n")); ++ fprintf (file, _("\ ++ -z nodefaultlib Mark object not to use default search paths\n")); ++ fprintf (file, _("\ ++ -z nodelete Mark DSO non-deletable at runtime\n")); ++ fprintf (file, _("\ ++ -z nodlopen Mark DSO not available to dlopen\n")); ++ fprintf (file, _("\ ++ -z nodump Mark DSO not available to dldump\n")); ++ fprintf (file, _("\ ++ -z now Mark object non-lazy runtime binding\n")); ++ fprintf (file, _("\ ++ -z origin Mark object requiring immediate $ORIGIN\n\ ++ processing at runtime\n")); ++#if DEFAULT_LD_Z_RELRO ++ fprintf (file, _("\ ++ -z relro Create RELRO program header (default)\n")); ++ fprintf (file, _("\ ++ -z norelro Don't create RELRO program header\n")); ++#else ++ fprintf (file, _("\ ++ -z relro Create RELRO program header\n")); ++ fprintf (file, _("\ ++ -z norelro Don't create RELRO program header (default)\n")); ++#endif ++#if DEFAULT_LD_Z_SEPARATE_CODE ++ fprintf (file, _("\ ++ -z separate-code Create separate code program header (default)\n")); ++ fprintf (file, _("\ ++ -z noseparate-code Don't create separate code program header\n")); ++#else ++ fprintf (file, _("\ ++ -z separate-code Create separate code program header\n")); ++ fprintf (file, _("\ ++ -z noseparate-code Don't create separate code program header (default)\n")); ++#endif ++ fprintf (file, _("\ ++ -z common Generate common symbols with STT_COMMON type\n")); ++ fprintf (file, _("\ ++ -z nocommon Generate common symbols with STT_OBJECT type\n")); ++ if (link_info.textrel_check == textrel_check_error) ++ fprintf (file, _("\ ++ -z text Treat DT_TEXTREL in output as error (default)\n")); ++ else ++ fprintf (file, _("\ ++ -z text Treat DT_TEXTREL in output as error\n")); ++ if (link_info.textrel_check == textrel_check_none) ++ { ++ fprintf (file, _("\ ++ -z notext Don't treat DT_TEXTREL in output as error (default)\n")); ++ fprintf (file, _("\ ++ -z textoff Don't treat DT_TEXTREL in output as error (default)\n")); ++ } ++ else ++ { ++ fprintf (file, _("\ ++ -z notext Don't treat DT_TEXTREL in output as error\n")); ++ fprintf (file, _("\ ++ -z textoff Don't treat DT_TEXTREL in output as error\n")); ++ } ++} ++ ++static void ++elf_static_list_options (FILE *file) ++{ ++ fprintf (file, _("\ ++ --build-id[=STYLE] Generate build ID note\n")); ++ fprintf (file, _("\ ++ --package-metadata[=JSON] Generate package metadata note\n")); ++ fprintf (file, _("\ ++ --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi|zstd]\n\ ++ Compress DWARF debug sections\n")); ++ fprintf (file, _("\ ++ Default: %s\n"), ++ bfd_get_compression_algorithm_name (config.compress_debug)); ++ fprintf (file, _("\ ++ -z common-page-size=SIZE Set common page size to SIZE\n")); ++ fprintf (file, _("\ ++ -z max-page-size=SIZE Set maximum page size to SIZE\n")); ++ fprintf (file, _("\ ++ -z defs Report unresolved symbols in object files\n")); ++ fprintf (file, _("\ ++ -z undefs Ignore unresolved symbols in object files\n")); ++ fprintf (file, _("\ ++ -z muldefs Allow multiple definitions\n")); ++ fprintf (file, _("\ ++ -z stack-size=SIZE Set size of stack segment\n")); ++ ++ fprintf (file, _("\ ++ -z execstack Mark executable as requiring executable stack\n")); ++ fprintf (file, _("\ ++ -z noexecstack Mark executable as not requiring executable stack\n")); ++ fprintf (file, _("\ ++ --warn-execstack-objects Generate a warning if an object file requests an executable stack\n")); ++#if DEFAULT_LD_WARN_EXECSTACK == 0 ++ fprintf (file, _("\ ++ --warn-execstack Generate a warning if creating an executable stack\n")); ++#else ++ fprintf (file, _("\ ++ --warn-execstack Generate a warning if creating an executable stack (default)\n")); ++#endif ++#if DEFAULT_LD_WARN_EXECSTACK == 0 ++ fprintf (file, _("\ ++ --no-warn-execstack Do not generate a warning if creating an executable stack (default)\n")); ++#else ++ fprintf (file, _("\ ++ --no-warn-execstack Do not generate a warning if creating an executable stack\n")); ++#endif ++ fprintf (file, _("\ ++ --error-execstack Turn warnings about executable stacks into errors\n")); ++ fprintf (file, _("\ ++ --no-error-execstack Do not turn warnings about executable stacks into errors\n")); ++ ++#if DEFAULT_LD_WARN_RWX_SEGMENTS ++ fprintf (file, _("\ ++ --warn-rwx-segments Generate a warning if a LOAD segment has RWX permissions (default)\n")); ++ fprintf (file, _("\ ++ --no-warn-rwx-segments Do not generate a warning if a LOAD segments has RWX permissions\n")); ++#else ++ fprintf (file, _("\ ++ --warn-rwx-segments Generate a warning if a LOAD segment has RWX permissions\n")); ++ fprintf (file, _("\ ++ --no-warn-rwx-segments Do not generate a warning if a LOAD segments has RWX permissions (default)\n")); ++#endif ++ fprintf (file, _("\ ++ --error-rwx-segments Turn warnings about loadable RWX segments into errors\n")); ++ fprintf (file, _("\ ++ --no-error-rwx-segments Do not turn warnings about loadable RWX segments into errors\n")); ++ ++ fprintf (file, _("\ ++ -z unique-symbol Avoid duplicated local symbol names\n")); ++ fprintf (file, _("\ ++ -z nounique-symbol Keep duplicated local symbol names (default)\n")); ++ fprintf (file, _("\ ++ -z globalaudit Mark executable requiring global auditing\n")); ++ fprintf (file, _("\ ++ -z start-stop-gc Enable garbage collection on __start/__stop\n")); ++ fprintf (file, _("\ ++ -z nostart-stop-gc Don't garbage collect __start/__stop (default)\n")); ++ fprintf (file, _("\ ++ -z start-stop-visibility=V Set visibility of built-in __start/__stop symbols\n\ ++ to DEFAULT, PROTECTED, HIDDEN or INTERNAL\n")); ++ fprintf (file, _("\ ++ -z sectionheader Generate section header (default)\n")); ++ fprintf (file, _("\ ++ -z nosectionheader Do not generate section header\n")); ++} ++ ++static void ++elf_plt_unwind_list_options (FILE *file) ++{ ++ fprintf (file, _("\ ++ --ld-generated-unwind-info Generate exception handling info for PLT\n")); ++ fprintf (file, _("\ ++ --no-ld-generated-unwind-info\n\ ++ Don't generate exception handling info for PLT\n")); ++} ++ ++static void ++ld_list_options (FILE *file, bool elf, bool shlib, bool plt_unwind) ++{ ++ if (!elf) ++ return; ++ printf (_("ELF emulations:\n")); ++ if (plt_unwind) ++ elf_plt_unwind_list_options (file); ++ elf_static_list_options (file); ++ if (shlib) ++ elf_shlib_list_options (file); ++} ++ ++ ++/* Print help messages for the options. */ ++ ++static void ++help (void) ++{ ++ unsigned i; ++ const char **targets, **pp; ++ int len; ++ ++ printf (_("Usage: %s [options] file...\n"), program_name); ++ ++ printf (_("Options:\n")); ++ for (i = 0; i < OPTION_COUNT; i++) ++ { ++ if (ld_options[i].doc != NULL) ++ { ++ bool comma; ++ unsigned j; ++ ++ printf (" "); ++ ++ comma = false; ++ len = 2; ++ ++ j = i; ++ do ++ { ++ if (ld_options[j].shortopt != '\0' ++ && ld_options[j].control != NO_HELP) ++ { ++ printf ("%s-%c", comma ? ", " : "", ld_options[j].shortopt); ++ len += (comma ? 2 : 0) + 2; ++ if (ld_options[j].arg != NULL) ++ { ++ if (ld_options[j].opt.has_arg != optional_argument) ++ { ++ printf (" "); ++ ++len; ++ } ++ printf ("%s", _(ld_options[j].arg)); ++ len += strlen (_(ld_options[j].arg)); ++ } ++ comma = true; ++ } ++ ++j; ++ } ++ while (j < OPTION_COUNT && ld_options[j].doc == NULL); ++ ++ j = i; ++ do ++ { ++ if (ld_options[j].opt.name != NULL ++ && ld_options[j].control != NO_HELP) ++ { ++ int two_dashes = ++ (ld_options[j].control == TWO_DASHES ++ || ld_options[j].control == EXACTLY_TWO_DASHES); ++ ++ printf ("%s-%s%s", ++ comma ? ", " : "", ++ two_dashes ? "-" : "", ++ ld_options[j].opt.name); ++ len += ((comma ? 2 : 0) ++ + 1 ++ + (two_dashes ? 1 : 0) ++ + strlen (ld_options[j].opt.name)); ++ if (ld_options[j].arg != NULL) ++ { ++ printf (" %s", _(ld_options[j].arg)); ++ len += 1 + strlen (_(ld_options[j].arg)); ++ } ++ comma = true; ++ } ++ ++j; ++ } ++ while (j < OPTION_COUNT && ld_options[j].doc == NULL); ++ ++ if (len >= 30) ++ { ++ printf ("\n"); ++ len = 0; ++ } ++ ++ for (; len < 30; len++) ++ putchar (' '); ++ ++ printf ("%s\n", _(ld_options[i].doc)); ++ } ++ } ++ printf (_(" @FILE")); ++ for (len = strlen (" @FILE"); len < 30; len++) ++ putchar (' '); ++ printf (_("Read options from FILE\n")); ++ ++ /* Note: Various tools (such as libtool) depend upon the ++ format of the listings below - do not change them. */ ++ /* xgettext:c-format */ ++ printf (_("%s: supported targets:"), program_name); ++ targets = bfd_target_list (); ++ for (pp = targets; *pp != NULL; pp++) ++ printf (" %s", *pp); ++ free (targets); ++ printf ("\n"); ++ ++ /* xgettext:c-format */ ++ printf (_("%s: supported emulations: "), program_name); ++ ldemul_list_emulations (stdout); ++ printf ("\n"); ++ ++ /* xgettext:c-format */ ++ printf (_("%s: emulation specific options:\n"), program_name); ++ ld_list_options (stdout, ELF_LIST_OPTIONS, ELF_SHLIB_LIST_OPTIONS, ++ ELF_PLT_UNWIND_LIST_OPTIONS); ++ ldemul_list_emulation_options (stdout); ++ printf ("\n"); ++ ++ if (REPORT_BUGS_TO[0]) ++ printf (_("Report bugs to %s\n"), REPORT_BUGS_TO); ++} +diff -rupN binutils.orig/ld/testsuite/ld-scripts/section-order-1a.d binutils-2.41/ld/testsuite/ld-scripts/section-order-1a.d +--- binutils.orig/ld/testsuite/ld-scripts/section-order-1a.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/section-order-1a.d 2024-05-13 13:04:08.599633306 +0100 +@@ -0,0 +1,22 @@ ++#name: Text Section Ordering (section-order-1a) ++#source: section-order-1b.s ++#source: section-order-1a.s ++#source: start.s ++#ld: --section-ordering-file section-order-1a.t ++#nm: -n ++ ++#... ++[0-9a-f]+ T yyy ++#... ++[0-9a-f]+ T bar ++#... ++[0-9a-f]+ T [_]+start ++#... ++[0-9a-f]+ T xxx ++#... ++[0-9a-f]+ T foo ++#... ++[0-9a-f]+ T qqq ++#... ++[0-9a-f]+ T zzz ++#pass +diff -rupN binutils.orig/ld/testsuite/ld-scripts/section-order-1a.s binutils-2.41/ld/testsuite/ld-scripts/section-order-1a.s +--- binutils.orig/ld/testsuite/ld-scripts/section-order-1a.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/section-order-1a.s 2024-05-13 13:04:08.599633306 +0100 +@@ -0,0 +1,29 @@ ++ .section .text.foo ++ .globl foo ++foo: ++ .dc.a 0 ++ ++ .section .text.bar ++ .globl bar ++bar: ++ .dc.a 0 ++ ++ .section .data.small ++ .globl small ++small: ++ .dc.a 0 ++ ++ .section .bar ++ .global bar ++bart: ++ .dc.a 0 ++ ++ .section .text.zzz ++ .global zzz ++zzz: ++ .dc.a 0 ++ ++ .section .data.bbb ++ .global bbb ++bbb: ++ .dc.a 0 +diff -rupN binutils.orig/ld/testsuite/ld-scripts/section-order-1a.t binutils-2.41/ld/testsuite/ld-scripts/section-order-1a.t +--- binutils.orig/ld/testsuite/ld-scripts/section-order-1a.t 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/section-order-1a.t 2024-05-13 13:04:08.599633306 +0100 +@@ -0,0 +1,14 @@ ++.text : { ++ *(.text.yyy) ++ *(.text.b?r) ++ *(.text) ++ *(.text.xxx .text.foo) ++} ++ ++.data : { ++ *(.data.small) ++ *(.big*) ++ *(.bar .baz*) ++ *(.data.ccc) ++} ++ +diff -rupN binutils.orig/ld/testsuite/ld-scripts/section-order-1b.d binutils-2.41/ld/testsuite/ld-scripts/section-order-1b.d +--- binutils.orig/ld/testsuite/ld-scripts/section-order-1b.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/section-order-1b.d 2024-05-13 13:04:08.599633306 +0100 +@@ -0,0 +1,18 @@ ++#name: Text Section Ordering (section-order-1b) ++#source: section-order-1a.s ++#source: section-order-1b.s ++#source: start.s ++#ld: --section-ordering-file section-order-1b.t ++#nm: -n ++ ++#... ++[0-9a-f]+ T yyy ++#... ++[0-9a-f]+ T bar ++#... ++[0-9a-f]+ T [_]+start ++#... ++[0-9a-f]+ T xxx ++#... ++[0-9a-f]+ T foo ++#pass +diff -rupN binutils.orig/ld/testsuite/ld-scripts/section-order-1b.s binutils-2.41/ld/testsuite/ld-scripts/section-order-1b.s +--- binutils.orig/ld/testsuite/ld-scripts/section-order-1b.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/section-order-1b.s 2024-05-13 13:04:08.599633306 +0100 +@@ -0,0 +1,34 @@ ++ .section .text.xxx ++ .globl xxx ++xxx: ++ .dc.a 0 ++ ++ .section .text.yyy ++ .globl yyy ++yyy: ++ .dc.a 0 ++ ++ .section .big ++ .global big ++big: ++ .dc.a 0 ++ ++ .section .baz ++ .global baz ++baz: ++ .dc.a 0 ++ ++ .section .text.qqq ++ .global qqq ++qqq: ++ .dc.a 0 ++ ++ .section .data.ccc ++ .global ccc ++ccc: ++ .dc.a 0 ++ ++ .data ++ .global data_symbol ++data_symbol: ++ .dc.a 0 +diff -rupN binutils.orig/ld/testsuite/ld-scripts/section-order-1b.t binutils-2.41/ld/testsuite/ld-scripts/section-order-1b.t +--- binutils.orig/ld/testsuite/ld-scripts/section-order-1b.t 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/section-order-1b.t 2024-05-13 13:04:08.599633306 +0100 +@@ -0,0 +1,7 @@ ++.text : { ++ *(.text.yyy) ++ *(.text.b?r) ++ *(*t) ++ *(.text.xxx) ++ *(.text.foo) ++} +diff -rupN binutils.orig/ld/testsuite/ld-scripts/section-order-1c.d binutils-2.41/ld/testsuite/ld-scripts/section-order-1c.d +--- binutils.orig/ld/testsuite/ld-scripts/section-order-1c.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/section-order-1c.d 2024-05-13 13:04:08.599633306 +0100 +@@ -0,0 +1,14 @@ ++#name: Data Section Ordering (section-order-1c) ++#source: section-order-1b.s ++#source: section-order-1a.s ++#source: start.s ++#ld: --section-ordering-file section-order-1a.t ++#nm: -n ++ ++#... ++[0-9a-f]+ D small ++#... ++[0-9a-f]+ D big ++#... ++[0-9a-f]+ D ba.* ++#pass +diff -rupN binutils.orig/ld/testsuite/ld-scripts/section-order-1d.d binutils-2.41/ld/testsuite/ld-scripts/section-order-1d.d +--- binutils.orig/ld/testsuite/ld-scripts/section-order-1d.d 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/section-order-1d.d 2024-05-13 13:04:08.599633306 +0100 +@@ -0,0 +1,18 @@ ++#name: Data Section Ordering (section-order-1d) ++#source: section-order-1a.s ++#source: section-order-1b.s ++#source: start.s ++#ld: --section-ordering-file section-order-1a.t ++#nm: -n ++ ++#... ++[0-9a-f]+ D small ++#... ++[0-9a-f]+ D big ++#... ++[0-9a-f]+ d bart ++#... ++[0-9a-f]+ D ccc ++#... ++[0-9a-f]+ D bbb ++#pass +diff -rupN binutils.orig/ld/testsuite/ld-scripts/section-order.exp binutils-2.41/ld/testsuite/ld-scripts/section-order.exp +--- binutils.orig/ld/testsuite/ld-scripts/section-order.exp 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/section-order.exp 2024-05-13 13:04:08.599633306 +0100 +@@ -0,0 +1,45 @@ ++# Test for --section-ordering-file FILE. ++# Copyright (C) 2024 Free Software Foundation, Inc. ++# ++# This file is part of the GNU Binutils. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, ++# MA 02110-1301, USA. ++ ++# The --section-ordering-file option is only supported by ELF and ++# PE COFF linkers, which allow for arbitrarily named sections, eg: ++# .text.* ++if { !([is_elf_format] || [is_pecoff_format]) } { ++ return ++} ++ ++set old_ldflags $LDFLAGS ++if { [istarget spu*-*-*] } then { ++ set LDFLAGS "$LDFLAGS --local-store 0:0 --no-overlays" ++} elseif { [is_pecoff_format] } then { ++ set LDFLAGS "$LDFLAGS --image-base 0" ++} elseif { [is_xcoff_format] } then { ++ set LDFLAGS "$LDFLAGS -bnogc" ++} ++ ++set test_list [lsort [glob -nocomplain $srcdir/$subdir/section-order*.d]] ++foreach test_file $test_list { ++ set test_name [file rootname $test_file] ++ set map_file "tmpdir/[file tail $test_name].map" ++ verbose $test_name ++ run_dump_test $test_name ++} ++ ++set LDFLAGS $old_ldflags +diff -rupN binutils.orig/ld/testsuite/ld-scripts/start.s binutils-2.41/ld/testsuite/ld-scripts/start.s +--- binutils.orig/ld/testsuite/ld-scripts/start.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/start.s 2024-05-13 13:04:08.599633306 +0100 +@@ -0,0 +1,14 @@ ++ .text ++ .global start /* Used by SH targets. */ ++start: ++ .global _start ++_start: ++ .global __start ++__start: ++ .global _mainCRTStartup /* Used by PE targets. */ ++_mainCRTStartup: ++ .global main /* Used by HPPA targets. */ ++main: ++ .globl _main /* Used by LynxOS targets. */ ++_main: ++ .dc.a 0 diff --git a/SOURCES/binutils-special-sections-in-groups.patch b/SOURCES/binutils-special-sections-in-groups.patch new file mode 100644 index 0000000..7de5a93 --- /dev/null +++ b/SOURCES/binutils-special-sections-in-groups.patch @@ -0,0 +1,27 @@ +--- binutils.orig/bfd/elf.c 2018-10-19 11:42:10.107277490 +0100 ++++ binutils-2.31.1/bfd/elf.c 2018-10-19 11:44:33.607105801 +0100 +@@ -830,7 +830,13 @@ setup_group (bfd *abfd, Elf_Internal_Shd + } + } + +- if (elf_group_name (newsect) == NULL) ++ if (elf_group_name (newsect) == NULL ++ /* OS specific sections might be in a group (eg ARM's ARM_EXIDX section) ++ but they will not have been added to the group because they do not ++ have contents that the ELF code in the BFD library knows how to ++ process. This is OK though - we rely upon the target backends to ++ handle these sections for us. */ ++ && hdr->sh_type < SHT_LOOS) + { + /* xgettext:c-format */ + _bfd_error_handler (_("%pB: no group info for section '%pA'"), +@@ -936,7 +942,8 @@ _bfd_elf_setup_sections (bfd *abfd) + else if (idx->shdr->bfd_section) + elf_sec_group (idx->shdr->bfd_section) = shdr->bfd_section; + else if (idx->shdr->sh_type != SHT_RELA +- && idx->shdr->sh_type != SHT_REL) ++ && idx->shdr->sh_type != SHT_REL ++ && idx->shdr->sh_type < SHT_LOOS) + { + /* There are some unknown sections in the group. */ + _bfd_error_handler diff --git a/SOURCES/binutils-suppress-ld-align-tests.patch b/SOURCES/binutils-suppress-ld-align-tests.patch new file mode 100644 index 0000000..40164d7 --- /dev/null +++ b/SOURCES/binutils-suppress-ld-align-tests.patch @@ -0,0 +1,13 @@ +--- binutils.orig/ld/testsuite/ld-elf/linux-x86.exp 2024-01-24 11:52:35.288014542 +0000 ++++ binutils-2.41/ld/testsuite/ld-elf/linux-x86.exp 2024-01-24 17:31:39.356167357 +0000 +@@ -225,6 +225,10 @@ if { [check_ifunc_attribute_available] } + # Old gcc silently ignores __attribute__ ((aligned())) with too big alignment. + proc compiler_honours_aligned { } { + global CC_FOR_TARGET READELF srcdir subdir ++ ++ # Temporary fix for CentOS-10 kernel issue. (RHEL-22466) ++ return 0 ++ + ld_compile $CC_FOR_TARGET $srcdir/$subdir/p_align-1.c tmpdir/p_align-1.o + set output [run_host_cmd "$READELF" "-SW tmpdir/p_align-1.o"] + if { [regexp { [.]data *PROGBITS .* 8388608[\n]} $output] } { diff --git a/SOURCES/binutils-testsuite-fixes.patch b/SOURCES/binutils-testsuite-fixes.patch new file mode 100644 index 0000000..0879eb8 --- /dev/null +++ b/SOURCES/binutils-testsuite-fixes.patch @@ -0,0 +1,986 @@ +--- binutils.orig/binutils/testsuite/binutils-all/addr2line.exp 2023-08-03 13:09:07.628503779 +0100 ++++ binutils-2.41/binutils/testsuite/binutils-all/addr2line.exp 2023-08-03 13:18:37.138443954 +0100 +@@ -39,7 +39,7 @@ if ![regexp -line "^(\[0-9a-fA-F\]+)? +\ + } else { + set list [regexp -inline -all -- {\S+} $contents] + set got [binutils_run $ADDR2LINE "-e tmpdir/testprog$exe [lindex $list 0]"] +- set want "$srcdir/$subdir/testprog.c:\[0-9\]+" ++ set want "$srcdir/$subdir/.\*" + if ![regexp $want $got] then { + fail "$testname $got\n" + } else { +@@ -54,7 +54,7 @@ if ![regexp -line "^(\[0-9a-fA-F\]+)? +\ + } else { + set list [regexp -inline -all -- {\S+} $contents] + set got [binutils_run $ADDR2LINE "-f -e tmpdir/testprog$exe [lindex $list 0]"] +- set want "fn\n$srcdir/$subdir/testprog.c:\[0-9\]+" ++ set want "fn\n$srcdir/$subdir/.\*" + if ![regexp $want $got] then { + fail "$testname -f option $got\n" + } else { +@@ -64,7 +64,7 @@ if ![regexp -line "^(\[0-9a-fA-F\]+)? +\ + #testcase for -s option. + #Using the same fn function address used in -f option. + set got [binutils_run $ADDR2LINE "-s -e tmpdir/testprog$exe [lindex $list 0]"] +- set want "testprog.c:\[0-9\]+" ++ set want ".\*\[0-9\]+" + if ![regexp $want $got] then { + fail "$testname -s option $got\n" + } else { +--- binutils.orig/binutils/testsuite/binutils-all/objdump.exp 2023-08-03 13:09:07.631503783 +0100 ++++ binutils-2.41/binutils/testsuite/binutils-all/objdump.exp 2023-08-03 14:51:54.621295727 +0100 +@@ -921,7 +921,7 @@ proc test_objdump_S { } { + } + } + +-test_objdump_S ++# test_objdump_S + + # Test objdump --private + proc test_objdump_P {} { +--- binutils.orig/ld/testsuite/ld-scripts/ld-version.d 2023-08-03 13:09:07.949504208 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/ld-version.d 2023-08-03 15:13:01.374590134 +0100 +@@ -4,4 +4,4 @@ + # target: [is_elf_format] + + String dump of section '.comment': +-.*GNU ld \(.*\) 2.* ++.*GNU ld .* 2.* +--- binutils.orig/ld/testsuite/ld-scripts/ld-version-2.d 2023-08-03 13:09:07.949504208 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/ld-version-2.d 2023-08-03 15:13:13.917605323 +0100 +@@ -4,4 +4,4 @@ + # target: [is_elf_format] + + String dump of section '.comment': +-.*GNU ld \(.*\) 2.* ++.*GNU ld .* 2.* +--- binutils.orig/ld/testsuite/ld-x86-64/pr22001-1b.err 2023-08-03 13:09:07.969504235 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/pr22001-1b.err 2023-08-03 15:22:49.743286617 +0100 +@@ -1,2 +1,2 @@ +-.*relocation R_X86_64_32S against symbol `copy' can not be used when making a P(D|I)E object; recompile with -fPIE ++.*relocation R_X86_64_.* against symbol `copy' can not be used when making a P(D|I)E object; recompile with -fPIE + #... +--- binutils.orig/ld/testsuite/ld-x86-64/plt-main-ibt.dd 2023-08-03 13:09:07.965504230 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/plt-main-ibt.dd 2023-08-03 15:31:54.864037693 +0100 +@@ -1,7 +1,2 @@ + #... +-Disassembly of section .plt.got: +- +-[a-f0-9]+ <[_a-z]+@plt>: +-[ ]*[a-f0-9]+: f3 0f 1e fa endbr64 +-[ ]*[a-f0-9]+: ff 25 .. .. 3f 00 jmp +\*0x3f....\(%rip\) # ...... <.*> + #pass +--- binutils.orig/ld/testsuite/ld-x86-64/x86-64.exp 2023-08-03 13:09:07.975504243 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/x86-64.exp 2023-08-03 15:46:29.537416942 +0100 +@@ -1386,7 +1386,7 @@ if { [isnative] && [check_compiler_avail + "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libprotected-func-2b.so" \ + "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ + { protected-func-1b.c } \ +- {{error_output "pr28875-func.err"}} \ ++ {} \ + "protected-func-2" \ + ] \ + [list \ +@@ -1402,7 +1402,7 @@ if { [isnative] && [check_compiler_avail + "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libprotected-func-2c.so" \ + "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ + { protected-func-1b.c } \ +- {{error_output "pr28875-func.err"}} \ ++ {} \ + "protected-func-2a" \ + ] \ + [list \ +@@ -2155,7 +2155,6 @@ if { [isnative] && [check_compiler_avail + } + } + +- undefined_weak "$NOPIE_CFLAGS" "$NOPIE_LDFLAGS" + undefined_weak "-fPIE" "" + undefined_weak "-fPIE" "-pie" + undefined_weak "-fPIE" "-Wl,-z,nodynamic-undefined-weak" +--- binutils.orig/binutils/testsuite/binutils-all/addr2line.exp 2023-08-04 14:00:37.692356718 +0100 ++++ binutils-2.41/binutils/testsuite/binutils-all/addr2line.exp 2023-08-04 14:04:32.627697316 +0100 +@@ -39,9 +39,9 @@ if ![regexp -line "^(\[0-9a-fA-F\]+)? +\ + } else { + set list [regexp -inline -all -- {\S+} $contents] + set got [binutils_run $ADDR2LINE "-e tmpdir/testprog$exe [lindex $list 0]"] +- set want "$srcdir/$subdir/.\*" ++ set want "$srcdir/.\*" + if ![regexp $want $got] then { +- fail "$testname $got\n" ++ fail "$testname\n wanted: $srcdir/$subdir/.*\n got: $got\n" + } else { + pass "$testname" + } +@@ -54,7 +54,7 @@ if ![regexp -line "^(\[0-9a-fA-F\]+)? +\ + } else { + set list [regexp -inline -all -- {\S+} $contents] + set got [binutils_run $ADDR2LINE "-f -e tmpdir/testprog$exe [lindex $list 0]"] +- set want "fn\n$srcdir/$subdir/.\*" ++ set want "fn\n$srcdir/.\*" + if ![regexp $want $got] then { + fail "$testname -f option $got\n" + } else { +--- binutils.orig/ld/testsuite/ld-x86-64/plt-main-ibt.dd 2023-08-04 14:00:38.923357454 +0100 ++++ binutils-2.41/ld/testsuite/ld-x86-64/plt-main-ibt.dd 2023-08-04 14:06:45.525679653 +0100 +@@ -1,2 +1,3 @@ + #... ++ + #pass +--- binutils.orig/binutils/testsuite/binutils-all/addr2line.exp 2023-08-04 16:05:44.678916015 +0100 ++++ binutils-2.41/binutils/testsuite/binutils-all/addr2line.exp 2023-08-04 16:08:23.779024539 +0100 +@@ -39,7 +39,7 @@ if ![regexp -line "^(\[0-9a-fA-F\]+)? +\ + } else { + set list [regexp -inline -all -- {\S+} $contents] + set got [binutils_run $ADDR2LINE "-e tmpdir/testprog$exe [lindex $list 0]"] +- set want "$srcdir/.\*" ++ set want ".*" + if ![regexp $want $got] then { + fail "$testname\n wanted: $srcdir/$subdir/.*\n got: $got\n" + } else { +@@ -54,7 +54,7 @@ if ![regexp -line "^(\[0-9a-fA-F\]+)? +\ + } else { + set list [regexp -inline -all -- {\S+} $contents] + set got [binutils_run $ADDR2LINE "-f -e tmpdir/testprog$exe [lindex $list 0]"] +- set want "fn\n$srcdir/.\*" ++ set want "fn\n.*" + if ![regexp $want $got] then { + fail "$testname -f option $got\n" + } else { +--- binutils.orig/ld/testsuite/ld-plugin/lto.exp 2023-08-04 16:05:45.721916727 +0100 ++++ binutils-2.41/ld/testsuite/ld-plugin/lto.exp 2023-08-04 16:13:11.794221039 +0100 +@@ -31,8 +31,8 @@ if { ![check_plugin_api_available] + + set saved_CFLAGS "$CFLAGS_FOR_TARGET" + set saved_CXXFLAGS "$CXXFLAGS_FOR_TARGET" +-regsub -all "(\\-Wp,)?-D_FORTIFY_SOURCE=\[0-9\]+" $CFLAGS_FOR_TARGET "" CFLAGS_FOR_TARGET +-regsub -all "(\\-Wp,)?-D_FORTIFY_SOURCE=\[0-9\]+" $CXXFLAGS_FOR_TARGET "" CXXFLAGS_FOR_TARGET ++# regsub -all "(\\-Wp,)?-D_FORTIFY_SOURCE=\[0-9\]+" $CFLAGS_FOR_TARGET "" CFLAGS_FOR_TARGET ++# regsub -all "(\\-Wp,)?-D_FORTIFY_SOURCE=\[0-9\]+" $CXXFLAGS_FOR_TARGET "" CXXFLAGS_FOR_TARGET + + proc restore_notify { } { + global saved_CFLAGS +--- binutils.orig/ld/testsuite/ld-plugin/lto.exp 2023-08-04 16:43:51.926589278 +0100 ++++ binutils-2.41/ld/testsuite/ld-plugin/lto.exp 2023-08-04 16:45:14.323650391 +0100 +@@ -474,7 +474,7 @@ set lto_link_elf_tests [list \ + [list \ + "Build libpr28879a.so" \ + "-shared" \ +- "-O0 -fpic" \ ++ "-O2 -fpic" \ + {pr28879a.cc} \ + {} \ + "libpr28879a.so" \ +@@ -491,7 +491,7 @@ set lto_link_elf_tests [list \ + [list \ + "Build pr28879" \ + "-Wl,--no-as-needed tmpdir/libpr28879b.so -Wl,-rpath-link,." \ +- "-O0 -flto -D_GLIBCXX_ASSERTIONS" \ ++ "-O2 -flto -D_GLIBCXX_ASSERTIONS" \ + {pr28879b.cc} \ + {} \ + "pr28879" \ +@@ -525,7 +525,7 @@ set lto_link_elf_tests [list \ + [list \ + "PR ld/pr29086" \ + "-Wl,--wrap=foo" \ +- "-O0 -flto" \ ++ "-O2 -flto" \ + {pr29086.c} \ + {} \ + "pr29086" \ +diff -rup binutils.orig/ld/testsuite/ld-aarch64/bti-plt-5.d binutils-2.41/ld/testsuite/ld-aarch64/bti-plt-5.d +--- binutils.orig/ld/testsuite/ld-aarch64/bti-plt-5.d 2023-08-15 09:03:21.676463687 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/bti-plt-5.d 2023-08-15 09:17:56.751533569 +0100 +@@ -12,8 +12,8 @@ Disassembly of section \.plt: + [0-9a-f]+ <.*>: + .*: d503245f bti c + .*: a9bf7bf0 stp x16, x30, \[sp, #-16\]! +-.*: 90000090 adrp x16, 410000 <.*> +-.*: f9...... ldr x17, \[x16, #....\] ++.*: 90000090 adrp x16, 4.0000 <.*> ++.*: f9...... ldr x17, \[x16, #.*\] + .*: 91...... add x16, x16, #0x... + .*: d61f0220 br x17 + .*: d503201f nop +@@ -21,8 +21,8 @@ Disassembly of section \.plt: + + [0-9a-f]+ <.*>: + .*: d503245f bti c +-.*: 90000090 adrp x16, 410000 <.*> +-.*: f9...... ldr x17, \[x16, #....\] ++.*: 90000090 adrp x16, 4.0000 <.*> ++.*: f9...... ldr x17, \[x16, #.*\] + .*: 91...... add x16, x16, #0x... + .*: d61f0220 br x17 + .*: d503201f nop +diff -rup binutils.orig/ld/testsuite/ld-aarch64/erratum843419-far-full.d binutils-2.41/ld/testsuite/ld-aarch64/erratum843419-far-full.d +--- binutils.orig/ld/testsuite/ld-aarch64/erratum843419-far-full.d 2023-08-15 09:03:21.683463694 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/erratum843419-far-full.d 2023-08-15 09:05:41.549608111 +0100 +@@ -8,7 +8,7 @@ Disassembly of section \.text: + + 0*400000 <_start>: + ... +- 400ffc: 90400000 adrp x0, 80400000 <__bss_end__\+0x7ffedff0> ++ 400ffc: 90400000 adrp x0, 80400000 <__bss_end__\+0x[0-9a-f]+> + 401000: f9000042 str x2, \[x2\] + 401004: d2800002 mov x2, #0x0 // #0 + 401008: 14000004 b 401018 +@@ -18,5 +18,5 @@ Disassembly of section \.text: + + 0*401018 : + 401018: f9402001 ldr x1, \[x0, #64\] +- 40101c: 17fffffc b 40100c <_start\+0x100c> ++ 40101c: 17fffffc b 40100c <_start\+0x[0-9a-f]+> + ... +diff -rup binutils.orig/ld/testsuite/ld-aarch64/farcall-b-plt.d binutils-2.41/ld/testsuite/ld-aarch64/farcall-b-plt.d +--- binutils.orig/ld/testsuite/ld-aarch64/farcall-b-plt.d 2023-08-15 09:03:21.683463694 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/farcall-b-plt.d 2023-08-15 09:07:02.046699709 +0100 +@@ -10,7 +10,7 @@ Disassembly of section .plt: + + .* <.plt>: + .*: a9bf7bf0 stp x16, x30, \[sp, #-16\]! +-.*: .* adrp x16, .* <__foo_veneer\+.*> ++.*: .* adrp x16, .* <.*> + .*: .* ldr [wx]17, \[x16, #.*\] + .*: .* add [wx]16, [wx]16, #.* + .*: d61f0220 br x17 +@@ -19,7 +19,7 @@ Disassembly of section .plt: + .*: d503201f nop + + .* : +-.*: .* adrp x16, .* <__foo_veneer\+.*> ++.*: .* adrp x16, .* <.*> + .*: .* ldr [wx]17, \[x16, #.*\] + .*: .* add [wx]16, [wx]16, #.* + .*: d61f0220 br x17 +@@ -35,7 +35,7 @@ Disassembly of section .text: + .*: .* nop + + .* <__foo_veneer>: +-.*: .* adrp x16, 0 <.*> ++.*: .* adrp x16, [0-9a-f]+ <.*> + .*: .* add x16, x16, #.* + .*: d61f0200 br x16 + ... +diff -rup binutils.orig/ld/testsuite/ld-aarch64/farcall-bl-plt.d binutils-2.41/ld/testsuite/ld-aarch64/farcall-bl-plt.d +--- binutils.orig/ld/testsuite/ld-aarch64/farcall-bl-plt.d 2023-08-15 09:03:21.684463695 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/farcall-bl-plt.d 2023-08-15 09:07:53.198757913 +0100 +@@ -10,7 +10,7 @@ Disassembly of section .plt: + + .* <.plt>: + .*: a9bf7bf0 stp x16, x30, \[sp, #-16\]! +-.*: .* adrp x16, .* <__foo_veneer\+.*> ++.*: .* adrp x16, .* <.*> + .*: .* ldr [wx]17, \[x16, #.*\] + .*: .* add [wx]16, [wx]16, #.* + .*: d61f0220 br x17 +@@ -19,7 +19,7 @@ Disassembly of section .plt: + .*: d503201f nop + + .* : +-.*: .* adrp x16, .* <__foo_veneer\+.*> ++.*: .* adrp x16, .* <.*> + .*: .* ldr [wx]17, \[x16, #.*\] + .*: .* add [wx]16, [wx]16, #.* + .*: d61f0220 br x17 +@@ -35,7 +35,7 @@ Disassembly of section .text: + .*: .* nop + + .* <__foo_veneer>: +-.*: .* adrp x16, 0 <.*> ++.*: .* adrp x16, [0-9a-f]+ <.*> + .*: .* add x16, x16, #.* + .*: d61f0200 br x16 + ... +diff -rup binutils.orig/ld/testsuite/ld-aarch64/ifunc-1-local.d binutils-2.41/ld/testsuite/ld-aarch64/ifunc-1-local.d +--- binutils.orig/ld/testsuite/ld-aarch64/ifunc-1-local.d 2023-08-15 09:03:21.685463696 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/ifunc-1-local.d 2023-08-15 09:08:50.622823248 +0100 +@@ -3,7 +3,3 @@ + #objdump: -dw + +-#... +-0+(110|180|1a0) <(__GI_)?foo>: +-#... +-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x110|0x180|0x1a0)@plt> + #pass +diff -rup binutils.orig/ld/testsuite/ld-aarch64/ifunc-1.d binutils-2.41/ld/testsuite/ld-aarch64/ifunc-1.d +--- binutils.orig/ld/testsuite/ld-aarch64/ifunc-1.d 2023-08-15 09:03:21.685463696 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/ifunc-1.d 2023-08-15 09:08:18.190786345 +0100 +@@ -3,7 +3,3 @@ + #objdump: -dw + +-#... +-0+(130|1a0|1c8) : +-#... +-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(130|1a0|1c8)@plt> + #pass +diff -rup binutils.orig/ld/testsuite/ld-aarch64/ifunc-2-local.d binutils-2.41/ld/testsuite/ld-aarch64/ifunc-2-local.d +--- binutils.orig/ld/testsuite/ld-aarch64/ifunc-2-local.d 2023-08-15 09:03:21.685463696 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/ifunc-2-local.d 2023-08-15 09:09:27.982865763 +0100 +@@ -3,8 +3,6 @@ + #objdump: -dw + + #... +-0+(110|180|1a0) <__GI_foo>: +-#... + [ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(110|180|1a0)@plt> + [ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <.*> + [ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x(100|170|190) +diff -rup binutils.orig/ld/testsuite/ld-aarch64/ifunc-2.d binutils-2.41/ld/testsuite/ld-aarch64/ifunc-2.d +--- binutils.orig/ld/testsuite/ld-aarch64/ifunc-2.d 2023-08-15 09:03:21.686463697 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/ifunc-2.d 2023-08-15 09:09:14.350850251 +0100 +@@ -3,8 +3,6 @@ + #objdump: -dw + + #... +-0+(130|1a0|1c8) : +-#... + [ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(130|1a0|1c8)@plt> + [ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <.*> + [ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x(120|190|1b8) +diff -rup binutils.orig/ld/testsuite/ld-aarch64/ifunc-21.d binutils-2.41/ld/testsuite/ld-aarch64/ifunc-21.d +--- binutils.orig/ld/testsuite/ld-aarch64/ifunc-21.d 2023-08-15 09:03:21.686463697 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/ifunc-21.d 2023-08-15 09:13:27.007155679 +0100 +@@ -11,7 +11,7 @@ Contents of section .text: + [0-9a-f]+ .* + Contents of section .got.plt: + [0-9a-f]+ 0+ 0+ 0+ 0+ .* +- (10298|102b8) 0+ 0+ [0-9a-f]+ [0-9a-f]+ .* ++ (10298|102b8|20108) 0+ 0+ [0-9a-f]+ [0-9a-f]+ .* + + Disassembly of section .text: + +@@ -19,8 +19,8 @@ Disassembly of section .text: + .*: d65f03c0 ret + + .* : +- .*: 90000080 adrp x0, 10000 <.*> +- .*: .* ldr x0, \[x0, #(672|704)\] ++ .*: 90000080 adrp x0, .0000 <.*> ++ .*: .* ldr x0, \[x0, #(672|704|272)\] + .*: d65f03c0 ret + + #pass +diff -rup binutils.orig/ld/testsuite/ld-aarch64/ifunc-22.d binutils-2.41/ld/testsuite/ld-aarch64/ifunc-22.d +--- binutils.orig/ld/testsuite/ld-aarch64/ifunc-22.d 2023-08-15 09:03:21.686463697 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/ifunc-22.d 2023-08-15 09:14:02.191199743 +0100 +@@ -8,4 +8,4 @@ + .*: file format elf64-(little|big)aarch64 + + Contents of section \.got: +- [0-9a-f]+ 00000000 00000000 (d0004000|18004000|00000000) (00000000|004000d0|00400018) .* ++#pass +diff -rup binutils.orig/ld/testsuite/ld-aarch64/ifunc-3a.d binutils-2.41/ld/testsuite/ld-aarch64/ifunc-3a.d +--- binutils.orig/ld/testsuite/ld-aarch64/ifunc-3a.d 2023-08-15 09:03:21.686463697 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/ifunc-3a.d 2023-08-15 09:09:42.174882286 +0100 +@@ -4,7 +4,5 @@ + #objdump: -dw + + #... +-0+(150|1d0|1e8) <__GI_foo>: +-#... + [ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(150|1d0|1e8)@plt> + #pass +diff -rup binutils.orig/ld/testsuite/ld-aarch64/ifunc-7c.d binutils-2.41/ld/testsuite/ld-aarch64/ifunc-7c.d +--- binutils.orig/ld/testsuite/ld-aarch64/ifunc-7c.d 2023-08-15 09:03:21.686463697 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/ifunc-7c.d 2023-08-15 09:11:37.716022782 +0100 +@@ -11,9 +11,9 @@ + Disassembly of section \.text: + + [0-9a-f]+ : +- [0-9a-f]+: d65f03c0 ret ++[ ]+[0-9a-f]+:[ ]+d65f03c0[ ]+ret + + [0-9a-f]+ <__start>: +- [0-9a-f]+: [0-9a-f]+ bl [0-9a-f]+ <\*ABS\*\+0x[0-9a-f]+@plt> +- [0-9a-f]+: [0-9a-f]+ adrp x0, [0-9]+ <__start\+0x[0-9a-f]+> +- [0-9a-f]+: [0-9a-f]+ ldr x0, \[x0, .+\] ++[ ]+[0-9a-f]+:[ ]+[0-9a-f]+[ ]+bl[ ]+[0-9a-f]+ <\*ABS\*\+0x[0-9a-f]+@plt> ++[ ]+[0-9a-f]+:[ ]+[0-9a-f]+[ ]+adrp[ ]+x0, [0-9]+ <.*> ++[ ]+[0-9a-f]+:[ ]+[0-9a-f]+[ ]+ldr[ ]+x0, \[x0, .+\] +diff -rup binutils.orig/ld/testsuite/ld-aarch64/ifunc-2-local.d binutils-2.41/ld/testsuite/ld-aarch64/ifunc-2-local.d +--- binutils.orig/ld/testsuite/ld-aarch64/ifunc-2-local.d 2023-08-15 11:17:45.947214180 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/ifunc-2-local.d 2023-08-15 11:18:17.319251036 +0100 +@@ -2,8 +2,4 @@ + #ld: -shared --hash-style=sysv + #objdump: -dw + +-#... +-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(110|180|1a0)@plt> +-[ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <.*> +-[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x(100|170|190) + #pass +diff -rup binutils.orig/ld/testsuite/ld-aarch64/ifunc-2.d binutils-2.41/ld/testsuite/ld-aarch64/ifunc-2.d +--- binutils.orig/ld/testsuite/ld-aarch64/ifunc-2.d 2023-08-15 11:17:45.947214180 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/ifunc-2.d 2023-08-15 11:18:02.935234133 +0100 +@@ -2,8 +2,4 @@ + #ld: -shared --hash-style=sysv + #objdump: -dw + +-#... +-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(130|1a0|1c8)@plt> +-[ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <.*> +-[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x(120|190|1b8) + #pass +diff -rup binutils.orig/ld/testsuite/ld-aarch64/ifunc-3a.d binutils-2.41/ld/testsuite/ld-aarch64/ifunc-3a.d +--- binutils.orig/ld/testsuite/ld-aarch64/ifunc-3a.d 2023-08-15 11:17:45.947214180 +0100 ++++ binutils-2.41/ld/testsuite/ld-aarch64/ifunc-3a.d 2023-08-15 11:18:37.703274987 +0100 +@@ -3,6 +3,4 @@ + #ld: -shared --hash-style=sysv + #objdump: -dw + +-#... +-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(150|1d0|1e8)@plt> + #pass +--- binutils.orig/ld/testsuite/ld-elf/binutils.exp 2023-08-15 14:30:13.138890662 +0100 ++++ binutils-2.41/ld/testsuite/ld-elf/binutils.exp 2023-08-15 14:33:16.133301230 +0100 +@@ -174,7 +174,7 @@ binutils_test strip "-T ${srcdir}/${subd + + set tls_tests { "tdata1" "tdata2" } + # hppa64 has its own .tbss section, with different flags. +-if { ![istarget "hppa64-*-*"] } { ++if { ![istarget "hppa64-*-*"] && ![istarget "powerpc*-*-*"] } { + lappend tls_tests "tdata3" "tbss1" "tbss2" "tbss3" + } + set tls_opts { +diff -rup binutils.orig/ld/testsuite/ld-powerpc/powerpc.exp binutils-2.41/ld/testsuite/ld-powerpc/powerpc.exp +--- binutils.orig/ld/testsuite/ld-powerpc/powerpc.exp 2023-08-15 14:30:13.277890866 +0100 ++++ binutils-2.41/ld/testsuite/ld-powerpc/powerpc.exp 2023-08-15 14:41:18.582395219 +0100 +@@ -126,65 +126,6 @@ set ppcelftests { + "tls32no"} + {"TLS32 helper shared library" "-shared -melf32ppc tmpdir/tlslib32.o" "" "" {} + {} "libtlslib32.so"} +- {"TLS32 dynamic exec" "-melf32ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls32.o tmpdir/libtlslib32.so" "" "" {} +- {{readelf -WSsrl tlsexe32.r} {objdump -dr tlsexe32.d} +- {objdump -sj.got tlsexe32.g} {objdump -sj.tdata tlsexe32.t}} +- "tlsexe32"} +- {"TLS32 dynamic exec (--no-tls-optimize)" "-melf32ppc --no-tls-optimize --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls32.o tmpdir/libtlslib32.so" "" "" {} +- {{readelf -WSsrl tlsexe32no.r} {objdump -dr tlsexe32no.d} +- {objdump -sj.got tlsexe32no.g} {objdump -sj.tdata tlsexe32.t}} +- "tlsexe32no"} +- {"TLS32 shared" "-shared -melf32ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv -z notext tmpdir/tls32.o" "" "" {} +- {{readelf -WSsrl tlsso32.r} {objdump -dr tlsso32.d} +- {objdump -sj.got tlsso32.g} {objdump -sj.tdata tlsso32.t}} +- "tls32.so"} +- {"TLS32 markers" "-melf32ppc" "" "-a32" {tlsmark32.s tlslib32.s} +- {{objdump -dr tlsmark32.d}} +- "tlsmark32"} +- {"TLS32 opt 1" "-melf32ppc" "" "-a32" {tlsopt1_32.s tlslib32.s} +- {{objdump -dr tlsopt1_32.d}} +- "tlsopt1_32"} +- {"TLS32 opt 2" "-melf32ppc" "" "-a32" {tlsopt2_32.s tlslib32.s} +- {{objdump -dr tlsopt2_32.d}} +- "tlsopt2_32"} +- {"TLS32 opt 3" "-melf32ppc" "" "-a32" {tlsopt3_32.s tlslib32.s} +- {{objdump -dr tlsopt3_32.d}} +- "tlsopt3_32"} +- {"TLS32 opt 4" "-melf32ppc" "" "-a32" {tlsopt4_32.s tlslib32.s} +- {{objdump -dr tlsopt4_32.d}} +- "tlsopt4_32"} +- {"TLS32 DLL" "-shared -melf32ppc --version-script tlsdll.ver" "" +- "-a32" {tlsdll_32.s} +- {} "tlsdll32.so"} +- {"TLS32 opt 5" "-melf32ppc -shared --gc-sections --secure-plt --no-plt-align tmpdir/tlsdll32.so" "" "-a32" {tlsopt5_32.s} +- {{objdump -dr tlsopt5_32.d}} +- "tlsopt5_32"} +- {"Shared library with global symbol" "-shared -melf32ppc" "" "-a32" {sdalib.s} +- {} "sdalib.so"} +- {"Dynamic application with SDA" "-melf32ppc tmpdir/sdalib.so" "" "-a32" {sdadyn.s} +- {{objdump -R sdadyn.d}} "sdadyn"} +- {"relaxing" "-melf32ppc --relax -Ttext=0 --defsym far=0x80001234 --defsym near=0x00004320" "" "-a32" "relax.s" +- {{objdump -dr relax.d}} +- "relax"} +- {"relocatable relaxing" "-melf32ppc -r --relax" "" "-a32" "relax.s" +- {{objdump -dr relaxr.d}} +- "rrelax"} +- {"relocatable relaxing large" "-melf32ppc -r --relax" "" "-a32" "relax.s big.s" +- {{objdump -dr relaxrl.d}} +- "rrelax"} +- {"build empty shared library" "-shared" "" "" "empty.s" {} "empty.so"} +- {"abs32-static" "-melf32ppc -static --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x12345678" "" +- "-a32" {abs32-reloc.s} +- {{objdump {-dr} abs32-static.d} +- {readelf {-rW} abs32-static.r}} "abs32-static"} +- {"abs32-pie" "-melf32ppc -pie --hash-style=sysv --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x12345678" "" +- "-a32" {abs32-reloc.s} +- {{objdump {-dr} abs32-pie.d} +- {readelf {-rW} abs32-pie.r}} "abs32-pie"} +- {"abs32-shared" "-melf32ppc -shared --hash-style=sysv --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x12345678" "" +- "-a32" {abs32-reloc.s} +- {{objdump {-dr} abs32-shared.d} +- {readelf {-rW} abs32-shared.r}} "abs32-shared"} + } + + set ppc64elftests { +@@ -192,200 +133,6 @@ set ppc64elftests { + "-a64 --defsym TLSMARK=1" {tls.s tlslib.s} + {{objdump -dr tls.d} {objdump -sj.got tls.g} {objdump -sj.tdata tls.t}} + "tlsm"} +- {"TLS static exec" "-melf64ppc --no-plt-align" "" "-a64" {tls.s tlslib.s} +- {{objdump -dr tls.d} {objdump -sj.got tls.g} {objdump -sj.tdata tls.t}} +- "tls"} +- {"TLS static exec (--no-tls-optimize)" "-melf64ppc --no-tls-optimize --no-plt-align" "" +- "-a64 --defsym TLSMARK=1" {tls.s tlslib.s} +- {{objdump -dr tlsno.d} {objdump -sj.got tlsno.g} {objdump -sj.tdata tls.t}} +- "tlsno"} +- {"TLS helper shared library" "-shared -melf64ppc tmpdir/tlslib.o" "" "" {} +- {} "libtlslib.so"} +- {"TLS helper old shared lib" "-shared -melf64ppc" "" "-a64" {oldtlslib.s} +- {} "liboldlib.so"} +- {"TLS dynamic exec" "-melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o tmpdir/libtlslib.so" "" "" {} +- {{readelf -WSsrl tlsexe.r} {objdump -dr tlsexe.d} +- {objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}} +- "tlsexe"} +- {"TLS dynamic old" "-melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o tmpdir/liboldlib.so" "" "" {} +- {{readelf -WSsrl tlsexe.r} {objdump -dr tlsexe.d} +- {objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}} +- "tlsexeold"} +- {"TLS dynamic exec (--no-tls-optimize)" "-melf64ppc --no-tls-optimize --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o tmpdir/libtlslib.so" "" "" {} +- {{readelf -WSsrl tlsexeno.r} {objdump -dr tlsexeno.d} +- {objdump -sj.got tlsexeno.g} {objdump -sj.tdata tlsexe.t}} +- "tlsexeno"} +- {"TLS shared" "-shared -melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv -z notext tmpdir/tls.o" "" "" {} +- {{readelf -WSsrl tlsso.r} {objdump -dr tlsso.d} +- {objdump -sj.got tlsso.g} {objdump -sj.tdata tlsso.t}} +- "tls.so"} +- {"TLSTOC static exec" "-melf64ppc tmpdir/tlslib.o" "" "-a64" {tlstoc.s} +- {{objdump -dr tlstoc.d} {objdump -sj.got tlstoc.g} +- {objdump -sj.tdata tlstoc.t}} +- "tlstoc"} +- {"TLSTOC static exec (--no-tls-optimize)" "-melf64ppc --no-tls-optimize tmpdir/tlslib.o tmpdir/tlstoc.o" "" "" {} +- {{objdump -dr tlstocno.d} {objdump -sj.got tlstocno.g} +- {objdump -sj.tdata tlstoc.t}} +- "tlstocno"} +- {"TLSTOC dynamic exec" "-melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" "" +- "" {} +- {{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d} +- {objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}} +- "tlsexetoc"} +- {"TLSTOC dynamic old" "-melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/liboldlib.so" "" +- "" {} +- {{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d} +- {objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}} +- "tlsexetocold"} +- {"TLSTOC dynamic exec (--no-tls-optimize)" "-melf64ppc --no-tls-optimize --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" "" +- "" {} +- {{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetocno.d} +- {objdump -sj.got tlsexetocno.g} {objdump -sj.tdata tlsexetoc.t}} +- "tlsexetocno"} +- {"TLSTOC shared" "-shared -melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv -z notext tmpdir/tlstoc.o" "" "" {} +- {{readelf -WSsrl tlstocso.r} {objdump -dr tlstocso.d} +- {objdump -sj.got tlstocso.g} {objdump -sj.tdata tlstocso.t}} +- "tlstoc.so"} +- {"TLS dynamic exec (--tls-get-addr-regsave)" "-melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv --tls-get-addr-regsave tmpdir/tls.o tmpdir/libtlslib.so" "" "" {} +- {{readelf -WSsrl tlsexers.r} {objdump -dr tlsexers.d} +- {objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}} +- "tlsexers"} +- {"TLS dynamic exec (--no-tls-optimize --tls-get-addr-regsave)" "-melf64ppc --no-tls-optimize --tls-get-addr-regsave --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o tmpdir/libtlslib.so" "" "" {} +- {{readelf -WSsrl tlsexenors.r} {objdump -dr tlsexenors.d} +- {objdump -sj.got tlsexeno.g} {objdump -sj.tdata tlsexe.t}} +- "tlsexenors"} +- {"TLSTOC dynamic exec (--tls-get-addr-regsave)" "-melf64ppc --tls-get-addr-regsave --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" "" +- "" {} +- {{readelf -WSsrl tlsexetocrs.r} {objdump -dr tlsexetocrs.d} +- {objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}} +- "tlsexetocrs"} +- {"TLSTOC dynamic exec (--no-tls-optimize --tls-get-addr-regsave)" "-melf64ppc --no-tls-optimize --tls-get-addr-regsave --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" "" +- "" {} +- {{readelf -WSsrl tlsexetocrs.r} {objdump -dr tlsexetocnors.d} +- {objdump -sj.got tlsexetocno.g} {objdump -sj.tdata tlsexetoc.t}} +- "tlsexetocnors"} +- {"TLS markers" "-melf64ppc" "" "-a64" {tlsmark.s tlslib.s} +- {{objdump -dr tlsmark.d}} +- "tlsmark"} +- {"TLS opt 1" "-melf64ppc" "" "-a64" {tlsopt1.s tlslib.s} +- {{objdump -dr tlsopt1.d}} +- "tlsopt1"} +- {"TLS opt 2" "-melf64ppc" "" "-a64" {tlsopt2.s tlslib.s} +- {{objdump -dr tlsopt2.d}} +- "tlsopt2"} +- {"TLS opt 3" "-melf64ppc" "" "-a64" {tlsopt3.s tlslib.s} +- {{objdump -dr tlsopt3.d}} +- "tlsopt3"} +- {"TLS opt 4" "-melf64ppc" "" "-a64" {tlsopt4.s tlslib.s} +- {{objdump -dr tlsopt4.d}} +- "tlsopt4"} +- {"TLS DLL" "-shared -melf64ppc --version-script tlsdll.ver" "" "-a64" {tlsdll.s} +- {} "tlsdll.so"} +- {"TLS opt 5" "-melf64ppc -shared --hash-style=both --gc-sections --no-plt-localentry tmpdir/tlsdll.so" "" "-a64" {tlsopt5.s} +- {{objdump -dr tlsopt5.d} {readelf -wf tlsopt5.wf}} +- "tlsopt5"} +- {"TLS opt 6" "-melf64ppc -shared --hash-style=both --gc-sections --no-plt-localentry --tls-get-addr-regsave tmpdir/tlsdll.so" "" "-a64" {tlsopt5.s} +- {{objdump -dr tlsopt6.d} {readelf -wf tlsopt6.wf}} +- "tlsopt6"} +- {"TLSdesc" "-melf64ppc -shared --hash-style=both --no-plt-localentry tmpdir/libtlslib.so" "" "-a64" {tlsdesc.s} +- {{objdump -dr tlsdesc.d} {readelf -wf tlsdesc.wf}} +- "tlsdesc"} +- {"TLSdesc2" "-melf64ppc -shared --hash-style=both --no-plt-localentry tmpdir/tlsdll.so" "" "-a64" {tlsdesc.s} +- {{objdump -dr tlsdesc2.d} {readelf -wf tlsdesc2.wf}} +- "tlsdesc2"} +- {"TLSdesc3" "-melf64ppc --no-tls-optimize tmpdir/tlsdll.o" "" "-a64" {tlsdesc.s} +- {{objdump -dr tlsdesc3.d} {readelf -wf tlsdesc3.wf}} +- "tlsdesc3"} +- {"TLSdesc4" "-melf64ppc --no-tls-optimize tmpdir/tlsdll.o" "" "-a64" {tlsdesc4.s} +- {{objdump -dr tlsdesc4.d} {readelf -wf tlsdesc4.wf}} +- "tlsdesc4"} +- {"tlsget" "-shared --hash-style=both -melf64ppc --plt-align=0" "tmpdir/tlsdll.so" "-a64 -mpower10" {tlsget.s} +- {{objdump -dr tlsget.d} {readelf -wf tlsget.wf}} +- "tlsget.so"} +- {"tlsget2" "-shared --hash-style=both -melf64ppc --plt-align=0 --power10-stubs=yes" "tmpdir/tlsdll.so" "-a64 -mpower10" {tlsget.s} +- {{objdump -dr tlsget2.d} {readelf -wf tlsget2.wf}} +- "tlsget2.so"} +- {"sym@tocbase" "-shared -melf64ppc" "" "-a64" {symtocbase-1.s symtocbase-2.s} +- {{objdump -dj.data symtocbase.d}} "symtocbase.so"} +- {"TOC opt" "-melf64ppc" "" "-a64" {tocopt.s} +- {{ld tocopt.out} {objdump -s tocopt.d}} "tocopt"} +- {"TOC opt2" "-melf64ppc --defsym x=2" "" "-a64" {tocopt2.s} +- {{ld tocopt2.out} {objdump -s tocopt2.d}} "tocopt2"} +- {"TOC opt3" "-melf64ppc -no-keep-memory --defsym x=2" "" "-a64" {tocopt3.s} +- {{objdump -s tocopt3.d}} "tocopt3"} +- {"TOC opt4" "-melf64ppc -no-keep-memory --defsym x=2" "" "-a64" +- {tocopt4a.s tocopt4b.s} {{objdump -s tocopt4.d}} "tocopt4"} +- {"TOC opt5" "-melf64ppc" "" "-a64" {tocopt5.s} +- {{objdump -s tocopt5.d}} "tocopt5"} +- {"TOC opt6" "-melf64ppc" "" "-a64" {tocopt6a.s tocopt6b.s tocopt6c.s} +- {{objdump -d tocopt6.d}} "tocopt6"} +- {"TOC opt7" "-melf64ppc" "" "-a64 -mpower9" {tocopt7.s} +- {{ld tocopt7.out} {objdump -s tocopt7.d}} "tocopt7"} +- {"TOC opt8" "-melf64ppc" "" "-a64 -mpower9" {tocopt8.s} +- {{objdump -s tocopt8.d}} "tocopt8"} +- {"tocsave lib" "-shared -melf64ppc" "" "-a64" {tocsavelib.s} +- {} "tocsavelib.so"} +- {"tocsave1 shared" "-melf64ppc" "tmpdir/tocsavelib.so" "-a64" {tocsave1.s} +- {{objdump -dr tocsave1s.d}} "tocsave1s"} +- {"tocsave1 static" "-melf64ppc" "tmpdir/tocsavelib.o" "-a64" {tocsave1.s} +- {{objdump -dr tocsave1a.d}} "tocsave1a"} +- {"tocsave2 shared" "-melf64ppc" "tmpdir/tocsavelib.so" "-a64" {tocsave2.s} +- {{objdump -dr tocsave2s.d}} "tocsave2s"} +- {"tocsave2 static" "-melf64ppc" "tmpdir/tocsavelib.o" "-a64" {tocsave2.s} +- {{objdump -dr tocsave2a.d}} "tocsave2a"} +- {"ambig shared v1" "-shared -melf64ppc" "" "-a64" {funv1.s} {} "funv1.so"} +- {"ambig shared v2" "-shared -melf64ppc" "" "-a64" {funv2.s} {} "funv2.so"} +- {"notoc ext" "" "" "-a64" {ext.s} {} ""} +- {"notoc" "-melf64ppc --no-plt-localentry --no-power10-stubs -T ext.lnk" +- "" "-a64" {notoc.s} +- {{objdump -d notoc.d} {readelf {-wf -W} notoc.wf}} "notoc"} +- {"notoc2" "-melf64ppc -shared" "" "-a64 -mpower10" {notoc2.s} +- {{objdump {-d -Mpower10} notoc2.d}} "notoc2"} +- {"notoc3" "-melf64ppc --no-plt-localentry -T ext.lnk" "" +- "-a64 -mpower10" {notoc3.s} +- {{objdump -d notoc3.d} {readelf {-wf -W} notoc3.wf}} "notoc3"} +- {"pcrelopt" "-melf64ppc --hash-style=gnu" "tmpdir/symtocbase.so" +- "-a64 -mpower10" {pcrelopt.s} +- {{objdump {-d -Mpower10} pcrelopt.d} +- {readelf {-S --wide} pcrelopt.sec}} "pcrelopt" } +- {"group1" "-melf64ppc -e foo" "" "-a64" {group1.s group2.s group3.s} +- {{objdump {-d} group1.d} +- {readelf {-s} group1.sym}} "group1"} +- {"group2" "-melf64ppc -e foo" "" "-a64" {group2.s group1.s group3.s} +- {{objdump {-d} group2.d} +- {readelf {-s} group2.sym}} "group2"} +- {"group3" "-melf64ppc -e foo" "" "-a64" {group3.s group2.s group1.s} +- {{objdump {-d} group2.d} +- {readelf {-s} group3.sym}} "group3"} +- {"weak1" "-melf64ppc --hash-style=both" "" +- "-a64 -mpower10" {weak1.s} +- {{objdump -d weak1.d} {readelf {-srW} weak1.r}} "weak1"} +- {"weak1.so" "-shared -melf64ppc --hash-style=both" "" +- "-a64 -mpower10" {weak1.s} +- {{objdump -d weak1so.d} {readelf {-srW} weak1so.r}} "weak1.so"} +- {"startstop" "-shared -melf64ppc --hash-style=sysv --gc-sections -z start-stop-gc" "" +- "-a64 -mpower10" {startstop.s} +- {{objdump -d startstop.d} {readelf {-rW} startstop.r}} "startstop.so"} +- {"abs-static" "-melf64ppc -static --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" "" +- "-a64" {abs-reloc.s} +- {{objdump {-sdr} abs-static.d} +- {readelf {-rW} abs-static.r}} "abs-static"} +- {"abs-pie" "-melf64ppc -pie --hash-style=sysv --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" "" +- "-a64" {abs-reloc.s} +- {{objdump {-sdr} abs-pie.d} +- {readelf {-rW} abs-pie.r}} "abs-pie"} +- {"abs-shared" "-melf64ppc -shared --hash-style=sysv --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" "" +- "-a64" {abs-reloc.s} +- {{objdump {-sdr} abs-shared.d} +- {readelf {-rW} abs-shared.r}} "abs-shared"} +- {"abs-pie-relr" "-melf64ppc -pie --hash-style=sysv -z pack-relative-relocs --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" "" +- "-a64" {abs-reloc.s} +- {{objdump {-sdr} abs-pie-relr.d} +- {readelf {-rW} abs-pie-relr.r}} "abs-pie-relr"} +- {"abs-shared-relr" "-melf64ppc -shared --hash-style=sysv -z pack-relative-relocs --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" "" +- "-a64" {abs-reloc.s} +- {{objdump {-sdr} abs-shared-relr.d} +- {readelf {-rW} abs-shared-relr.r}} "abs-shared-relr"} + } + + set ppceabitests { +@@ -404,15 +151,6 @@ set ppceabitests { + {"VLE multiple segments 5" "-melf32ppc -T vle-multiseg-5.ld" "" + "-a32 -mbig -mregnames -mvle" {vle-multiseg.s} + {{readelf "-l" vle-multiseg-5.d}} "vle-multiseg-5"} +- {"VLE relocations 1" "-melf32ppc -T vle.ld" "" +- "-a32 -mbig -mvle" {vle-reloc-1.s vle-reloc-def-1.s} +- {{objdump "-Mvle -d" vle-reloc-1.d}} "vle-reloc-1"} +- {"VLE relocations 2" "-melf32ppc -T vle.ld" "" +- "-a32 -mbig -mvle" {vle-reloc-2.s vle-reloc-def-2.s} +- {{objdump "-Mvle -d" vle-reloc-2.d}} "vle-reloc-2"} +- {"VLE relocations 3" "-melf32ppc -T vle.ld" "" +- "-a32 -mbig -mvle" {vle-reloc-3.s vle-reloc-def-3.s} +- {{objdump "-Mvle -d" vle-reloc-3.d}} "vle-reloc-3"} + } + + if [istarget "powerpc*le*-*-*"] then { +diff -rup binutils.orig/ld/testsuite/ld-powerpc/tls32.d binutils-2.41/ld/testsuite/ld-powerpc/tls32.d +--- binutils.orig/ld/testsuite/ld-powerpc/tls32.d 2023-08-15 14:30:13.278890868 +0100 ++++ binutils-2.41/ld/testsuite/ld-powerpc/tls32.d 2023-08-15 14:35:25.141593764 +0100 +@@ -9,11 +9,11 @@ + + Disassembly of section \.text: + +-0+18000a0 <_start>: ++0+18[0-9a-f]+ <_start>: + .*: (42 9f 00 05|05 00 9f 42) bcl 20,4\*cr7\+so,.* <_start\+0x4> + .*: (7f c8 02 a6|a6 02 c8 7f) mflr r30 + .*: (3f de 00 02|02 00 de 3f) addis r30,r30,2 +-.*: (3b de 80 a0|a0 80 de 3b) addi r30,r30,-32608 ++.*: (3b de 80 a0|.. 80 de 3b) addi r30,r30,.* + .*: (60 00 00 00|00 00 00 60) nop + .*: (38 62 90 3c|3c 90 62 38) addi r3,r2,-28612 + .*: (60 00 00 00|00 00 00 60) nop +@@ -43,5 +43,5 @@ Disassembly of section \.text: + .*: (60 00 00 00|00 00 00 60) nop + .*: (a9 42 90 18|18 90 42 a9) lha r10,-28648\(r2\) + +-0+1800120 <__tls_get_addr>: ++0+18[0-9a-f]+ <__tls_get_addr>: + .*: (4e 80 00 20|20 00 80 4e) blr +--- binutils.orig/ld/testsuite/ld-elf/shared.exp 2023-08-15 14:30:13.165890702 +0100 ++++ binutils-2.41/ld/testsuite/ld-elf/shared.exp 2023-08-15 14:45:41.943992390 +0100 +@@ -1152,10 +1152,6 @@ set run_tests [list \ + [list "Run pr21964-3" \ + "-Wl,--no-as-needed,-rpath,tmpdir tmpdir/pr21964-1a.so tmpdir/pr21964-1b.so tmpdir/pr21964-3a.so" "" \ + {pr21964-3c.c} "pr21964-3" "pass.out" ] \ +- [list "pr26580-3" \ +- "" "" \ +- {pr26580-a.c} "pr26580-3" "pr26580-3.out" "-fcommon" "c" "" \ +- "-Wl,--as-needed tmpdir/libpr26580-2.so" ] \ + [list "pr26580-4" \ + "" "" \ + {pr26580-a.c} "pr26580-4" "pr26580-4.out" "-fcommon" "c" "" \ +@@ -1579,18 +1575,6 @@ if { [istarget *-*-linux*] + "pr22393-2-static" \ + "pass.out" \ + ] \ +- [list \ +- "Run pr21964-4" \ +- "" \ +- "" \ +- {pr21964-4.c} \ +- "pr21964-4" \ +- "pass.out" \ +- "" \ +- "" \ +- "" \ +- "-ldl" \ +- ] \ + ] + } + +--- binutils.orig/ld/testsuite/ld-s390/s390.exp 2023-08-15 14:30:13.292890888 +0100 ++++ binutils-2.41/ld/testsuite/ld-s390/s390.exp 2023-08-15 14:48:38.327360916 +0100 +@@ -35,6 +35,8 @@ if { !([istarget "s390-*-*"] || [istarge + # nm: Apply nm options on result. Compare with regex (last arg). + # readelf: Apply readelf options on result. Compare with regex (last arg). + ++return ++ + set s390tests { + {"TLS -fpic -shared transitions" "-shared -melf_s390 --hash-style=sysv" "" + "-m31" {tlspic1.s tlspic2.s} +--- binutils.orig/ld/testsuite/ld-elf/linux-x86.exp 2023-08-15 14:30:13.146890674 +0100 ++++ binutils-2.41/ld/testsuite/ld-elf/linux-x86.exp 2023-08-15 14:54:31.527999066 +0100 +@@ -152,6 +152,10 @@ run_cc_link_tests [list \ + ] \ + ] + ++if { [istarget "i686-*-*"] } { ++ return ++} ++ + run_ld_link_exec_tests [list \ + [list \ + "Run indirect-extern-access-1a without PIE" \ +--- binutils.orig/ld/testsuite/ld-i386/i386.exp 2023-08-15 14:30:13.183890728 +0100 ++++ binutils-2.41/ld/testsuite/ld-i386/i386.exp 2023-08-15 14:55:59.001157084 +0100 +@@ -597,6 +597,10 @@ proc undefined_weak {cflags ldflags} { + } + } + ++if { [istarget "i686-*-*"] } { ++ return ++} ++ + # Must be Linux native with the C compiler + if { [isnative] + && [istarget "i?86-*-linux*"] +--- binutils.orig/ld/testsuite/ld-scripts/crossref.exp 2023-08-15 14:30:13.294890891 +0100 ++++ binutils-2.41/ld/testsuite/ld-scripts/crossref.exp 2023-08-15 14:59:36.680591177 +0100 +@@ -121,6 +121,10 @@ if [string match "" $exec_output] then { + } + } + ++if { [istarget "i686-*-*"] } { ++ return ++} ++ + # Check cross references for ld -r + + if { ![ld_compile "$CC_FOR_TARGET $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" "$srcdir/$subdir/cross4.c" tmpdir/cross4.o] } { +--- binutils.orig/ld/testsuite/ld-shared/shared.exp 2023-08-15 14:30:13.309890913 +0100 ++++ binutils-2.41/ld/testsuite/ld-shared/shared.exp 2023-08-15 15:00:31.929701875 +0100 +@@ -204,6 +204,10 @@ if { [istarget mips*-*-*] && ! [at_least + } + verbose "Using $picflag to compile PIC code" + ++if { [istarget "i686-*-*"] } { ++ return ++} ++ + # Compile the main program. + if ![ld_compile "$CC_FOR_TARGET $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] { + unsupported "shared (non PIC)" +--- binutils.orig/ld/testsuite/ld-srec/srec.exp 2023-08-15 14:30:13.315890922 +0100 ++++ binutils-2.41/ld/testsuite/ld-srec/srec.exp 2023-08-15 15:01:24.104806404 +0100 +@@ -442,6 +442,9 @@ setup_xfail "csky*-*-*" + # The S-record linker is not supported for eBPF. + setup_xfail "bpf-*-*" + ++setup_xfail "s390*-*-*" ++setup_xfail "i686-*-*" ++ + run_srec_test $test1 "tmpdir/sr1.o tmpdir/sr2.o" + + # Now try linking a C++ program with global constructors and +--- binutils.orig/ld/testsuite/ld-vsb/vsb.exp 2023-08-15 14:30:13.329890943 +0100 ++++ binutils-2.41/ld/testsuite/ld-vsb/vsb.exp 2023-08-15 15:03:41.018080699 +0100 +@@ -29,6 +29,10 @@ if { ![check_compiler_available] } { + return + } + ++if { [istarget "i686-*-*"] } { ++ return ++} ++ + # This test can only be run on a couple of ELF platforms or with + # XCOFF formats. + # Square bracket expressions seem to confuse istarget. +diff -rup binutils.orig/ld/testsuite/ld-powerpc/powerpc.exp binutils-2.41/ld/testsuite/ld-powerpc/powerpc.exp +--- binutils.orig/ld/testsuite/ld-powerpc/powerpc.exp 2023-08-15 15:04:24.106167010 +0100 ++++ binutils-2.41/ld/testsuite/ld-powerpc/powerpc.exp 2023-08-15 15:59:51.422385730 +0100 +@@ -177,6 +177,8 @@ if [istarget "powerpc*le*-*-*"] then { + + run_ld_link_tests $ppcelftests + ++return ++ + if [ supports_ppc64 ] then { + run_ld_link_tests $ppc64elftests + run_dump_test "relbrlt" +diff -rup binutils.orig/ld/testsuite/ld-powerpc/tls.d binutils-2.41/ld/testsuite/ld-powerpc/tls.d +--- binutils.orig/ld/testsuite/ld-powerpc/tls.d 2023-08-15 15:04:24.100166998 +0100 ++++ binutils-2.41/ld/testsuite/ld-powerpc/tls.d 2023-08-15 15:59:07.422314417 +0100 +@@ -9,7 +9,7 @@ + + Disassembly of section \.text: + +-0+100000e8 <\._start>: ++0+100..... <\._start>: + .*: (60 00 00 00|00 00 00 60) nop + .*: (38 6d 90 78|78 90 6d 38) addi r3,r13,-28552 + .*: (60 00 00 00|00 00 00 60) nop +@@ -49,5 +49,5 @@ Disassembly of section \.text: + .*: (60 00 00 00|00 00 00 60) nop + .*: (a9 4d 90 30|30 90 4d a9) lha r10,-28624\(r13\) + +-0+10000180 <\.__tls_get_addr>: ++0+100..... <\.__tls_get_addr>: + .*: (4e 80 00 20|20 00 80 4e) blr +diff -rup binutils.orig/ld/testsuite/ld-powerpc/tls32.g binutils-2.41/ld/testsuite/ld-powerpc/tls32.g +--- binutils.orig/ld/testsuite/ld-powerpc/tls32.g 2023-08-15 15:04:24.100166998 +0100 ++++ binutils-2.41/ld/testsuite/ld-powerpc/tls32.g 2023-08-15 15:56:33.167064455 +0100 +@@ -8,4 +8,4 @@ + .* + + Contents of section \.got: +- 1810144 00000000 00000000 00000000 .* ++ 18..... 00000000 00000000 00000000 .* +diff -rup binutils.orig/ld/testsuite/ld-powerpc/tls32no.d binutils-2.41/ld/testsuite/ld-powerpc/tls32no.d +--- binutils.orig/ld/testsuite/ld-powerpc/tls32no.d 2023-08-15 15:04:24.100166998 +0100 ++++ binutils-2.41/ld/testsuite/ld-powerpc/tls32no.d 2023-08-15 15:58:02.959209959 +0100 +@@ -9,11 +9,11 @@ + + Disassembly of section \.text: + +-0+18000a0 <_start>: ++0+18..... <_start>: + .*: (42 9f 00 05|05 00 9f 42) bcl .* + .*: (7f c8 02 a6|a6 02 c8 7f) mflr r30 + .*: (3f de 00 02|02 00 de 3f) addis r30,r30,2 +-.*: (3b de 80 a0|a0 80 de 3b) addi r30,r30,-32608 ++.*: (3b de 80 a0|.. 80 de 3b) addi r30,r30,-[0-9]+ + .*: (38 7f ff e4|e4 ff 7f 38) addi r3,r31,-28 + .*: (48 00 00 6d|6d 00 00 48) bl .* + .*: (38 7f ff f8|f8 ff 7f 38) addi r3,r31,-8 +@@ -43,5 +43,5 @@ Disassembly of section \.text: + .*: (3d 22 00 00|00 00 22 3d) addis r9,r2,0 + .*: (a9 49 90 18|18 90 49 a9) lha r10,-28648\(r9\) + +-0+1800120 <__tls_get_addr>: ++0+18..... <__tls_get_addr>: + .*: (4e 80 00 20|20 00 80 4e) blr +--- binutils.orig/ld/testsuite/ld-elf/linux-x86.exp 2023-08-15 15:04:23.995166788 +0100 ++++ binutils-2.41/ld/testsuite/ld-elf/linux-x86.exp 2023-08-15 16:03:11.615710200 +0100 +@@ -73,6 +73,10 @@ run_ld_link_tests [list \ + ] \ + ] + ++if { [istarget "i686-*-*"] } { ++ return ++} ++ + run_cc_link_tests [list \ + [list \ + "Build indirect-extern-access-1.so" \ +@@ -152,10 +156,6 @@ run_cc_link_tests [list \ + ] \ + ] + +-if { [istarget "i686-*-*"] } { +- return +-} +- + run_ld_link_exec_tests [list \ + [list \ + "Run indirect-extern-access-1a without PIE" \ +diff -rup binutils.orig/ld/testsuite/ld-powerpc/tls32.t binutils-2.41/ld/testsuite/ld-powerpc/tls32.t +--- binutils.orig/ld/testsuite/ld-powerpc/tls32.t 2023-08-15 16:48:58.540653339 +0100 ++++ binutils-2.41/ld/testsuite/ld-powerpc/tls32.t 2023-08-15 16:49:34.611717013 +0100 +@@ -8,5 +8,5 @@ + .* + + Contents of section \.tdata: +- 1810124 (12345678|78563412) (23456789|89674523) (3456789a|9a785634) (456789ab|ab896745) .* +- 1810134 (56789abc|bc9a7856) (6789abcd|cdab8967) (789abcde|debc9a78) (00c0ffee|eeffc000) .* ++#pass ++ +diff -rup binutils.orig/ld/testsuite/ld-powerpc/tls32no.g binutils-2.41/ld/testsuite/ld-powerpc/tls32no.g +--- binutils.orig/ld/testsuite/ld-powerpc/tls32no.g 2023-08-15 17:41:46.719412912 +0100 ++++ binutils-2.41/ld/testsuite/ld-powerpc/tls32no.g 2023-08-15 17:42:37.097511729 +0100 +@@ -8,6 +8,4 @@ + .* + + Contents of section \.got: +- 1810144 (0+01 f+8000 0+01 f+803c|010+ 0080f+ 010+ 3c80f+) .* +- 1810154 (0+01 f+8020 f+9030 0+01|010+ 2080f+ 3090f+ 010+) .* +- 1810164 0+ 0+ 0+ 0+0 .* ++#pass diff --git a/SOURCES/binutils-version.patch b/SOURCES/binutils-version.patch new file mode 100644 index 0000000..2552ee3 --- /dev/null +++ b/SOURCES/binutils-version.patch @@ -0,0 +1,46 @@ +diff -rup binutils.orig/bfd/Makefile.am binutils-2.38/bfd/Makefile.am +--- binutils.orig/bfd/Makefile.am 2022-02-09 14:10:42.659300681 +0000 ++++ binutils-2.38/bfd/Makefile.am 2022-02-09 14:12:40.562532916 +0000 +@@ -977,8 +977,8 @@ DISTCLEANFILES = $(BUILD_CFILES) $(BUILD + bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in + $(AM_V_GEN)\ + bfd_version=`echo "$(VERSION)" | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\ +- bfd_version_string="\"$(VERSION)\"" ;\ +- bfd_soversion="$(VERSION)" ;\ ++ bfd_version_string="\"$(VERSION)-%{release}\"" ;\ ++ bfd_soversion="$(VERSION)-%{release}" ;\ + bfd_version_package="\"$(PKGVERSION)\"" ;\ + report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ + . $(srcdir)/development.sh ;\ +@@ -989,7 +989,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/ + fi ;\ + $(SED) -e "s,@bfd_version@,$$bfd_version," \ + -e "s,@bfd_version_string@,$$bfd_version_string," \ +- -e "s,@bfd_version_package@,$$bfd_version_package," \ ++ -e "s,@bfd_version_package@,\"version \"," \ + -e "s,@report_bugs_to@,$$report_bugs_to," \ + < $(srcdir)/version.h > $@; \ + echo "$${bfd_soversion}" > libtool-soversion +diff -rup binutils.orig/bfd/Makefile.in binutils-2.38/bfd/Makefile.in +--- binutils.orig/bfd/Makefile.in 2022-02-09 14:10:42.653300720 +0000 ++++ binutils-2.38/bfd/Makefile.in 2022-02-09 14:19:03.362040188 +0000 +@@ -2094,8 +2094,8 @@ stmp-lcoff-h: $(LIBCOFF_H_FILES) $(MKDOC + bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in + $(AM_V_GEN)\ + bfd_version=`echo "$(VERSION)" | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\ +- bfd_version_string="\"$(VERSION)\"" ;\ +- bfd_soversion="$(VERSION)" ;\ ++ bfd_version_string="\"$(VERSION)-%{release}\"" ;\ ++ bfd_soversion="$(VERSION)-%{release}" ;\ + bfd_version_package="\"$(PKGVERSION)\"" ;\ + report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ + . $(srcdir)/development.sh ;\ +@@ -2106,7 +2106,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/ + fi ;\ + $(SED) -e "s,@bfd_version@,$$bfd_version," \ + -e "s,@bfd_version_string@,$$bfd_version_string," \ +- -e "s,@bfd_version_package@,$$bfd_version_package," \ ++ -e "s,@bfd_version_package@,\"version \"," \ + -e "s,@report_bugs_to@,$$report_bugs_to," \ + < $(srcdir)/version.h > $@; \ + echo "$${bfd_soversion}" > libtool-soversion diff --git a/SOURCES/binutils-x86-64-v3.patch b/SOURCES/binutils-x86-64-v3.patch new file mode 100644 index 0000000..a8a07b6 --- /dev/null +++ b/SOURCES/binutils-x86-64-v3.patch @@ -0,0 +1,33 @@ +diff --git a/ld/testsuite/ld-x86-64/property-3.r b/ld/testsuite/ld-x86-64/property-3.r +index 1bdb47c7b6b..1e4a24c6fbe 100644 +--- a/ld/testsuite/ld-x86-64/property-3.r ++++ b/ld/testsuite/ld-x86-64/property-3.r +@@ -4,5 +4,5 @@ Displaying notes found in: .note.gnu.property + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 + #... +- x86 ISA needed: x86-64-baseline, x86-64-v2 ++ x86 ISA needed: x86-64-baseline, x86-64-v2.* + #pass +diff --git a/ld/testsuite/ld-x86-64/property-4.r b/ld/testsuite/ld-x86-64/property-4.r +index 8cc618cbfad..031a1d280ad 100644 +--- a/ld/testsuite/ld-x86-64/property-4.r ++++ b/ld/testsuite/ld-x86-64/property-4.r +@@ -4,5 +4,5 @@ Displaying notes found in: .note.gnu.property + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 + #... +- x86 ISA needed: x86-64-baseline, x86-64-v2, x86-64-v4 ++ x86 ISA needed: x86-64-baseline, x86-64-v2,.*x86-64-v4 + #pass +diff --git a/ld/testsuite/ld-x86-64/property-5.r b/ld/testsuite/ld-x86-64/property-5.r +index e3ba4f659b9..58b274b9772 100644 +--- a/ld/testsuite/ld-x86-64/property-5.r ++++ b/ld/testsuite/ld-x86-64/property-5.r +@@ -4,5 +4,5 @@ Displaying notes found in: .note.gnu.property + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x900000 + #... +- x86 ISA needed: x86-64-baseline, x86-64-v2, x86-64-v4 ++ x86 ISA needed: x86-64-baseline, x86-64-v2,.*x86-64-v4 + #pass diff --git a/SOURCES/i686-AVX10.1-part-1.patch b/SOURCES/i686-AVX10.1-part-1.patch new file mode 100644 index 0000000..a4e75d0 --- /dev/null +++ b/SOURCES/i686-AVX10.1-part-1.patch @@ -0,0 +1,209 @@ +From e30e95759268ce5a5a1f752b3c9fa3e4a182db99 Mon Sep 17 00:00:00 2001 +From: Jan Beulich +Date: Fri, 1 Sep 2023 12:28:57 +0200 +Subject: [PATCH] x86: correct source used for two non-AVX512 VEXWIG tests + +These shouldn't wrongly include the AVX512VL sources. Obviously the +expectations therefore also need to change. +--- + gas/testsuite/gas/i386/vaes-wig1.d | 118 ++++------------------- + gas/testsuite/gas/i386/vpclmulqdq-wig1.d | 44 +++------ + 2 files changed, 32 insertions(+), 130 deletions(-) + +diff --git a/gas/testsuite/gas/i386/vaes-wig1.d b/gas/testsuite/gas/i386/vaes-wig1.d +index 8e8567e01df..9d37e52b49e 100644 +--- a/gas/testsuite/gas/i386/vaes-wig1.d ++++ b/gas/testsuite/gas/i386/vaes-wig1.d +@@ -1,7 +1,7 @@ + #as: -mvexwig=1 + #objdump: -dw + #name: i386 AVX/VAES wig insns +-#source: avx512vl_vaes.s ++#source: vaes.s + + .*: +file format .* + +@@ -9,100 +9,24 @@ + Disassembly of section \.text: + + 00000000 <_start>: +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 de f4[ ]*vaesdec %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 de b4 f4 c0 1d fe ff[ ]*vaesdec -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 de b2 f0 07 00 00[ ]*vaesdec 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 de f4[ ]*vaesdec %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 de b4 f4 c0 1d fe ff[ ]*vaesdec -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 de b2 e0 0f 00 00[ ]*vaesdec 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 df f4[ ]*vaesdeclast %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 df b4 f4 c0 1d fe ff[ ]*vaesdeclast -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 df b2 f0 07 00 00[ ]*vaesdeclast 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 df f4[ ]*vaesdeclast %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 df b4 f4 c0 1d fe ff[ ]*vaesdeclast -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 df b2 e0 0f 00 00[ ]*vaesdeclast 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 dc f4[ ]*vaesenc %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 dc b4 f4 c0 1d fe ff[ ]*vaesenc -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 dc b2 f0 07 00 00[ ]*vaesenc 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 dc f4[ ]*vaesenc %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 dc b4 f4 c0 1d fe ff[ ]*vaesenc -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 dc b2 e0 0f 00 00[ ]*vaesenc 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 dd f4[ ]*vaesenclast %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 dd b4 f4 c0 1d fe ff[ ]*vaesenclast -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 dd b2 f0 07 00 00[ ]*vaesenclast 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 dd f4[ ]*vaesenclast %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 dd b4 f4 c0 1d fe ff[ ]*vaesenclast -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 dd b2 e0 0f 00 00[ ]*vaesenclast 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 de f4[ ]*\{evex\} vaesdec %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 de b4 f4 c0 1d fe ff[ ]*\{evex\} vaesdec -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 de 72 7f[ ]*\{evex\} vaesdec 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 de f4[ ]*\{evex\} vaesdec %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 de b4 f4 c0 1d fe ff[ ]*\{evex\} vaesdec -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 de 72 7f[ ]*\{evex\} vaesdec 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 df f4[ ]*\{evex\} vaesdeclast %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 df b4 f4 c0 1d fe ff[ ]*\{evex\} vaesdeclast -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 df 72 7f[ ]*\{evex\} vaesdeclast 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 df f4[ ]*\{evex\} vaesdeclast %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 df b4 f4 c0 1d fe ff[ ]*\{evex\} vaesdeclast -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 df 72 7f[ ]*\{evex\} vaesdeclast 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 dc f4[ ]*\{evex\} vaesenc %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 dc b4 f4 c0 1d fe ff[ ]*\{evex\} vaesenc -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 dc 72 7f[ ]*\{evex\} vaesenc 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 dc f4[ ]*\{evex\} vaesenc %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 dc b4 f4 c0 1d fe ff[ ]*\{evex\} vaesenc -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 dc 72 7f[ ]*\{evex\} vaesenc 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 dd f4[ ]*\{evex\} vaesenclast %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 dd b4 f4 c0 1d fe ff[ ]*\{evex\} vaesenclast -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 dd 72 7f[ ]*\{evex\} vaesenclast 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 dd f4[ ]*\{evex\} vaesenclast %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 dd b4 f4 c0 1d fe ff[ ]*\{evex\} vaesenclast -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 dd 72 7f[ ]*\{evex\} vaesenclast 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 de f4[ ]*vaesdec %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 de b4 f4 c0 1d fe ff[ ]*vaesdec -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 de b2 f0 07 00 00[ ]*vaesdec 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 de f4[ ]*vaesdec %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 de b4 f4 c0 1d fe ff[ ]*vaesdec -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 de b2 e0 0f 00 00[ ]*vaesdec 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 df f4[ ]*vaesdeclast %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 df b4 f4 c0 1d fe ff[ ]*vaesdeclast -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 df b2 f0 07 00 00[ ]*vaesdeclast 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 df f4[ ]*vaesdeclast %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 df b4 f4 c0 1d fe ff[ ]*vaesdeclast -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 df b2 e0 0f 00 00[ ]*vaesdeclast 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 dc f4[ ]*vaesenc %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 dc b4 f4 c0 1d fe ff[ ]*vaesenc -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 dc b2 f0 07 00 00[ ]*vaesenc 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 dc f4[ ]*vaesenc %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 dc b4 f4 c0 1d fe ff[ ]*vaesenc -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 dc b2 e0 0f 00 00[ ]*vaesenc 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 dd f4[ ]*vaesenclast %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 dd b4 f4 c0 1d fe ff[ ]*vaesenclast -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d1 dd b2 f0 07 00 00[ ]*vaesenclast 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 dd f4[ ]*vaesenclast %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 dd b4 f4 c0 1d fe ff[ ]*vaesenclast -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e2 d5 dd b2 e0 0f 00 00[ ]*vaesenclast 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 de f4[ ]*\{evex\} vaesdec %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 de b4 f4 c0 1d fe ff[ ]*\{evex\} vaesdec -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 de 72 7f[ ]*\{evex\} vaesdec 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 de f4[ ]*\{evex\} vaesdec %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 de b4 f4 c0 1d fe ff[ ]*\{evex\} vaesdec -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 de 72 7f[ ]*\{evex\} vaesdec 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 df f4[ ]*\{evex\} vaesdeclast %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 df b4 f4 c0 1d fe ff[ ]*\{evex\} vaesdeclast -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 df 72 7f[ ]*\{evex\} vaesdeclast 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 df f4[ ]*\{evex\} vaesdeclast %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 df b4 f4 c0 1d fe ff[ ]*\{evex\} vaesdeclast -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 df 72 7f[ ]*\{evex\} vaesdeclast 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 dc f4[ ]*\{evex\} vaesenc %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 dc b4 f4 c0 1d fe ff[ ]*\{evex\} vaesenc -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 dc 72 7f[ ]*\{evex\} vaesenc 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 dc f4[ ]*\{evex\} vaesenc %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 dc b4 f4 c0 1d fe ff[ ]*\{evex\} vaesenc -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 dc 72 7f[ ]*\{evex\} vaesenc 0xfe0\(%edx\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 dd f4[ ]*\{evex\} vaesenclast %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 dd b4 f4 c0 1d fe ff[ ]*\{evex\} vaesenclast -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 08 dd 72 7f[ ]*\{evex\} vaesenclast 0x7f0\(%edx\),%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 dd f4[ ]*\{evex\} vaesenclast %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 dd b4 f4 c0 1d fe ff[ ]*\{evex\} vaesenclast -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*62 f2 55 28 dd 72 7f[ ]*\{evex\} vaesenclast 0xfe0\(%edx\),%ymm5,%ymm6 ++[ ]*[a-f0-9]+: c4 e2 cd dc d4 vaesenc %ymm4,%ymm6,%ymm2 ++[ ]*[a-f0-9]+: c4 e2 cd dc 39 vaesenc \(%ecx\),%ymm6,%ymm7 ++[ ]*[a-f0-9]+: c4 e2 cd dd d4 vaesenclast %ymm4,%ymm6,%ymm2 ++[ ]*[a-f0-9]+: c4 e2 cd dd 39 vaesenclast \(%ecx\),%ymm6,%ymm7 ++[ ]*[a-f0-9]+: c4 e2 cd de d4 vaesdec %ymm4,%ymm6,%ymm2 ++[ ]*[a-f0-9]+: c4 e2 cd de 39 vaesdec \(%ecx\),%ymm6,%ymm7 ++[ ]*[a-f0-9]+: c4 e2 cd df d4 vaesdeclast %ymm4,%ymm6,%ymm2 ++[ ]*[a-f0-9]+: c4 e2 cd df 39 vaesdeclast \(%ecx\),%ymm6,%ymm7 ++[ ]*[a-f0-9]+: c4 e2 cd dc d4 vaesenc %ymm4,%ymm6,%ymm2 ++[ ]*[a-f0-9]+: c4 e2 cd dc 39 vaesenc \(%ecx\),%ymm6,%ymm7 ++[ ]*[a-f0-9]+: c4 e2 cd dc 39 vaesenc \(%ecx\),%ymm6,%ymm7 ++[ ]*[a-f0-9]+: c4 e2 cd dd d4 vaesenclast %ymm4,%ymm6,%ymm2 ++[ ]*[a-f0-9]+: c4 e2 cd dd 39 vaesenclast \(%ecx\),%ymm6,%ymm7 ++[ ]*[a-f0-9]+: c4 e2 cd dd 39 vaesenclast \(%ecx\),%ymm6,%ymm7 ++[ ]*[a-f0-9]+: c4 e2 cd de d4 vaesdec %ymm4,%ymm6,%ymm2 ++[ ]*[a-f0-9]+: c4 e2 cd de 39 vaesdec \(%ecx\),%ymm6,%ymm7 ++[ ]*[a-f0-9]+: c4 e2 cd de 39 vaesdec \(%ecx\),%ymm6,%ymm7 ++[ ]*[a-f0-9]+: c4 e2 cd df d4 vaesdeclast %ymm4,%ymm6,%ymm2 ++[ ]*[a-f0-9]+: c4 e2 cd df 39 vaesdeclast \(%ecx\),%ymm6,%ymm7 ++[ ]*[a-f0-9]+: c4 e2 cd df 39 vaesdeclast \(%ecx\),%ymm6,%ymm7 + #pass +diff --git a/gas/testsuite/gas/i386/vpclmulqdq-wig1.d b/gas/testsuite/gas/i386/vpclmulqdq-wig1.d +index 843bf56bc21..52bb1651201 100644 +--- a/gas/testsuite/gas/i386/vpclmulqdq-wig1.d ++++ b/gas/testsuite/gas/i386/vpclmulqdq-wig1.d +@@ -1,7 +1,7 @@ + #as: -mvexwig=1 + #objdump: -dw + #name: i386 AVX/VPCLMULQDQ wig insns +-#source: avx512vl_vpclmulqdq.s ++#source: vpclmulqdq.s + + .*: +file format .* + +@@ -9,36 +9,14 @@ + Disassembly of section \.text: + + 00000000 <_start>: +-[ ]*[a-f0-9]+:[ ]*c4 e3 e9 44 da ab[ ]*vpclmulqdq \$0xab,%xmm2,%xmm2,%xmm3 +-[ ]*[a-f0-9]+:[ ]*c4 e3 e9 44 9c f4 c0 1d fe ff 7b[ ]*vpclmulqdq \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm2,%xmm3 +-[ ]*[a-f0-9]+:[ ]*c4 e3 e9 44 9a f0 07 00 00 7b[ ]*vpclmulqdq \$0x7b,0x7f0\(%edx\),%xmm2,%xmm3 +-[ ]*[a-f0-9]+:[ ]*c4 e3 d5 44 e1 ab[ ]*vpclmulqdq \$0xab,%ymm1,%ymm5,%ymm4 +-[ ]*[a-f0-9]+:[ ]*c4 e3 d5 44 a4 f4 c0 1d fe ff 7b[ ]*vpclmulqdq \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm4 +-[ ]*[a-f0-9]+:[ ]*c4 e3 d5 44 a2 e0 0f 00 00 7b[ ]*vpclmulqdq \$0x7b,0xfe0\(%edx\),%ymm5,%ymm4 +-[ ]*[a-f0-9]+:[ ]*62 f3 6d 08 44 da ab[ ]*\{evex\} vpclmulqdq \$0xab,%xmm2,%xmm2,%xmm3 +-[ ]*[a-f0-9]+:[ ]*62 f3 6d 08 44 9c f4 c0 1d fe ff 7b[ ]*\{evex\} vpclmulqdq \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm2,%xmm3 +-[ ]*[a-f0-9]+:[ ]*62 f3 6d 08 44 5a 7f 7b[ ]*\{evex\} vpclmulqdq \$0x7b,0x7f0\(%edx\),%xmm2,%xmm3 +-[ ]*[a-f0-9]+:[ ]*62 f3 55 28 44 e1 ab[ ]*\{evex\} vpclmulqdq \$0xab,%ymm1,%ymm5,%ymm4 +-[ ]*[a-f0-9]+:[ ]*62 f3 55 28 44 a4 f4 c0 1d fe ff 7b[ ]*\{evex\} vpclmulqdq \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm4 +-[ ]*[a-f0-9]+:[ ]*62 f3 55 28 44 62 7f 7b[ ]*\{evex\} vpclmulqdq \$0x7b,0xfe0\(%edx\),%ymm5,%ymm4 +-[ ]*[a-f0-9]+:[ ]*62 f3 65 08 44 e2 11[ ]*\{evex\} vpclmulhqhqdq %xmm2,%xmm3,%xmm4 +-[ ]*[a-f0-9]+:[ ]*62 f3 5d 08 44 eb 01[ ]*\{evex\} vpclmulhqlqdq %xmm3,%xmm4,%xmm5 +-[ ]*[a-f0-9]+:[ ]*62 f3 55 08 44 f4 10[ ]*\{evex\} vpclmullqhqdq %xmm4,%xmm5,%xmm6 +-[ ]*[a-f0-9]+:[ ]*62 f3 4d 08 44 fd 00[ ]*\{evex\} vpclmullqlqdq %xmm5,%xmm6,%xmm7 +-[ ]*[a-f0-9]+:[ ]*62 f3 6d 28 44 d9 11[ ]*\{evex\} vpclmulhqhqdq %ymm1,%ymm2,%ymm3 +-[ ]*[a-f0-9]+:[ ]*62 f3 65 28 44 e2 01[ ]*\{evex\} vpclmulhqlqdq %ymm2,%ymm3,%ymm4 +-[ ]*[a-f0-9]+:[ ]*62 f3 5d 28 44 eb 10[ ]*\{evex\} vpclmullqhqdq %ymm3,%ymm4,%ymm5 +-[ ]*[a-f0-9]+:[ ]*62 f3 55 28 44 f4 00[ ]*\{evex\} vpclmullqlqdq %ymm4,%ymm5,%ymm6 +-[ ]*[a-f0-9]+:[ ]*c4 e3 d1 44 db ab[ ]*vpclmulqdq \$0xab,%xmm3,%xmm5,%xmm3 +-[ ]*[a-f0-9]+:[ ]*c4 e3 d1 44 9c f4 c0 1d fe ff 7b[ ]*vpclmulqdq \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm3 +-[ ]*[a-f0-9]+:[ ]*c4 e3 d1 44 9a f0 07 00 00 7b[ ]*vpclmulqdq \$0x7b,0x7f0\(%edx\),%xmm5,%xmm3 +-[ ]*[a-f0-9]+:[ ]*c4 e3 ed 44 d2 ab[ ]*vpclmulqdq \$0xab,%ymm2,%ymm2,%ymm2 +-[ ]*[a-f0-9]+:[ ]*c4 e3 ed 44 94 f4 c0 1d fe ff 7b[ ]*vpclmulqdq \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm2,%ymm2 +-[ ]*[a-f0-9]+:[ ]*c4 e3 ed 44 92 e0 0f 00 00 7b[ ]*vpclmulqdq \$0x7b,0xfe0\(%edx\),%ymm2,%ymm2 +-[ ]*[a-f0-9]+:[ ]*62 f3 55 08 44 db ab[ ]*\{evex\} vpclmulqdq \$0xab,%xmm3,%xmm5,%xmm3 +-[ ]*[a-f0-9]+:[ ]*62 f3 55 08 44 9c f4 c0 1d fe ff 7b[ ]*\{evex\} vpclmulqdq \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm3 +-[ ]*[a-f0-9]+:[ ]*62 f3 55 08 44 5a 7f 7b[ ]*\{evex\} vpclmulqdq \$0x7b,0x7f0\(%edx\),%xmm5,%xmm3 +-[ ]*[a-f0-9]+:[ ]*62 f3 6d 28 44 d2 ab[ ]*\{evex\} vpclmulqdq \$0xab,%ymm2,%ymm2,%ymm2 +-[ ]*[a-f0-9]+:[ ]*62 f3 6d 28 44 94 f4 c0 1d fe ff 7b[ ]*\{evex\} vpclmulqdq \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm2,%ymm2 +-[ ]*[a-f0-9]+:[ ]*62 f3 6d 28 44 52 7f 7b[ ]*\{evex\} vpclmulqdq \$0x7b,0xfe0\(%edx\),%ymm2,%ymm2 ++[ ]*[a-f0-9]+:[ ]*c4 e3 d5 44 f4 ab[ ]*vpclmulqdq \$0xab,%ymm4,%ymm5,%ymm6 ++[ ]*[a-f0-9]+:[ ]*c4 e3 d5 44 b4 f4 c0 1d fe ff 7b[ ]*vpclmulqdq \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 ++[ ]*[a-f0-9]+:[ ]*c4 e3 d5 44 b2 e0 0f 00 00 7b[ ]*vpclmulqdq \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6 ++[ ]*[a-f0-9]+:[ ]*c4 e3 ed 44 d9 11[ ]*vpclmulhqhqdq %ymm1,%ymm2,%ymm3 ++[ ]*[a-f0-9]+:[ ]*c4 e3 e5 44 e2 01[ ]*vpclmulhqlqdq %ymm2,%ymm3,%ymm4 ++[ ]*[a-f0-9]+:[ ]*c4 e3 dd 44 eb 10[ ]*vpclmullqhqdq %ymm3,%ymm4,%ymm5 ++[ ]*[a-f0-9]+:[ ]*c4 e3 d5 44 f4 00[ ]*vpclmullqlqdq %ymm4,%ymm5,%ymm6 ++[ ]*[a-f0-9]+:[ ]*c4 e3 d5 44 f4 ab[ ]*vpclmulqdq \$0xab,%ymm4,%ymm5,%ymm6 ++[ ]*[a-f0-9]+:[ ]*c4 e3 d5 44 b4 f4 c0 1d fe ff 7b[ ]*vpclmulqdq \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6 ++[ ]*[a-f0-9]+:[ ]*c4 e3 d5 44 b2 e0 0f 00 00 7b[ ]*vpclmulqdq \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6 + #pass +-- +2.43.0 + diff --git a/SOURCES/i686-AVX10.1-part-2.patch b/SOURCES/i686-AVX10.1-part-2.patch new file mode 100644 index 0000000..93471bd --- /dev/null +++ b/SOURCES/i686-AVX10.1-part-2.patch @@ -0,0 +1,379 @@ +From dfab07b9ead66f08661325c03175e1df9210ccd7 Mon Sep 17 00:00:00 2001 +From: Jan Beulich +Date: Fri, 1 Sep 2023 12:29:44 +0200 +Subject: [PATCH] x86: unindent most of set_cpu_arch() + +Inverting the initial if()'s condition allows to move out the bulk of +the function by a level, improving readability at least a bit. While +doing that also pull the push/pop handling up first, such that "else if" +after "return" isn't needed anymore; the order in which special cases +are checked doesn't really matter. +--- + gas/config/tc-i386.c | 305 ++++++++++++++++++++++--------------------- + 1 file changed, 154 insertions(+), 151 deletions(-) + +diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c +index 19a5f2d61e5..00abfc78264 100644 +--- a/gas/config/tc-i386.c ++++ b/gas/config/tc-i386.c +@@ -2793,29 +2793,134 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED) + bool no_cond_jump_promotion; + } arch_stack_entry; + static const arch_stack_entry *arch_stack_top; ++ char *s; ++ int e; ++ const char *string; ++ unsigned int j = 0; ++ i386_cpu_flags flags; + + SKIP_WHITESPACE (); + +- if (!is_end_of_line[(unsigned char) *input_line_pointer]) ++ if (is_end_of_line[(unsigned char) *input_line_pointer]) ++ { ++ as_bad (_("missing cpu architecture")); ++ input_line_pointer++; ++ return; ++ } ++ ++ e = get_symbol_name (&s); ++ string = s; ++ ++ if (strcmp (string, "push") == 0) ++ { ++ arch_stack_entry *top = XNEW (arch_stack_entry); ++ ++ top->name = cpu_arch_name; ++ if (cpu_sub_arch_name) ++ top->sub_name = xstrdup (cpu_sub_arch_name); ++ else ++ top->sub_name = NULL; ++ top->flags = cpu_arch_flags; ++ top->isa = cpu_arch_isa; ++ top->isa_flags = cpu_arch_isa_flags; ++ top->flag_code = flag_code; ++ top->stackop_size = stackop_size; ++ top->no_cond_jump_promotion = no_cond_jump_promotion; ++ ++ top->prev = arch_stack_top; ++ arch_stack_top = top; ++ ++ (void) restore_line_pointer (e); ++ demand_empty_rest_of_line (); ++ return; ++ } ++ ++ if (strcmp (string, "pop") == 0) + { +- char *s; +- int e = get_symbol_name (&s); +- const char *string = s; +- unsigned int j = 0; +- i386_cpu_flags flags; ++ const arch_stack_entry *top = arch_stack_top; + +- if (strcmp (string, "default") == 0) ++ if (!top) ++ as_bad (_(".arch stack is empty")); ++ else if (top->flag_code != flag_code ++ || top->stackop_size != stackop_size) ++ { ++ static const unsigned int bits[] = { ++ [CODE_16BIT] = 16, ++ [CODE_32BIT] = 32, ++ [CODE_64BIT] = 64, ++ }; ++ ++ as_bad (_("this `.arch pop' requires `.code%u%s' to be in effect"), ++ bits[top->flag_code], ++ top->stackop_size == LONG_MNEM_SUFFIX ? "gcc" : ""); ++ } ++ else ++ { ++ arch_stack_top = top->prev; ++ ++ cpu_arch_name = top->name; ++ free (cpu_sub_arch_name); ++ cpu_sub_arch_name = top->sub_name; ++ cpu_arch_flags = top->flags; ++ cpu_arch_isa = top->isa; ++ cpu_arch_isa_flags = top->isa_flags; ++ no_cond_jump_promotion = top->no_cond_jump_promotion; ++ ++ XDELETE (top); ++ } ++ ++ (void) restore_line_pointer (e); ++ demand_empty_rest_of_line (); ++ return; ++ } ++ ++ if (strcmp (string, "default") == 0) ++ { ++ if (strcmp (default_arch, "iamcu") == 0) ++ string = default_arch; ++ else + { +- if (strcmp (default_arch, "iamcu") == 0) +- string = default_arch; ++ static const i386_cpu_flags cpu_unknown_flags = CPU_UNKNOWN_FLAGS; ++ ++ cpu_arch_name = NULL; ++ free (cpu_sub_arch_name); ++ cpu_sub_arch_name = NULL; ++ cpu_arch_flags = cpu_unknown_flags; ++ if (flag_code == CODE_64BIT) ++ { ++ cpu_arch_flags.bitfield.cpu64 = 1; ++ cpu_arch_flags.bitfield.cpuno64 = 0; ++ } + else + { +- static const i386_cpu_flags cpu_unknown_flags = CPU_UNKNOWN_FLAGS; ++ cpu_arch_flags.bitfield.cpu64 = 0; ++ cpu_arch_flags.bitfield.cpuno64 = 1; ++ } ++ cpu_arch_isa = PROCESSOR_UNKNOWN; ++ cpu_arch_isa_flags = cpu_arch[flag_code == CODE_64BIT].enable; ++ if (!cpu_arch_tune_set) ++ { ++ cpu_arch_tune = cpu_arch_isa; ++ cpu_arch_tune_flags = cpu_arch_isa_flags; ++ } ++ ++ j = ARRAY_SIZE (cpu_arch) + 1; ++ } ++ } ++ ++ for (; j < ARRAY_SIZE (cpu_arch); j++) ++ { ++ if (strcmp (string + (*string == '.'), cpu_arch[j].name) == 0 ++ && (*string == '.') == (cpu_arch[j].type == PROCESSOR_NONE)) ++ { ++ if (*string != '.') ++ { ++ check_cpu_arch_compatible (string, cpu_arch[j].enable); + +- cpu_arch_name = NULL; ++ cpu_arch_name = cpu_arch[j].name; + free (cpu_sub_arch_name); + cpu_sub_arch_name = NULL; +- cpu_arch_flags = cpu_unknown_flags; ++ cpu_arch_flags = cpu_arch[j].enable; + if (flag_code == CODE_64BIT) + { + cpu_arch_flags.bitfield.cpu64 = 1; +@@ -2826,173 +2931,71 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED) + cpu_arch_flags.bitfield.cpu64 = 0; + cpu_arch_flags.bitfield.cpuno64 = 1; + } +- cpu_arch_isa = PROCESSOR_UNKNOWN; +- cpu_arch_isa_flags = cpu_arch[flag_code == CODE_64BIT].enable; ++ cpu_arch_isa = cpu_arch[j].type; ++ cpu_arch_isa_flags = cpu_arch[j].enable; + if (!cpu_arch_tune_set) + { + cpu_arch_tune = cpu_arch_isa; + cpu_arch_tune_flags = cpu_arch_isa_flags; + } +- +- j = ARRAY_SIZE (cpu_arch) + 1; ++ pre_386_16bit_warned = false; ++ break; + } +- } +- else if (strcmp (string, "push") == 0) +- { +- arch_stack_entry *top = XNEW (arch_stack_entry); + +- top->name = cpu_arch_name; +- if (cpu_sub_arch_name) +- top->sub_name = xstrdup (cpu_sub_arch_name); +- else +- top->sub_name = NULL; +- top->flags = cpu_arch_flags; +- top->isa = cpu_arch_isa; +- top->isa_flags = cpu_arch_isa_flags; +- top->flag_code = flag_code; +- top->stackop_size = stackop_size; +- top->no_cond_jump_promotion = no_cond_jump_promotion; ++ if (cpu_flags_all_zero (&cpu_arch[j].enable)) ++ continue; + +- top->prev = arch_stack_top; +- arch_stack_top = top; ++ flags = cpu_flags_or (cpu_arch_flags, cpu_arch[j].enable); + +- (void) restore_line_pointer (e); +- demand_empty_rest_of_line (); +- return; +- } +- else if (strcmp (string, "pop") == 0) +- { +- const arch_stack_entry *top = arch_stack_top; +- +- if (!top) +- as_bad (_(".arch stack is empty")); +- else if (top->flag_code != flag_code +- || top->stackop_size != stackop_size) ++ if (!cpu_flags_equal (&flags, &cpu_arch_flags)) + { +- static const unsigned int bits[] = { +- [CODE_16BIT] = 16, +- [CODE_32BIT] = 32, +- [CODE_64BIT] = 64, +- }; +- +- as_bad (_("this `.arch pop' requires `.code%u%s' to be in effect"), +- bits[top->flag_code], +- top->stackop_size == LONG_MNEM_SUFFIX ? "gcc" : ""); ++ extend_cpu_sub_arch_name (string + 1); ++ cpu_arch_flags = flags; ++ cpu_arch_isa_flags = flags; + } + else +- { +- arch_stack_top = top->prev; +- +- cpu_arch_name = top->name; +- free (cpu_sub_arch_name); +- cpu_sub_arch_name = top->sub_name; +- cpu_arch_flags = top->flags; +- cpu_arch_isa = top->isa; +- cpu_arch_isa_flags = top->isa_flags; +- no_cond_jump_promotion = top->no_cond_jump_promotion; +- +- XDELETE (top); +- } ++ cpu_arch_isa_flags ++ = cpu_flags_or (cpu_arch_isa_flags, cpu_arch[j].enable); + + (void) restore_line_pointer (e); + demand_empty_rest_of_line (); + return; + } ++ } + +- for (; j < ARRAY_SIZE (cpu_arch); j++) +- { +- if (strcmp (string + (*string == '.'), cpu_arch[j].name) == 0 +- && (*string == '.') == (cpu_arch[j].type == PROCESSOR_NONE)) +- { +- if (*string != '.') +- { +- check_cpu_arch_compatible (string, cpu_arch[j].enable); +- +- cpu_arch_name = cpu_arch[j].name; +- free (cpu_sub_arch_name); +- cpu_sub_arch_name = NULL; +- cpu_arch_flags = cpu_arch[j].enable; +- if (flag_code == CODE_64BIT) +- { +- cpu_arch_flags.bitfield.cpu64 = 1; +- cpu_arch_flags.bitfield.cpuno64 = 0; +- } +- else +- { +- cpu_arch_flags.bitfield.cpu64 = 0; +- cpu_arch_flags.bitfield.cpuno64 = 1; +- } +- cpu_arch_isa = cpu_arch[j].type; +- cpu_arch_isa_flags = cpu_arch[j].enable; +- if (!cpu_arch_tune_set) +- { +- cpu_arch_tune = cpu_arch_isa; +- cpu_arch_tune_flags = cpu_arch_isa_flags; +- } +- pre_386_16bit_warned = false; +- break; +- } +- +- if (cpu_flags_all_zero (&cpu_arch[j].enable)) +- continue; +- +- flags = cpu_flags_or (cpu_arch_flags, +- cpu_arch[j].enable); +- +- if (!cpu_flags_equal (&flags, &cpu_arch_flags)) +- { +- extend_cpu_sub_arch_name (string + 1); +- cpu_arch_flags = flags; +- cpu_arch_isa_flags = flags; +- } +- else +- cpu_arch_isa_flags +- = cpu_flags_or (cpu_arch_isa_flags, +- cpu_arch[j].enable); +- (void) restore_line_pointer (e); +- demand_empty_rest_of_line (); +- return; +- } +- } +- +- if (startswith (string, ".no") && j >= ARRAY_SIZE (cpu_arch)) +- { +- /* Disable an ISA extension. */ +- for (j = 0; j < ARRAY_SIZE (cpu_arch); j++) +- if (cpu_arch[j].type == PROCESSOR_NONE +- && strcmp (string + 3, cpu_arch[j].name) == 0) ++ if (startswith (string, ".no") && j >= ARRAY_SIZE (cpu_arch)) ++ { ++ /* Disable an ISA extension. */ ++ for (j = 0; j < ARRAY_SIZE (cpu_arch); j++) ++ if (cpu_arch[j].type == PROCESSOR_NONE ++ && strcmp (string + 3, cpu_arch[j].name) == 0) ++ { ++ flags = cpu_flags_and_not (cpu_arch_flags, cpu_arch[j].disable); ++ if (!cpu_flags_equal (&flags, &cpu_arch_flags)) + { +- flags = cpu_flags_and_not (cpu_arch_flags, +- cpu_arch[j].disable); +- if (!cpu_flags_equal (&flags, &cpu_arch_flags)) +- { +- extend_cpu_sub_arch_name (string + 1); +- cpu_arch_flags = flags; +- cpu_arch_isa_flags = flags; +- } +- (void) restore_line_pointer (e); +- demand_empty_rest_of_line (); +- return; ++ extend_cpu_sub_arch_name (string + 1); ++ cpu_arch_flags = flags; ++ cpu_arch_isa_flags = flags; + } +- } +- +- if (j == ARRAY_SIZE (cpu_arch)) +- as_bad (_("no such architecture: `%s'"), string); + +- *input_line_pointer = e; ++ (void) restore_line_pointer (e); ++ demand_empty_rest_of_line (); ++ return; ++ } + } +- else +- as_bad (_("missing cpu architecture")); ++ ++ if (j == ARRAY_SIZE (cpu_arch)) ++ as_bad (_("no such architecture: `%s'"), string); ++ ++ *input_line_pointer = e; + + no_cond_jump_promotion = 0; + if (*input_line_pointer == ',' + && !is_end_of_line[(unsigned char) input_line_pointer[1]]) + { +- char *string; +- char e; +- + ++input_line_pointer; +- e = get_symbol_name (&string); ++ e = get_symbol_name (&s); ++ string = s; + + if (strcmp (string, "nojumps") == 0) + no_cond_jump_promotion = 1; +-- +2.43.0 + diff --git a/SOURCES/i686-AVX10.1-part-3.patch b/SOURCES/i686-AVX10.1-part-3.patch new file mode 100644 index 0000000..74afa3d --- /dev/null +++ b/SOURCES/i686-AVX10.1-part-3.patch @@ -0,0 +1,160 @@ +diff -rup fred/gas/config/tc-i386.c binutils-2.41/gas/config/tc-i386.c +--- fred/gas/config/tc-i386.c 2023-12-07 10:00:21.013005830 +0000 ++++ binutils-2.41/gas/config/tc-i386.c 2023-12-07 10:00:28.037015037 +0000 +@@ -1053,8 +1053,8 @@ static const arch_entry cpu_arch[] = + SUBARCH (xsavec, XSAVEC, ANY_XSAVEC, false), + SUBARCH (xsaves, XSAVES, ANY_XSAVES, false), + SUBARCH (aes, AES, ANY_AES, false), +- SUBARCH (pclmul, PCLMUL, ANY_PCLMUL, false), +- SUBARCH (clmul, PCLMUL, ANY_PCLMUL, true), ++ SUBARCH (pclmul, PCLMULQDQ, ANY_PCLMULQDQ, false), ++ SUBARCH (clmul, PCLMULQDQ, ANY_PCLMULQDQ, true), + SUBARCH (fsgsbase, FSGSBASE, FSGSBASE, false), + SUBARCH (rdrnd, RDRND, RDRND, false), + SUBARCH (f16c, F16C, ANY_F16C, false), +@@ -1861,7 +1861,7 @@ cpu_flags_match (const insn_template *t) + || (sse2avx && !i.prefix[DATA_PREFIX])) + && (!x.bitfield.cpuaes || cpu.bitfield.cpuaes) + && (!x.bitfield.cpugfni || cpu.bitfield.cpugfni) +- && (!x.bitfield.cpupclmul || cpu.bitfield.cpupclmul)) ++ && (!x.bitfield.cpupclmulqdq || cpu.bitfield.cpupclmulqdq)) + match |= CPU_FLAGS_ARCH_MATCH; + } + else if (x.bitfield.cpuavx512f) +diff -rup fred/opcodes/i386-gen.c binutils-2.41/opcodes/i386-gen.c +--- fred/opcodes/i386-gen.c 2023-12-07 10:00:22.092007244 +0000 ++++ binutils-2.41/opcodes/i386-gen.c 2023-12-07 10:00:28.038015039 +0000 +@@ -79,7 +79,7 @@ static const dependency isa_dependencies + { "AMDFAM10", + "K8|FISTTP|SSE4A|ABM|MONITOR" }, + { "BDVER1", +- "GENERIC64|FISTTP|Rdtscp|MONITOR|CX16|LAHF_SAHF|XOP|ABM|LWP|SVME|AES|PCLMUL|PRFCHW" }, ++ "GENERIC64|FISTTP|Rdtscp|MONITOR|CX16|LAHF_SAHF|XOP|ABM|LWP|SVME|AES|PCLMULQDQ|PRFCHW" }, + { "BDVER2", + "BDVER1|FMA|BMI|TBM|F16C" }, + { "BDVER3", +@@ -87,7 +87,7 @@ static const dependency isa_dependencies + { "BDVER4", + "BDVER3|AVX2|Movbe|BMI2|RdRnd|MWAITX" }, + { "ZNVER1", +- "GENERIC64|FISTTP|Rdtscp|MONITOR|CX16|LAHF_SAHF|AVX2|SSE4A|ABM|SVME|AES|PCLMUL|PRFCHW|FMA|BMI|F16C|Xsaveopt|FSGSBase|Movbe|BMI2|RdRnd|ADX|RdSeed|SMAP|SHA|XSAVEC|XSAVES|ClflushOpt|CLZERO|MWAITX" }, ++ "GENERIC64|FISTTP|Rdtscp|MONITOR|CX16|LAHF_SAHF|AVX2|SSE4A|ABM|SVME|AES|PCLMULQDQ|PRFCHW|FMA|BMI|F16C|Xsaveopt|FSGSBase|Movbe|BMI2|RdRnd|ADX|RdSeed|SMAP|SHA|XSAVEC|XSAVES|ClflushOpt|CLZERO|MWAITX" }, + { "ZNVER2", + "ZNVER1|CLWB|RDPID|RDPRU|MCOMMIT|WBNOINVD" }, + { "ZNVER3", +@@ -97,7 +97,7 @@ static const dependency isa_dependencies + { "BTVER1", + "GENERIC64|FISTTP|MONITOR|CX16|LAHF_SAHF|Rdtscp|SSSE3|SSE4A|ABM|PRFCHW|Clflush|FISTTP|SVME" }, + { "BTVER2", +- "BTVER1|AVX|BMI|F16C|AES|PCLMUL|Movbe|Xsaveopt|PRFCHW" }, ++ "BTVER1|AVX|BMI|F16C|AES|PCLMULQDQ|Movbe|Xsaveopt|PRFCHW" }, + { "286", + "186" }, + { "386", +@@ -132,7 +132,7 @@ static const dependency isa_dependencies + "XSAVE" }, + { "AES", + "SSE2" }, +- { "PCLMUL", ++ { "PCLMULQDQ", + "SSE2" }, + { "FMA", + "AVX" }, +@@ -307,7 +307,7 @@ static bitfield cpu_flags[] = + BITFIELD (Xsave), + BITFIELD (Xsaveopt), + BITFIELD (AES), +- BITFIELD (PCLMUL), ++ BITFIELD (PCLMULQDQ), + BITFIELD (FMA), + BITFIELD (FMA4), + BITFIELD (XOP), +diff -rup fred/opcodes/i386-init.h binutils-2.41/opcodes/i386-init.h +--- fred/opcodes/i386-init.h 2023-12-07 10:00:22.092007244 +0000 ++++ binutils-2.41/opcodes/i386-init.h 2023-12-07 10:00:51.260045479 +0000 +@@ -432,7 +432,7 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } + +-#define CPU_PCLMUL_FLAGS \ ++#define CPU_PCLMULQDQ_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +@@ -1791,7 +1791,7 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } + +-#define CPU_ANY_PCLMUL_FLAGS \ ++#define CPU_ANY_PCLMULQDQ_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +diff -rup fred/opcodes/i386-opc.h binutils-2.41/opcodes/i386-opc.h +--- fred/opcodes/i386-opc.h 2023-12-07 10:00:22.093007246 +0000 ++++ binutils-2.41/opcodes/i386-opc.h 2023-12-07 10:00:28.038015039 +0000 +@@ -121,8 +121,8 @@ enum + CpuXsaveopt, + /* AES support required */ + CpuAES, +- /* PCLMUL support required */ +- CpuPCLMUL, ++ /* PCLMULQDQ support required */ ++ CpuPCLMULQDQ, + /* FMA support required */ + CpuFMA, + /* FMA4 support required */ +@@ -374,7 +374,7 @@ typedef union i386_cpu_flags + unsigned int cpuxsave:1; + unsigned int cpuxsaveopt:1; + unsigned int cpuaes:1; +- unsigned int cpupclmul:1; ++ unsigned int cpupclmulqdq:1; + unsigned int cpufma:1; + unsigned int cpufma4:1; + unsigned int cpuxop:1; +diff -rup fred/opcodes/i386-opc.tbl binutils-2.41/opcodes/i386-opc.tbl +--- fred/opcodes/i386-opc.tbl 2023-12-07 10:00:22.093007246 +0000 ++++ binutils-2.41/opcodes/i386-opc.tbl 2023-12-07 10:00:28.038015039 +0000 +@@ -1448,15 +1448,15 @@ vaesdeclast, 0x66df, VAES, Modrm|Vex256| + vaesenc, 0x66dc, VAES, Modrm|Vex256|Space0F38|VexVVVV|VexWIG|NoSuf, { RegYMM|Unspecified|BaseIndex, RegYMM, RegYMM } + vaesenclast, 0x66dd, VAES, Modrm|Vex256|Space0F38|VexVVVV|VexWIG|NoSuf, { RegYMM|Unspecified|BaseIndex, RegYMM, RegYMM } + +-// PCLMUL ++// PCLMULQDQ + + + +-pclmulqdq, 0x660f3a44, PCLMUL, Modrm||NoSuf, { Imm8|Imm8S, RegXMM|Unspecified|BaseIndex, RegXMM } +-pclmullqlqdq, 0x660f3a44/0x00, PCLMUL, Modrm||NoSuf|ImmExt, { RegXMM|Unspecified|BaseIndex, RegXMM } +-pclmulhqlqdq, 0x660f3a44/0x01, PCLMUL, Modrm||NoSuf|ImmExt, { RegXMM|Unspecified|BaseIndex, RegXMM } +-pclmullqhqdq, 0x660f3a44/0x10, PCLMUL, Modrm||NoSuf|ImmExt, { RegXMM|Unspecified|BaseIndex, RegXMM } +-pclmulhqhqdq, 0x660f3a44/0x11, PCLMUL, Modrm||NoSuf|ImmExt, { RegXMM|Unspecified|BaseIndex, RegXMM } ++pclmulqdq, 0x660f3a44, PCLMULQDQ, Modrm||NoSuf, { Imm8|Imm8S, RegXMM|Unspecified|BaseIndex, RegXMM } ++pclmullqlqdq, 0x660f3a44/0x00, PCLMULQDQ, Modrm||NoSuf|ImmExt, { RegXMM|Unspecified|BaseIndex, RegXMM } ++pclmulhqlqdq, 0x660f3a44/0x01, PCLMULQDQ, Modrm||NoSuf|ImmExt, { RegXMM|Unspecified|BaseIndex, RegXMM } ++pclmullqhqdq, 0x660f3a44/0x10, PCLMULQDQ, Modrm||NoSuf|ImmExt, { RegXMM|Unspecified|BaseIndex, RegXMM } ++pclmulhqhqdq, 0x660f3a44/0x11, PCLMULQDQ, Modrm||NoSuf|ImmExt, { RegXMM|Unspecified|BaseIndex, RegXMM } + + // GFNI + +@@ -1771,13 +1771,13 @@ vaesenclast, 0x66dd, AVX|AES, Modrm|Vex| + vaesimc, 0x66db, AVX|AES, Modrm|Vex|Space0F38|VexWIG|NoSuf, { Unspecified|BaseIndex|RegXMM, RegXMM } + vaeskeygenassist, 0x66df, AVX|AES, Modrm|Vex|Space0F3A|VexWIG|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegXMM } + +-// PCLMUL + AVX ++// PCLMULQDQ + AVX + +-vpclmulqdq, 0x6644, AVX|PCLMUL, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vpclmullqlqdq, 0x6644/0x00, AVX|PCLMUL, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vpclmulhqlqdq, 0x6644/0x01, AVX|PCLMUL, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vpclmullqhqdq, 0x6644/0x10, AVX|PCLMUL, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +-vpclmulhqhqdq, 0x6644/0x11, AVX|PCLMUL, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vpclmulqdq, 0x6644, AVX|PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vpclmullqlqdq, 0x6644/0x00, AVX|PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vpclmulhqlqdq, 0x6644/0x01, AVX|PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vpclmullqhqdq, 0x6644/0x10, AVX|PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } ++vpclmulhqhqdq, 0x6644/0x11, AVX|PCLMULQDQ, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } + + // GFNI + AVX + diff --git a/SOURCES/i686-AVX10.1-part-4.patch b/SOURCES/i686-AVX10.1-part-4.patch new file mode 100644 index 0000000..2ed1a6e --- /dev/null +++ b/SOURCES/i686-AVX10.1-part-4.patch @@ -0,0 +1,1121 @@ +diff -rup jim/opcodes/i386-gen.c binutils-2.41/opcodes/i386-gen.c +--- jim/opcodes/i386-gen.c 2023-12-07 10:01:42.110102643 +0000 ++++ binutils-2.41/opcodes/i386-gen.c 2023-12-07 10:02:04.461126944 +0000 +@@ -221,9 +221,9 @@ static const dependency isa_dependencies + { "GFNI", + "SSE2" }, + { "VAES", +- "AVX2" }, ++ "AVX2|AES" }, + { "VPCLMULQDQ", +- "AVX2" }, ++ "AVX2|PCLMULQDQ" }, + { "SEV_ES", + "SVME" }, + { "SNP", +@@ -699,7 +699,8 @@ add_isa_dependencies (bitfield *flags, c + unsigned int i; + char *str = NULL; + const char *isa = f; +- bool is_isa = false, is_avx = false; ++ static bool is_avx; ++ bool is_isa = false, orig_is_avx = is_avx; + + /* Need to find base entry for references to auxiliary ones. */ + if (strchr (f, ':')) +@@ -719,7 +720,7 @@ add_isa_dependencies (bitfield *flags, c + && reverse > Cpu686) + isa_reverse_deps[i][reverse] = 1; + is_isa = true; +- if (i == CpuAVX || i == CpuXOP) ++ if (i == CpuAVX || i == CpuXOP || i == CpuVAES || i == CpuVPCLMULQDQ) + is_avx = true; + break; + } +@@ -727,7 +728,10 @@ add_isa_dependencies (bitfield *flags, c + + /* Do not turn off dependencies. */ + if (is_isa && !value) +- return; ++ { ++ is_avx = orig_is_avx; ++ return; ++ } + + for (i = 0; i < ARRAY_SIZE (isa_dependencies); ++i) + if (strcasecmp (isa_dependencies[i].name, f) == 0) +@@ -752,11 +756,14 @@ add_isa_dependencies (bitfield *flags, c + if (reverse < ARRAY_SIZE (isa_reverse_deps[0])) + isa_reverse_deps[reverse][reverse] = 1; + ++ is_avx = orig_is_avx; + return; + } + + if (!is_isa) + fail ("unknown bitfield: %s\n", f); ++ ++ is_avx = orig_is_avx; + } + + static void +diff -rup jim/opcodes/i386-init.h binutils-2.41/opcodes/i386-init.h +--- jim/opcodes/i386-init.h 2023-12-07 10:01:42.110102643 +0000 ++++ binutils-2.41/opcodes/i386-init.h 2023-12-07 10:11:08.420778266 +0000 +@@ -1056,7 +1056,7 @@ + #define CPU_VAES_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ + 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ +@@ -1065,7 +1065,7 @@ + #define CPU_VPCLMULQDQ_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ + 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ +@@ -1788,7 +1788,7 @@ + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_PCLMULQDQ_FLAGS \ +@@ -1797,7 +1797,7 @@ + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } + + #define CPU_ANY_FMA_FLAGS \ +diff -rup jim/opcodes/i386-opc.tbl binutils-2.41/opcodes/i386-opc.tbl +--- jim/opcodes/i386-opc.tbl 2023-12-07 10:01:42.110102643 +0000 ++++ binutils-2.41/opcodes/i386-opc.tbl 2023-12-07 10:02:04.462126945 +0000 +@@ -1441,13 +1441,6 @@ aesenclast, 0x660f38dd, AE + aesimc, 0x660f38db, AES, Modrm||NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } + aeskeygenassist, 0x660f3adf, AES, Modrm||NoSuf, { Imm8, RegXMM|Unspecified|BaseIndex, RegXMM } + +-// VAES +- +-vaesdec, 0x66de, VAES, Modrm|Vex256|Space0F38|VexVVVV|VexWIG|NoSuf, { RegYMM|Unspecified|BaseIndex, RegYMM, RegYMM } +-vaesdeclast, 0x66df, VAES, Modrm|Vex256|Space0F38|VexVVVV|VexWIG|NoSuf, { RegYMM|Unspecified|BaseIndex, RegYMM, RegYMM } +-vaesenc, 0x66dc, VAES, Modrm|Vex256|Space0F38|VexVVVV|VexWIG|NoSuf, { RegYMM|Unspecified|BaseIndex, RegYMM, RegYMM } +-vaesenclast, 0x66dd, VAES, Modrm|Vex256|Space0F38|VexVVVV|VexWIG|NoSuf, { RegYMM|Unspecified|BaseIndex, RegYMM, RegYMM } +- + // PCLMULQDQ + + +@@ -2043,13 +2036,22 @@ sha256rnds2, 0xf38cb, SHA, Modrm|NoSuf, + sha256msg1, 0xf38cc, SHA, Modrm|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } + sha256msg2, 0xf38cd, SHA, Modrm|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } + ++// VAES ++ ++vaesdec, 0x66de, VAES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++vaesdeclast, 0x66df, VAES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++vaesenc, 0x66dc, VAES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++vaesenclast, 0x66dd, VAES, Modrm|Vex|Space0F38|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } ++ ++// VAES instructions end ++ + // VPCLMULQDQ instructions + +-vpclmulqdq, 0x6644, VPCLMULQDQ, Modrm|Vex256|Space0F3A|VexWIG|VexVVVV|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM } +-vpclmullqlqdq, 0x6644/0x00, VPCLMULQDQ, Modrm|Vex256|Space0F3A|VexWIG|VexVVVV|NoSuf|ImmExt, { Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM } +-vpclmulhqlqdq, 0x6644/0x01, VPCLMULQDQ, Modrm|Vex256|Space0F3A|VexWIG|VexVVVV|NoSuf|ImmExt, { Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM } +-vpclmullqhqdq, 0x6644/0x10, VPCLMULQDQ, Modrm|Vex256|Space0F3A|VexWIG|VexVVVV|NoSuf|ImmExt, { Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM } +-vpclmulhqhqdq, 0x6644/0x11, VPCLMULQDQ, Modrm|Vex256|Space0F3A|VexWIG|VexVVVV|NoSuf|ImmExt, { Unspecified|BaseIndex|RegYMM, RegYMM, RegYMM } ++vpclmulqdq, 0x6644, VPCLMULQDQ, Modrm|Vex|Space0F3A|VexWIG|VexVVVV|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vpclmullqlqdq, 0x6644/0x00, VPCLMULQDQ, Modrm|Vex|Space0F3A|VexWIG|VexVVVV|CheckOperandSize|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vpclmulhqlqdq, 0x6644/0x01, VPCLMULQDQ, Modrm|Vex|Space0F3A|VexWIG|VexVVVV|CheckOperandSize|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vpclmullqhqdq, 0x6644/0x10, VPCLMULQDQ, Modrm|Vex|Space0F3A|VexWIG|VexVVVV|CheckOperandSize|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } ++vpclmulhqhqdq, 0x6644/0x11, VPCLMULQDQ, Modrm|Vex|Space0F3A|VexWIG|VexVVVV|CheckOperandSize|NoSuf|ImmExt, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } + + // VPCLMULQDQ instructions end + +diff -rup jim/opcodes/i386-tbl.h binutils-2.41/opcodes/i386-tbl.h +--- jim/opcodes/i386-tbl.h 2023-12-07 10:01:42.107102639 +0000 ++++ binutils-2.41/opcodes/i386-tbl.h 2023-12-07 10:11:08.420778266 +0000 +@@ -19564,198 +19564,6 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vaesdec, 0xde, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, +- { MN_vaesdec, 0xde, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vaesdec, 0xde, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, +- { MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vaesenc, 0xdc, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, +- { MN_vaesenc, 0xdc, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vaesenc, 0xdc, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, +- { MN_vaesenclast, 0xdd, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, +- { MN_vaesenclast, 0xdd, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0 } } } }, +- { MN_vaesenclast, 0xdd, 3, SPACE_0F38, None, +- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, +- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, +- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 1, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } }, +- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 1, 1, 1, 0, 0, 0 } } } }, + { MN_pclmulqdq, 0x44, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +@@ -35894,6 +35702,198 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0 } } } }, ++ { MN_vaesdec, 0xde, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_vaesdec, 0xde, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vaesdec, 0xde, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 1, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 1, 0, 0, 0 } } } }, ++ { MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 1, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 1, 0, 0, 0 } } } }, ++ { MN_vaesenc, 0xdc, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_vaesenc, 0xdc, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vaesenc, 0xdc, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 1, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 1, 0, 0, 0 } } } }, ++ { MN_vaesenclast, 0xdd, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 0, 0, 0, 0, 0 } } } }, ++ { MN_vaesenclast, 0xdd, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 0, 0, 0, 0 } } } }, ++ { MN_vaesenclast, 0xdd, 3, SPACE_0F38, None, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, ++ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, ++ 1, 1, 1, 0, 1, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 1, 0, 0, 0 } }, ++ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaesimc, 0xdb, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +@@ -35943,8 +35943,8 @@ static const insn_template i386_optab[] + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmulqdq, 0x44, 4, SPACE_0F3A, None, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35955,11 +35955,11 @@ static const insn_template i386_optab[] + { { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, ++ 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } }, ++ 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpclmulqdq, 0x44, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, +@@ -35995,8 +35995,8 @@ static const insn_template i386_optab[] + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmullqlqdq, 0x44, 3, SPACE_0F3A, 0x00, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 2, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36005,11 +36005,11 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, ++ 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } }, ++ 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpclmullqlqdq, 0x44, 3, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, +@@ -36043,8 +36043,8 @@ static const insn_template i386_optab[] + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmulhqlqdq, 0x44, 3, SPACE_0F3A, 0x01, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 2, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36053,11 +36053,11 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, ++ 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } }, ++ 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpclmulhqlqdq, 0x44, 3, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, +@@ -36091,8 +36091,8 @@ static const insn_template i386_optab[] + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmullqhqdq, 0x44, 3, SPACE_0F3A, 0x10, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 2, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36101,11 +36101,11 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, ++ 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } }, ++ 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpclmullqhqdq, 0x44, 3, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, +@@ -36139,8 +36139,8 @@ static const insn_template i386_optab[] + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmulhqhqdq, 0x44, 3, SPACE_0F3A, 0x11, +- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 2, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36149,11 +36149,11 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 0 } }, ++ 1, 1, 0, 0, 1, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } }, ++ 1, 1, 0, 0, 0, 0 } }, + { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0 } } } }, ++ 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpclmulhqhqdq, 0x44, 3, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, +@@ -56744,9 +56744,11 @@ static const insn_template *const i386_o + i386_optab + 1450, + i386_optab + 1452, + i386_optab + 1454, +- i386_optab + 1457, ++ i386_optab + 1456, ++ i386_optab + 1458, + i386_optab + 1460, +- i386_optab + 1463, ++ i386_optab + 1462, ++ i386_optab + 1464, + i386_optab + 1466, + i386_optab + 1468, + i386_optab + 1470, +@@ -56754,24 +56756,24 @@ static const insn_template *const i386_o + i386_optab + 1474, + i386_optab + 1476, + i386_optab + 1478, ++ i386_optab + 1479, + i386_optab + 1480, + i386_optab + 1482, + i386_optab + 1484, + i386_optab + 1486, + i386_optab + 1488, ++ i386_optab + 1489, + i386_optab + 1490, + i386_optab + 1491, + i386_optab + 1492, +- i386_optab + 1494, ++ i386_optab + 1493, + i386_optab + 1496, +- i386_optab + 1498, +- i386_optab + 1500, ++ i386_optab + 1499, + i386_optab + 1501, +- i386_optab + 1502, + i386_optab + 1503, +- i386_optab + 1504, + i386_optab + 1505, +- i386_optab + 1508, ++ i386_optab + 1507, ++ i386_optab + 1509, + i386_optab + 1511, + i386_optab + 1513, + i386_optab + 1515, +@@ -56957,50 +56959,50 @@ static const insn_template *const i386_o + i386_optab + 1875, + i386_optab + 1877, + i386_optab + 1879, +- i386_optab + 1881, +- i386_optab + 1883, +- i386_optab + 1885, +- i386_optab + 1887, +- i386_optab + 1889, ++ i386_optab + 1884, ++ i386_optab + 1886, + i386_optab + 1891, +- i386_optab + 1896, +- i386_optab + 1898, +- i386_optab + 1903, +- i386_optab + 1905, +- i386_optab + 1907, +- i386_optab + 1912, +- i386_optab + 1914, +- i386_optab + 1916, +- i386_optab + 1918, +- i386_optab + 1923, +- i386_optab + 1925, ++ i386_optab + 1893, ++ i386_optab + 1895, ++ i386_optab + 1900, ++ i386_optab + 1902, ++ i386_optab + 1904, ++ i386_optab + 1906, ++ i386_optab + 1911, ++ i386_optab + 1913, ++ i386_optab + 1915, ++ i386_optab + 1917, ++ i386_optab + 1921, + i386_optab + 1927, + i386_optab + 1929, +- i386_optab + 1933, +- i386_optab + 1939, +- i386_optab + 1941, ++ i386_optab + 1934, ++ i386_optab + 1936, ++ i386_optab + 1938, ++ i386_optab + 1940, ++ i386_optab + 1942, ++ i386_optab + 1944, + i386_optab + 1946, + i386_optab + 1948, + i386_optab + 1950, + i386_optab + 1952, ++ i386_optab + 1953, + i386_optab + 1954, +- i386_optab + 1956, +- i386_optab + 1958, ++ i386_optab + 1955, ++ i386_optab + 1959, + i386_optab + 1960, ++ i386_optab + 1961, + i386_optab + 1962, ++ i386_optab + 1963, + i386_optab + 1964, +- i386_optab + 1965, + i386_optab + 1966, + i386_optab + 1967, ++ i386_optab + 1968, ++ i386_optab + 1969, + i386_optab + 1971, +- i386_optab + 1972, + i386_optab + 1973, +- i386_optab + 1974, + i386_optab + 1975, +- i386_optab + 1976, +- i386_optab + 1978, ++ i386_optab + 1977, + i386_optab + 1979, +- i386_optab + 1980, + i386_optab + 1981, + i386_optab + 1983, + i386_optab + 1985, +@@ -57008,35 +57010,35 @@ static const insn_template *const i386_o + i386_optab + 1989, + i386_optab + 1991, + i386_optab + 1993, +- i386_optab + 1995, +- i386_optab + 1997, +- i386_optab + 1999, ++ i386_optab + 1996, ++ i386_optab + 2000, + i386_optab + 2001, +- i386_optab + 2003, +- i386_optab + 2005, ++ i386_optab + 2002, ++ i386_optab + 2004, + i386_optab + 2008, + i386_optab + 2012, +- i386_optab + 2013, + i386_optab + 2014, +- i386_optab + 2016, +- i386_optab + 2020, ++ i386_optab + 2018, ++ i386_optab + 2022, ++ i386_optab + 2023, + i386_optab + 2024, + i386_optab + 2026, ++ i386_optab + 2028, + i386_optab + 2030, +- i386_optab + 2034, +- i386_optab + 2035, +- i386_optab + 2036, ++ i386_optab + 2032, + i386_optab + 2038, +- i386_optab + 2040, + i386_optab + 2042, +- i386_optab + 2044, ++ i386_optab + 2046, ++ i386_optab + 2048, + i386_optab + 2050, ++ i386_optab + 2052, + i386_optab + 2054, +- i386_optab + 2058, +- i386_optab + 2060, +- i386_optab + 2062, +- i386_optab + 2064, +- i386_optab + 2066, ++ i386_optab + 2055, ++ i386_optab + 2057, ++ i386_optab + 2059, ++ i386_optab + 2061, ++ i386_optab + 2063, ++ i386_optab + 2065, + i386_optab + 2067, + i386_optab + 2069, + i386_optab + 2071, +@@ -57054,47 +57056,47 @@ static const insn_template *const i386_o + i386_optab + 2095, + i386_optab + 2097, + i386_optab + 2099, ++ i386_optab + 2100, + i386_optab + 2101, + i386_optab + 2103, + i386_optab + 2105, ++ i386_optab + 2106, + i386_optab + 2107, +- i386_optab + 2109, +- i386_optab + 2111, +- i386_optab + 2112, ++ i386_optab + 2110, + i386_optab + 2113, +- i386_optab + 2115, +- i386_optab + 2117, +- i386_optab + 2118, ++ i386_optab + 2116, + i386_optab + 2119, +- i386_optab + 2122, ++ i386_optab + 2121, ++ i386_optab + 2123, + i386_optab + 2125, +- i386_optab + 2128, ++ i386_optab + 2127, ++ i386_optab + 2129, + i386_optab + 2131, ++ i386_optab + 2132, + i386_optab + 2133, +- i386_optab + 2135, +- i386_optab + 2137, +- i386_optab + 2139, +- i386_optab + 2141, +- i386_optab + 2143, ++ i386_optab + 2134, ++ i386_optab + 2138, ++ i386_optab + 2142, + i386_optab + 2144, +- i386_optab + 2145, + i386_optab + 2146, +- i386_optab + 2150, +- i386_optab + 2154, ++ i386_optab + 2152, + i386_optab + 2156, ++ i386_optab + 2157, + i386_optab + 2158, +- i386_optab + 2164, +- i386_optab + 2168, ++ i386_optab + 2159, ++ i386_optab + 2160, ++ i386_optab + 2161, ++ i386_optab + 2162, ++ i386_optab + 2163, ++ i386_optab + 2167, + i386_optab + 2169, +- i386_optab + 2170, + i386_optab + 2171, +- i386_optab + 2172, +- i386_optab + 2173, +- i386_optab + 2174, + i386_optab + 2175, ++ i386_optab + 2177, + i386_optab + 2179, + i386_optab + 2181, + i386_optab + 2183, ++ i386_optab + 2185, + i386_optab + 2187, + i386_optab + 2189, + i386_optab + 2191, +@@ -57104,127 +57106,125 @@ static const insn_template *const i386_o + i386_optab + 2199, + i386_optab + 2201, + i386_optab + 2203, +- i386_optab + 2205, +- i386_optab + 2207, ++ i386_optab + 2204, + i386_optab + 2209, +- i386_optab + 2211, +- i386_optab + 2213, +- i386_optab + 2215, +- i386_optab + 2216, +- i386_optab + 2221, +- i386_optab + 2226, +- i386_optab + 2231, +- i386_optab + 2236, +- i386_optab + 2241, +- i386_optab + 2246, +- i386_optab + 2251, +- i386_optab + 2256, +- i386_optab + 2261, ++ i386_optab + 2214, ++ i386_optab + 2219, ++ i386_optab + 2224, ++ i386_optab + 2229, ++ i386_optab + 2234, ++ i386_optab + 2239, ++ i386_optab + 2244, ++ i386_optab + 2249, ++ i386_optab + 2254, ++ i386_optab + 2259, ++ i386_optab + 2264, + i386_optab + 2266, +- i386_optab + 2271, ++ i386_optab + 2268, ++ i386_optab + 2270, ++ i386_optab + 2272, ++ i386_optab + 2274, + i386_optab + 2276, + i386_optab + 2278, +- i386_optab + 2280, +- i386_optab + 2282, +- i386_optab + 2284, +- i386_optab + 2286, +- i386_optab + 2288, ++ i386_optab + 2279, ++ i386_optab + 2281, ++ i386_optab + 2283, ++ i386_optab + 2285, ++ i386_optab + 2287, ++ i386_optab + 2289, + i386_optab + 2290, + i386_optab + 2291, +- i386_optab + 2293, +- i386_optab + 2295, +- i386_optab + 2297, +- i386_optab + 2299, +- i386_optab + 2301, ++ i386_optab + 2292, ++ i386_optab + 2296, ++ i386_optab + 2300, + i386_optab + 2302, +- i386_optab + 2303, +- i386_optab + 2304, +- i386_optab + 2308, +- i386_optab + 2312, ++ i386_optab + 2306, ++ i386_optab + 2310, + i386_optab + 2314, + i386_optab + 2318, + i386_optab + 2322, +- i386_optab + 2326, ++ i386_optab + 2324, ++ i386_optab + 2328, + i386_optab + 2330, ++ i386_optab + 2332, + i386_optab + 2334, + i386_optab + 2336, ++ i386_optab + 2338, + i386_optab + 2340, + i386_optab + 2342, + i386_optab + 2344, +- i386_optab + 2346, +- i386_optab + 2348, +- i386_optab + 2350, +- i386_optab + 2352, +- i386_optab + 2354, +- i386_optab + 2356, ++ i386_optab + 2345, ++ i386_optab + 2347, ++ i386_optab + 2349, ++ i386_optab + 2351, ++ i386_optab + 2353, ++ i386_optab + 2355, + i386_optab + 2357, + i386_optab + 2359, + i386_optab + 2361, ++ i386_optab + 2362, + i386_optab + 2363, ++ i386_optab + 2364, + i386_optab + 2365, ++ i386_optab + 2366, + i386_optab + 2367, ++ i386_optab + 2368, + i386_optab + 2369, +- i386_optab + 2371, +- i386_optab + 2373, ++ i386_optab + 2370, ++ i386_optab + 2372, + i386_optab + 2374, +- i386_optab + 2375, + i386_optab + 2376, +- i386_optab + 2377, + i386_optab + 2378, +- i386_optab + 2379, + i386_optab + 2380, +- i386_optab + 2381, + i386_optab + 2382, +- i386_optab + 2384, +- i386_optab + 2386, +- i386_optab + 2388, +- i386_optab + 2390, ++ i386_optab + 2383, ++ i386_optab + 2385, ++ i386_optab + 2387, ++ i386_optab + 2389, ++ i386_optab + 2391, + i386_optab + 2392, +- i386_optab + 2394, ++ i386_optab + 2393, + i386_optab + 2395, + i386_optab + 2397, + i386_optab + 2399, + i386_optab + 2401, + i386_optab + 2403, +- i386_optab + 2404, + i386_optab + 2405, + i386_optab + 2407, + i386_optab + 2409, ++ i386_optab + 2410, + i386_optab + 2411, ++ i386_optab + 2412, + i386_optab + 2413, +- i386_optab + 2415, +- i386_optab + 2417, ++ i386_optab + 2416, + i386_optab + 2419, +- i386_optab + 2421, + i386_optab + 2422, +- i386_optab + 2423, +- i386_optab + 2424, + i386_optab + 2425, ++ i386_optab + 2426, + i386_optab + 2428, + i386_optab + 2431, +- i386_optab + 2434, ++ i386_optab + 2433, ++ i386_optab + 2436, + i386_optab + 2437, + i386_optab + 2438, + i386_optab + 2440, +- i386_optab + 2443, +- i386_optab + 2445, ++ i386_optab + 2442, ++ i386_optab + 2444, ++ i386_optab + 2446, + i386_optab + 2448, +- i386_optab + 2449, + i386_optab + 2450, + i386_optab + 2452, +- i386_optab + 2454, +- i386_optab + 2456, +- i386_optab + 2458, ++ i386_optab + 2455, + i386_optab + 2460, +- i386_optab + 2462, +- i386_optab + 2464, +- i386_optab + 2467, +- i386_optab + 2472, +- i386_optab + 2477, +- i386_optab + 2482, +- i386_optab + 2487, +- i386_optab + 2490, +- i386_optab + 2495, ++ i386_optab + 2465, ++ i386_optab + 2470, ++ i386_optab + 2475, ++ i386_optab + 2478, ++ i386_optab + 2483, ++ i386_optab + 2488, ++ i386_optab + 2491, ++ i386_optab + 2494, ++ i386_optab + 2497, + i386_optab + 2500, + i386_optab + 2501, + i386_optab + 2502, +Only in binutils-2.41/opcodes: i386-tbl.h.rej +Only in binutils-2.41/zlib: autom4te.cache diff --git a/SOURCES/i686-AVX10.1-part-5.patch b/SOURCES/i686-AVX10.1-part-5.patch new file mode 100644 index 0000000..381a939 --- /dev/null +++ b/SOURCES/i686-AVX10.1-part-5.patch @@ -0,0 +1,3092 @@ +From 2548c261604611b5c72f5a28ae54b6d9a15617ac Mon Sep 17 00:00:00 2001 +From: Jan Beulich +Date: Thu, 14 Sep 2023 08:42:43 +0200 +Subject: [PATCH] x86: support AVX10.1/512 + +Since this is merely a re-branding of certain AVX512* features, there's +little code to be added. + +The main aspect here are new testcases. In order to be able to re-use +some of the existing testcases, several of them need their start symbols +adjusted. Note that 256- and 128-bit tests want adding here, as these +need to work right away. Subsequently they'll gain vector length +constraints. + +Since it was missing and is wanted here, also add an AVX512VL+VPOPCNTDQ +test. +--- + gas/config/tc-i386.c | 1 + + gas/doc/c-i386.texi | 3 +- + gas/testsuite/gas/i386/avx10.1-256-1.d | 4 + + gas/testsuite/gas/i386/avx10.1-256-1.s | 3 + + gas/testsuite/gas/i386/avx10.1-256-2.d | 4 + + gas/testsuite/gas/i386/avx10.1-256-2.s | 3 + + gas/testsuite/gas/i386/avx10.1-256-3.d | 4 + + gas/testsuite/gas/i386/avx10.1-256-3.s | 3 + + gas/testsuite/gas/i386/avx10.1-256-4.d | 4 + + gas/testsuite/gas/i386/avx10.1-256-4.s | 3 + + gas/testsuite/gas/i386/avx10.1-256-5.d | 1077 +++++++++++++++++ + gas/testsuite/gas/i386/avx10.1-256-5.s | 25 + + gas/testsuite/gas/i386/avx10.1-256-gfni.d | 4 + + gas/testsuite/gas/i386/avx10.1-256-gfni.s | 4 + + gas/testsuite/gas/i386/avx10.1-256-vaes.d | 4 + + gas/testsuite/gas/i386/avx10.1-256-vaes.s | 4 + + .../gas/i386/avx10.1-256-vpclmulqdq.d | 4 + + .../gas/i386/avx10.1-256-vpclmulqdq.s | 4 + + gas/testsuite/gas/i386/avx10.1-512-1.d | 4 + + gas/testsuite/gas/i386/avx10.1-512-1.s | 3 + + gas/testsuite/gas/i386/avx10.1-512-2.d | 4 + + gas/testsuite/gas/i386/avx10.1-512-2.s | 3 + + gas/testsuite/gas/i386/avx10.1-512-3.d | 4 + + gas/testsuite/gas/i386/avx10.1-512-3.s | 3 + + gas/testsuite/gas/i386/avx10.1-512-4.d | 4 + + gas/testsuite/gas/i386/avx10.1-512-4.s | 3 + + gas/testsuite/gas/i386/avx10.1-512-5.d | 654 ++++++++++ + gas/testsuite/gas/i386/avx10.1-512-5.s | 25 + + gas/testsuite/gas/i386/avx10.1-512-gfni.d | 4 + + gas/testsuite/gas/i386/avx10.1-512-gfni.s | 4 + + gas/testsuite/gas/i386/avx10.1-512-vaes.d | 4 + + gas/testsuite/gas/i386/avx10.1-512-vaes.s | 4 + + .../gas/i386/avx10.1-512-vpclmulqdq.d | 4 + + .../gas/i386/avx10.1-512-vpclmulqdq.s | 4 + + gas/testsuite/gas/i386/avx512_bf16.d | 2 +- + gas/testsuite/gas/i386/avx512_bf16.s | 2 +- + gas/testsuite/gas/i386/avx512_bf16_vl.d | 2 +- + gas/testsuite/gas/i386/avx512_bf16_vl.s | 2 +- + .../gas/i386/avx512_vpopcntdq-intel.d | 2 +- + gas/testsuite/gas/i386/avx512_vpopcntdq.d | 2 +- + gas/testsuite/gas/i386/avx512_vpopcntdq.s | 2 +- + gas/testsuite/gas/i386/avx512_vpopcntdq_vl.d | 69 ++ + gas/testsuite/gas/i386/avx512_vpopcntdq_vl.s | 64 + + gas/testsuite/gas/i386/avx512bitalg-intel.d | 2 +- + gas/testsuite/gas/i386/avx512bitalg.d | 2 +- + gas/testsuite/gas/i386/avx512bitalg.s | 2 +- + .../gas/i386/avx512bitalg_vl-intel.d | 2 +- + gas/testsuite/gas/i386/avx512bitalg_vl.d | 2 +- + gas/testsuite/gas/i386/avx512bitalg_vl.s | 2 +- + gas/testsuite/gas/i386/avx512cd-intel.d | 2 +- + gas/testsuite/gas/i386/avx512cd.d | 2 +- + gas/testsuite/gas/i386/avx512cd.s | 2 +- + gas/testsuite/gas/i386/avx512cd_vl-intel.d | 2 +- + gas/testsuite/gas/i386/avx512cd_vl.d | 2 +- + gas/testsuite/gas/i386/avx512cd_vl.s | 2 +- + gas/testsuite/gas/i386/avx512ifma-intel.d | 2 +- + gas/testsuite/gas/i386/avx512ifma.d | 2 +- + gas/testsuite/gas/i386/avx512ifma.s | 2 +- + gas/testsuite/gas/i386/avx512ifma_vl-intel.d | 2 +- + gas/testsuite/gas/i386/avx512ifma_vl.d | 2 +- + gas/testsuite/gas/i386/avx512ifma_vl.s | 2 +- + gas/testsuite/gas/i386/avx512vbmi-intel.d | 2 +- + gas/testsuite/gas/i386/avx512vbmi.d | 2 +- + gas/testsuite/gas/i386/avx512vbmi.s | 2 +- + gas/testsuite/gas/i386/avx512vbmi2-intel.d | 2 +- + gas/testsuite/gas/i386/avx512vbmi2.d | 2 +- + gas/testsuite/gas/i386/avx512vbmi2.s | 2 +- + gas/testsuite/gas/i386/avx512vbmi2_vl-intel.d | 2 +- + gas/testsuite/gas/i386/avx512vbmi2_vl.d | 2 +- + gas/testsuite/gas/i386/avx512vbmi2_vl.s | 2 +- + gas/testsuite/gas/i386/avx512vbmi_vl-intel.d | 2 +- + gas/testsuite/gas/i386/avx512vbmi_vl.d | 2 +- + gas/testsuite/gas/i386/avx512vbmi_vl.s | 2 +- + gas/testsuite/gas/i386/avx512vnni-intel.d | 2 +- + gas/testsuite/gas/i386/avx512vnni.d | 2 +- + gas/testsuite/gas/i386/avx512vnni.s | 2 +- + gas/testsuite/gas/i386/avx512vnni_vl-intel.d | 2 +- + gas/testsuite/gas/i386/avx512vnni_vl.d | 2 +- + gas/testsuite/gas/i386/avx512vnni_vl.s | 2 +- + gas/testsuite/gas/i386/i386.exp | 17 + + gas/testsuite/gas/i386/noavx512-1.l | 43 + + gas/testsuite/gas/i386/noavx512-1.s | 2 +- + opcodes/i386-gen.c | 3 + + opcodes/i386-init.h | 10 + + 84 files changed, 2138 insertions(+), 45 deletions(-) + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-1.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-1.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-2.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-2.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-3.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-3.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-4.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-4.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-5.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-5.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-gfni.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-gfni.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-vaes.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-vaes.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-1.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-1.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-2.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-2.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-3.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-3.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-4.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-4.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-5.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-5.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-gfni.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-gfni.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-vaes.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-vaes.s + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-vpclmulqdq.d + create mode 100644 gas/testsuite/gas/i386/avx10.1-512-vpclmulqdq.s + create mode 100644 gas/testsuite/gas/i386/avx512_vpopcntdq_vl.d + create mode 100644 gas/testsuite/gas/i386/avx512_vpopcntdq_vl.s + +diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c +index ecf886cfee9..21b6149bd05 100644 +--- a/gas/config/tc-i386.c ++++ b/gas/config/tc-i386.c +@@ -1156,6 +1156,7 @@ static const arch_entry cpu_arch[] = + SUBARCH (rmpquery, RMPQUERY, ANY_RMPQUERY, false), + SUBARCH (fred, FRED, ANY_FRED, false), + SUBARCH (lkgs, LKGS, ANY_LKGS, false), ++ SUBARCH (avx10.1, AVX10_1, ANY_AVX512F, false), + }; + + #undef SUBARCH +diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi +index dd06282a5a3..d60f52dbf36 100644 +--- a/gas/doc/c-i386.texi ++++ b/gas/doc/c-i386.texi +@@ -212,6 +212,7 @@ accept various extension mnemonics. For example, + @code{rao_int}, + @code{fred}, + @code{lkgs}, ++@code{avx10.1}, + @code{amx_int8}, + @code{amx_bf16}, + @code{amx_fp16}, +@@ -1636,7 +1637,7 @@ supported on the CPU specified. The choices for @var{cpu_type} are: + @item @samp{.avx512vbmi} @tab @samp{.avx512_4fmaps} @tab @samp{.avx512_4vnniw} + @item @samp{.avx512_vpopcntdq} @tab @samp{.avx512_vbmi2} @tab @samp{.avx512_vnni} + @item @samp{.avx512_bitalg} @tab @samp{.avx512_bf16} @tab @samp{.avx512_vp2intersect} +-@item @samp{.tdx} @tab @samp{.avx_vnni} @tab @samp{.avx512_fp16} ++@item @samp{.tdx} @tab @samp{.avx_vnni} @tab @samp{.avx512_fp16} @tab @samp{.avx10.1} + @item @samp{.clwb} @tab @samp{.rdpid} @tab @samp{.ptwrite} @tab @samp{.ibt} + @item @samp{.prefetchi} @tab @samp{.avx_ifma} @tab @samp{.avx_vnni_int8} + @item @samp{.cmpccxadd} @tab @samp{.wrmsrns} @tab @samp{.msrlist} +diff --git a/gas/testsuite/gas/i386/avx10.1-256-1.d b/gas/testsuite/gas/i386/avx10.1-256-1.d +new file mode 100644 +index 00000000000..8f93353f3ae +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-1.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/256 (part 1) ++#dump: avx512f_vl.d +diff --git a/gas/testsuite/gas/i386/avx10.1-256-1.s b/gas/testsuite/gas/i386/avx10.1-256-1.s +new file mode 100644 +index 00000000000..862bf305795 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-1.s +@@ -0,0 +1,3 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .include "avx512f_vl.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-256-2.d b/gas/testsuite/gas/i386/avx10.1-256-2.d +new file mode 100644 +index 00000000000..1be81887feb +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-2.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/256 (part 2) ++#dump: avx512bw_vl.d +diff --git a/gas/testsuite/gas/i386/avx10.1-256-2.s b/gas/testsuite/gas/i386/avx10.1-256-2.s +new file mode 100644 +index 00000000000..26dfba9dcd1 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-2.s +@@ -0,0 +1,3 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .include "avx512bw_vl.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-256-3.d b/gas/testsuite/gas/i386/avx10.1-256-3.d +new file mode 100644 +index 00000000000..fbad9610606 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-3.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/256 (part 3) ++#dump: avx512dq_vl.d +diff --git a/gas/testsuite/gas/i386/avx10.1-256-3.s b/gas/testsuite/gas/i386/avx10.1-256-3.s +new file mode 100644 +index 00000000000..6cadba32bf2 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-3.s +@@ -0,0 +1,3 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .include "avx512dq_vl.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-256-4.d b/gas/testsuite/gas/i386/avx10.1-256-4.d +new file mode 100644 +index 00000000000..c5319b55719 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-4.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/256 (part 4) ++#dump: avx512_fp16_vl.d +diff --git a/gas/testsuite/gas/i386/avx10.1-256-4.s b/gas/testsuite/gas/i386/avx10.1-256-4.s +new file mode 100644 +index 00000000000..d6af22e8f60 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-4.s +@@ -0,0 +1,3 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .include "avx512_fp16_vl.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-256-5.d b/gas/testsuite/gas/i386/avx10.1-256-5.d +new file mode 100644 +index 00000000000..5e393d74c68 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-5.d +@@ -0,0 +1,1077 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/256 (part 5) ++ ++.*: +file format .* ++ ++ ++Disassembly of section \.text: ++ ++0+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8f ec[ ]*vpshufbitqmb %xmm4,%xmm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8f ac f4 c0 1d fe ff[ ]*vpshufbitqmb -0x1e240\(%esp,%esi,8\),%xmm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8f 6a 7f[ ]*vpshufbitqmb 0x7f0\(%edx\),%xmm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8f ec[ ]*vpshufbitqmb %ymm4,%ymm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8f ac f4 c0 1d fe ff[ ]*vpshufbitqmb -0x1e240\(%esp,%esi,8\),%ymm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8f 6a 7f[ ]*vpshufbitqmb 0xfe0\(%edx\),%ymm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 54 f5[ ]*vpopcntb %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 54 f5[ ]*vpopcntb %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 54 b4 f4 c0 1d fe ff[ ]*vpopcntb -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 54 72 7f[ ]*vpopcntb 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 54 f5[ ]*vpopcntb %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 54 f5[ ]*vpopcntb %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 54 b4 f4 c0 1d fe ff[ ]*vpopcntb -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 54 72 7f[ ]*vpopcntb 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 54 f5[ ]*vpopcntw %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 54 f5[ ]*vpopcntw %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 54 b4 f4 c0 1d fe ff[ ]*vpopcntw -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 54 72 7f[ ]*vpopcntw 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 54 f5[ ]*vpopcntw %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 54 f5[ ]*vpopcntw %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 54 b4 f4 c0 1d fe ff[ ]*vpopcntw -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 54 72 7f[ ]*vpopcntw 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 55 f5[ ]*vpopcntd %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 55 f5[ ]*vpopcntd %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 55 b4 f4 c0 1d fe ff[ ]*vpopcntd -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 55 72 7f[ ]*vpopcntd 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 55 72 7f[ ]*vpopcntd 0x1fc\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 55 f5[ ]*vpopcntd %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 55 f5[ ]*vpopcntd %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 55 b4 f4 c0 1d fe ff[ ]*vpopcntd -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 55 72 7f[ ]*vpopcntd 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 55 72 7f[ ]*vpopcntd 0x1fc\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 55 f5[ ]*vpopcntq %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 55 f5[ ]*vpopcntq %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 55 b4 f4 c0 1d fe ff[ ]*vpopcntq -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 55 72 7f[ ]*vpopcntq 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 55 72 7f[ ]*vpopcntq 0x3f8\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 55 f5[ ]*vpopcntq %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 55 f5[ ]*vpopcntq %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 55 b4 f4 c0 1d fe ff[ ]*vpopcntq -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 55 72 7f[ ]*vpopcntq 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 55 72 7f[ ]*vpopcntq 0x3f8\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8f ec[ ]*vpshufbitqmb %xmm4,%xmm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8f ac f4 c0 1d fe ff[ ]*vpshufbitqmb -0x1e240\(%esp,%esi,8\),%xmm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8f 6a 7f[ ]*vpshufbitqmb 0x7f0\(%edx\),%xmm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8f ec[ ]*vpshufbitqmb %ymm4,%ymm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8f ac f4 c0 1d fe ff[ ]*vpshufbitqmb -0x1e240\(%esp,%esi,8\),%ymm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8f 6a 7f[ ]*vpshufbitqmb 0xfe0\(%edx\),%ymm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 54 f5[ ]*vpopcntb %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 54 f5[ ]*vpopcntb %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 54 b4 f4 c0 1d fe ff[ ]*vpopcntb -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 54 72 7f[ ]*vpopcntb 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 54 f5[ ]*vpopcntb %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 54 f5[ ]*vpopcntb %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 54 b4 f4 c0 1d fe ff[ ]*vpopcntb -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 54 72 7f[ ]*vpopcntb 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 54 f5[ ]*vpopcntw %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 54 f5[ ]*vpopcntw %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 54 b4 f4 c0 1d fe ff[ ]*vpopcntw -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 54 72 7f[ ]*vpopcntw 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 54 f5[ ]*vpopcntw %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 54 f5[ ]*vpopcntw %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 54 b4 f4 c0 1d fe ff[ ]*vpopcntw -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 54 72 7f[ ]*vpopcntw 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 55 f5[ ]*vpopcntd %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 55 f5[ ]*vpopcntd %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 55 b4 f4 c0 1d fe ff[ ]*vpopcntd -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 55 72 7f[ ]*vpopcntd 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 55 72 7f[ ]*vpopcntd 0x1fc\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 55 32[ ]*vpopcntd \(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 55 f5[ ]*vpopcntd %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 55 f5[ ]*vpopcntd %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 55 b4 f4 c0 1d fe ff[ ]*vpopcntd -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 55 72 7f[ ]*vpopcntd 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 55 72 7f[ ]*vpopcntd 0x1fc\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 55 32[ ]*vpopcntd \(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 55 f5[ ]*vpopcntq %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 55 f5[ ]*vpopcntq %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 55 b4 f4 c0 1d fe ff[ ]*vpopcntq -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 55 72 7f[ ]*vpopcntq 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 55 72 7f[ ]*vpopcntq 0x3f8\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 55 32[ ]*vpopcntq \(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 55 f5[ ]*vpopcntq %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 55 f5[ ]*vpopcntq %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 55 b4 f4 c0 1d fe ff[ ]*vpopcntq -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 55 72 7f[ ]*vpopcntq 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 55 72 7f[ ]*vpopcntq 0x3f8\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 55 32[ ]*vpopcntq \(%edx\)\{1to4\},%ymm6\{%k7\} ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 f5[ ]*vpconflictd %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f c4 f5[ ]*vpconflictd %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 31[ ]*vpconflictd \(%ecx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 b4 f4 c0 1d fe ff[ ]*vpconflictd -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f c4 30[ ]*vpconflictd \(%eax\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 72 7f[ ]*vpconflictd 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 b2 00 08 00 00[ ]*vpconflictd 0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 72 80[ ]*vpconflictd -0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 b2 f0 f7 ff ff[ ]*vpconflictd -0x810\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f c4 72 7f[ ]*vpconflictd 0x1fc\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f c4 b2 00 02 00 00[ ]*vpconflictd 0x200\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f c4 72 80[ ]*vpconflictd -0x200\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f c4 b2 fc fd ff ff[ ]*vpconflictd -0x204\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 f5[ ]*vpconflictd %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af c4 f5[ ]*vpconflictd %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 31[ ]*vpconflictd \(%ecx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 b4 f4 c0 1d fe ff[ ]*vpconflictd -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f c4 30[ ]*vpconflictd \(%eax\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 72 7f[ ]*vpconflictd 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 b2 00 10 00 00[ ]*vpconflictd 0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 72 80[ ]*vpconflictd -0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 b2 e0 ef ff ff[ ]*vpconflictd -0x1020\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f c4 72 7f[ ]*vpconflictd 0x1fc\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f c4 b2 00 02 00 00[ ]*vpconflictd 0x200\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f c4 72 80[ ]*vpconflictd -0x200\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f c4 b2 fc fd ff ff[ ]*vpconflictd -0x204\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 f5[ ]*vpconflictq %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f c4 f5[ ]*vpconflictq %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 31[ ]*vpconflictq \(%ecx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 b4 f4 c0 1d fe ff[ ]*vpconflictq -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f c4 30[ ]*vpconflictq \(%eax\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 72 7f[ ]*vpconflictq 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 b2 00 08 00 00[ ]*vpconflictq 0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 72 80[ ]*vpconflictq -0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 b2 f0 f7 ff ff[ ]*vpconflictq -0x810\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f c4 72 7f[ ]*vpconflictq 0x3f8\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f c4 b2 00 04 00 00[ ]*vpconflictq 0x400\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f c4 72 80[ ]*vpconflictq -0x400\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f c4 b2 f8 fb ff ff[ ]*vpconflictq -0x408\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 f5[ ]*vpconflictq %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af c4 f5[ ]*vpconflictq %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 31[ ]*vpconflictq \(%ecx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 b4 f4 c0 1d fe ff[ ]*vpconflictq -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f c4 30[ ]*vpconflictq \(%eax\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 72 7f[ ]*vpconflictq 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 b2 00 10 00 00[ ]*vpconflictq 0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 72 80[ ]*vpconflictq -0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 b2 e0 ef ff ff[ ]*vpconflictq -0x1020\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f c4 72 7f[ ]*vpconflictq 0x3f8\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f c4 b2 00 04 00 00[ ]*vpconflictq 0x400\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f c4 72 80[ ]*vpconflictq -0x400\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f c4 b2 f8 fb ff ff[ ]*vpconflictq -0x408\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 f5[ ]*vplzcntd %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 44 f5[ ]*vplzcntd %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 31[ ]*vplzcntd \(%ecx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 b4 f4 c0 1d fe ff[ ]*vplzcntd -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 44 30[ ]*vplzcntd \(%eax\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 72 7f[ ]*vplzcntd 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 b2 00 08 00 00[ ]*vplzcntd 0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 72 80[ ]*vplzcntd -0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 b2 f0 f7 ff ff[ ]*vplzcntd -0x810\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 44 72 7f[ ]*vplzcntd 0x1fc\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 44 b2 00 02 00 00[ ]*vplzcntd 0x200\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 44 72 80[ ]*vplzcntd -0x200\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 44 b2 fc fd ff ff[ ]*vplzcntd -0x204\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 f5[ ]*vplzcntd %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 44 f5[ ]*vplzcntd %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 31[ ]*vplzcntd \(%ecx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 b4 f4 c0 1d fe ff[ ]*vplzcntd -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 44 30[ ]*vplzcntd \(%eax\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 72 7f[ ]*vplzcntd 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 b2 00 10 00 00[ ]*vplzcntd 0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 72 80[ ]*vplzcntd -0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 b2 e0 ef ff ff[ ]*vplzcntd -0x1020\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 44 72 7f[ ]*vplzcntd 0x1fc\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 44 b2 00 02 00 00[ ]*vplzcntd 0x200\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 44 72 80[ ]*vplzcntd -0x200\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 44 b2 fc fd ff ff[ ]*vplzcntd -0x204\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 f5[ ]*vplzcntq %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 44 f5[ ]*vplzcntq %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 31[ ]*vplzcntq \(%ecx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 b4 f4 c0 1d fe ff[ ]*vplzcntq -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 44 30[ ]*vplzcntq \(%eax\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 72 7f[ ]*vplzcntq 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 b2 00 08 00 00[ ]*vplzcntq 0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 72 80[ ]*vplzcntq -0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 b2 f0 f7 ff ff[ ]*vplzcntq -0x810\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 44 72 7f[ ]*vplzcntq 0x3f8\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 44 b2 00 04 00 00[ ]*vplzcntq 0x400\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 44 72 80[ ]*vplzcntq -0x400\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 44 b2 f8 fb ff ff[ ]*vplzcntq -0x408\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 f5[ ]*vplzcntq %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 44 f5[ ]*vplzcntq %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 31[ ]*vplzcntq \(%ecx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 b4 f4 c0 1d fe ff[ ]*vplzcntq -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 44 30[ ]*vplzcntq \(%eax\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 72 7f[ ]*vplzcntq 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 b2 00 10 00 00[ ]*vplzcntq 0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 72 80[ ]*vplzcntq -0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 b2 e0 ef ff ff[ ]*vplzcntq -0x1020\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 44 72 7f[ ]*vplzcntq 0x3f8\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 44 b2 00 04 00 00[ ]*vplzcntq 0x400\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 44 72 80[ ]*vplzcntq -0x400\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 44 b2 f8 fb ff ff[ ]*vplzcntq -0x408\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7e 08 3a f6[ ]*vpbroadcastmw2d %k6,%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7e 28 3a f6[ ]*vpbroadcastmw2d %k6,%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fe 08 2a f6[ ]*vpbroadcastmb2q %k6,%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fe 28 2a f6[ ]*vpbroadcastmb2q %k6,%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 f5[ ]*vpconflictd %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f c4 f5[ ]*vpconflictd %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 31[ ]*vpconflictd \(%ecx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 b4 f4 c0 1d fe ff[ ]*vpconflictd -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f c4 30[ ]*vpconflictd \(%eax\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 72 7f[ ]*vpconflictd 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 b2 00 08 00 00[ ]*vpconflictd 0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 72 80[ ]*vpconflictd -0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 b2 f0 f7 ff ff[ ]*vpconflictd -0x810\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f c4 72 7f[ ]*vpconflictd 0x1fc\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f c4 b2 00 02 00 00[ ]*vpconflictd 0x200\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f c4 72 80[ ]*vpconflictd -0x200\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f c4 b2 fc fd ff ff[ ]*vpconflictd -0x204\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 f5[ ]*vpconflictd %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af c4 f5[ ]*vpconflictd %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 31[ ]*vpconflictd \(%ecx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 b4 f4 c0 1d fe ff[ ]*vpconflictd -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f c4 30[ ]*vpconflictd \(%eax\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 72 7f[ ]*vpconflictd 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 b2 00 10 00 00[ ]*vpconflictd 0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 72 80[ ]*vpconflictd -0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f c4 b2 e0 ef ff ff[ ]*vpconflictd -0x1020\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f c4 72 7f[ ]*vpconflictd 0x1fc\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f c4 b2 00 02 00 00[ ]*vpconflictd 0x200\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f c4 72 80[ ]*vpconflictd -0x200\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f c4 b2 fc fd ff ff[ ]*vpconflictd -0x204\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 f5[ ]*vpconflictq %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f c4 f5[ ]*vpconflictq %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 31[ ]*vpconflictq \(%ecx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 b4 f4 c0 1d fe ff[ ]*vpconflictq -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f c4 30[ ]*vpconflictq \(%eax\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 72 7f[ ]*vpconflictq 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 b2 00 08 00 00[ ]*vpconflictq 0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 72 80[ ]*vpconflictq -0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f c4 b2 f0 f7 ff ff[ ]*vpconflictq -0x810\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f c4 72 7f[ ]*vpconflictq 0x3f8\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f c4 b2 00 04 00 00[ ]*vpconflictq 0x400\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f c4 72 80[ ]*vpconflictq -0x400\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f c4 b2 f8 fb ff ff[ ]*vpconflictq -0x408\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 f5[ ]*vpconflictq %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af c4 f5[ ]*vpconflictq %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 31[ ]*vpconflictq \(%ecx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 b4 f4 c0 1d fe ff[ ]*vpconflictq -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f c4 30[ ]*vpconflictq \(%eax\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 72 7f[ ]*vpconflictq 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 b2 00 10 00 00[ ]*vpconflictq 0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 72 80[ ]*vpconflictq -0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f c4 b2 e0 ef ff ff[ ]*vpconflictq -0x1020\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f c4 72 7f[ ]*vpconflictq 0x3f8\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f c4 b2 00 04 00 00[ ]*vpconflictq 0x400\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f c4 72 80[ ]*vpconflictq -0x400\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f c4 b2 f8 fb ff ff[ ]*vpconflictq -0x408\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 f5[ ]*vplzcntd %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 44 f5[ ]*vplzcntd %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 31[ ]*vplzcntd \(%ecx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 b4 f4 c0 1d fe ff[ ]*vplzcntd -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 44 30[ ]*vplzcntd \(%eax\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 72 7f[ ]*vplzcntd 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 b2 00 08 00 00[ ]*vplzcntd 0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 72 80[ ]*vplzcntd -0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 44 b2 f0 f7 ff ff[ ]*vplzcntd -0x810\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 44 72 7f[ ]*vplzcntd 0x1fc\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 44 b2 00 02 00 00[ ]*vplzcntd 0x200\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 44 72 80[ ]*vplzcntd -0x200\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 1f 44 b2 fc fd ff ff[ ]*vplzcntd -0x204\(%edx\)\{1to4\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 f5[ ]*vplzcntd %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 44 f5[ ]*vplzcntd %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 31[ ]*vplzcntd \(%ecx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 b4 f4 c0 1d fe ff[ ]*vplzcntd -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 44 30[ ]*vplzcntd \(%eax\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 72 7f[ ]*vplzcntd 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 b2 00 10 00 00[ ]*vplzcntd 0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 72 80[ ]*vplzcntd -0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 44 b2 e0 ef ff ff[ ]*vplzcntd -0x1020\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 44 72 7f[ ]*vplzcntd 0x1fc\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 44 b2 00 02 00 00[ ]*vplzcntd 0x200\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 44 72 80[ ]*vplzcntd -0x200\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 3f 44 b2 fc fd ff ff[ ]*vplzcntd -0x204\(%edx\)\{1to8\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 f5[ ]*vplzcntq %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 44 f5[ ]*vplzcntq %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 31[ ]*vplzcntq \(%ecx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 b4 f4 c0 1d fe ff[ ]*vplzcntq -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 44 30[ ]*vplzcntq \(%eax\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 72 7f[ ]*vplzcntq 0x7f0\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 b2 00 08 00 00[ ]*vplzcntq 0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 72 80[ ]*vplzcntq -0x800\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 44 b2 f0 f7 ff ff[ ]*vplzcntq -0x810\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 44 72 7f[ ]*vplzcntq 0x3f8\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 44 b2 00 04 00 00[ ]*vplzcntq 0x400\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 44 72 80[ ]*vplzcntq -0x400\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 1f 44 b2 f8 fb ff ff[ ]*vplzcntq -0x408\(%edx\)\{1to2\},%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 f5[ ]*vplzcntq %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 44 f5[ ]*vplzcntq %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 31[ ]*vplzcntq \(%ecx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 b4 f4 c0 1d fe ff[ ]*vplzcntq -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 44 30[ ]*vplzcntq \(%eax\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 72 7f[ ]*vplzcntq 0xfe0\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 b2 00 10 00 00[ ]*vplzcntq 0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 72 80[ ]*vplzcntq -0x1000\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 44 b2 e0 ef ff ff[ ]*vplzcntq -0x1020\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 44 72 7f[ ]*vplzcntq 0x3f8\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 44 b2 00 04 00 00[ ]*vplzcntq 0x400\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 44 72 80[ ]*vplzcntq -0x400\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 3f 44 b2 f8 fb ff ff[ ]*vplzcntq -0x408\(%edx\)\{1to4\},%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7e 08 3a f6[ ]*vpbroadcastmw2d %k6,%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7e 28 3a f6[ ]*vpbroadcastmw2d %k6,%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fe 08 2a f6[ ]*vpbroadcastmb2q %k6,%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fe 28 2a f6[ ]*vpbroadcastmb2q %k6,%ymm6 ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 f4[ ]*vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b4 f4[ ]*vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 31[ ]*vpmadd52luq \(%ecx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 30[ ]*vpmadd52luq \(%eax\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 72 7f[ ]*vpmadd52luq 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b2 00 08 00 00[ ]*vpmadd52luq 0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 72 80[ ]*vpmadd52luq -0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b2 f0 f7 ff ff[ ]*vpmadd52luq -0x810\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 72 7f[ ]*vpmadd52luq 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 72 80[ ]*vpmadd52luq -0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 f4[ ]*vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af b4 f4[ ]*vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 31[ ]*vpmadd52luq \(%ecx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 30[ ]*vpmadd52luq \(%eax\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 72 7f[ ]*vpmadd52luq 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b2 00 10 00 00[ ]*vpmadd52luq 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 72 80[ ]*vpmadd52luq -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b2 e0 ef ff ff[ ]*vpmadd52luq -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 72 7f[ ]*vpmadd52luq 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 72 80[ ]*vpmadd52luq -0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 f4[ ]*vpmadd52huq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b5 f4[ ]*vpmadd52huq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 31[ ]*vpmadd52huq \(%ecx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 30[ ]*vpmadd52huq \(%eax\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 72 7f[ ]*vpmadd52huq 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b2 00 08 00 00[ ]*vpmadd52huq 0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 72 80[ ]*vpmadd52huq -0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b2 f0 f7 ff ff[ ]*vpmadd52huq -0x810\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 72 7f[ ]*vpmadd52huq 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 72 80[ ]*vpmadd52huq -0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 f4[ ]*vpmadd52huq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af b5 f4[ ]*vpmadd52huq %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 31[ ]*vpmadd52huq \(%ecx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 30[ ]*vpmadd52huq \(%eax\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 72 7f[ ]*vpmadd52huq 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b2 00 10 00 00[ ]*vpmadd52huq 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 72 80[ ]*vpmadd52huq -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b2 e0 ef ff ff[ ]*vpmadd52huq -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 72 7f[ ]*vpmadd52huq 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 72 80[ ]*vpmadd52huq -0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 f4[ ]*vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b4 f4[ ]*vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 31[ ]*vpmadd52luq \(%ecx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 30[ ]*vpmadd52luq \(%eax\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 72 7f[ ]*vpmadd52luq 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b2 00 08 00 00[ ]*vpmadd52luq 0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 72 80[ ]*vpmadd52luq -0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b2 f0 f7 ff ff[ ]*vpmadd52luq -0x810\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 72 7f[ ]*vpmadd52luq 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 72 80[ ]*vpmadd52luq -0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 f4[ ]*vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af b4 f4[ ]*vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 31[ ]*vpmadd52luq \(%ecx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 30[ ]*vpmadd52luq \(%eax\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 72 7f[ ]*vpmadd52luq 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b2 00 10 00 00[ ]*vpmadd52luq 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 72 80[ ]*vpmadd52luq -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b2 e0 ef ff ff[ ]*vpmadd52luq -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 72 7f[ ]*vpmadd52luq 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 72 80[ ]*vpmadd52luq -0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 f4[ ]*vpmadd52huq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b5 f4[ ]*vpmadd52huq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 31[ ]*vpmadd52huq \(%ecx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 30[ ]*vpmadd52huq \(%eax\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 72 7f[ ]*vpmadd52huq 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b2 00 08 00 00[ ]*vpmadd52huq 0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 72 80[ ]*vpmadd52huq -0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b2 f0 f7 ff ff[ ]*vpmadd52huq -0x810\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 72 7f[ ]*vpmadd52huq 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 72 80[ ]*vpmadd52huq -0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 f4[ ]*vpmadd52huq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af b5 f4[ ]*vpmadd52huq %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 31[ ]*vpmadd52huq \(%ecx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 30[ ]*vpmadd52huq \(%eax\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 72 7f[ ]*vpmadd52huq 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b2 00 10 00 00[ ]*vpmadd52huq 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 72 80[ ]*vpmadd52huq -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b2 e0 ef ff ff[ ]*vpmadd52huq -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 72 7f[ ]*vpmadd52huq 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 72 80[ ]*vpmadd52huq -0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d f4[ ]*vpermb %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 8f 8d f4[ ]*vpermb %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d 31[ ]*vpermb \(%ecx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d b4 f4 c0 1d fe ff[ ]*vpermb -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d 72 7f[ ]*vpermb 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d b2 00 08 00 00[ ]*vpermb 0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d 72 80[ ]*vpermb -0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d b2 f0 f7 ff ff[ ]*vpermb -0x810\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d f4[ ]*vpermb %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 af 8d f4[ ]*vpermb %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d 31[ ]*vpermb \(%ecx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d b4 f4 c0 1d fe ff[ ]*vpermb -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d 72 7f[ ]*vpermb 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d b2 00 10 00 00[ ]*vpermb 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d 72 80[ ]*vpermb -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d b2 e0 ef ff ff[ ]*vpermb -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 f4[ ]*vpermi2b %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 8f 75 f4[ ]*vpermi2b %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 31[ ]*vpermi2b \(%ecx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 b4 f4 c0 1d fe ff[ ]*vpermi2b -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 72 7f[ ]*vpermi2b 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 b2 00 08 00 00[ ]*vpermi2b 0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 72 80[ ]*vpermi2b -0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 b2 f0 f7 ff ff[ ]*vpermi2b -0x810\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 f4[ ]*vpermi2b %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 af 75 f4[ ]*vpermi2b %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 31[ ]*vpermi2b \(%ecx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 b4 f4 c0 1d fe ff[ ]*vpermi2b -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 72 7f[ ]*vpermi2b 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 b2 00 10 00 00[ ]*vpermi2b 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 72 80[ ]*vpermi2b -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 b2 e0 ef ff ff[ ]*vpermi2b -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d f4[ ]*vpermt2b %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 8f 7d f4[ ]*vpermt2b %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d 31[ ]*vpermt2b \(%ecx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d b4 f4 c0 1d fe ff[ ]*vpermt2b -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d 72 7f[ ]*vpermt2b 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d b2 00 08 00 00[ ]*vpermt2b 0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d 72 80[ ]*vpermt2b -0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d b2 f0 f7 ff ff[ ]*vpermt2b -0x810\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d f4[ ]*vpermt2b %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 af 7d f4[ ]*vpermt2b %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d 31[ ]*vpermt2b \(%ecx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d b4 f4 c0 1d fe ff[ ]*vpermt2b -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d 72 7f[ ]*vpermt2b 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d b2 00 10 00 00[ ]*vpermt2b 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d 72 80[ ]*vpermt2b -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d b2 e0 ef ff ff[ ]*vpermt2b -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 f4[ ]*vpmultishiftqb %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f 83 f4[ ]*vpmultishiftqb %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 31[ ]*vpmultishiftqb \(%ecx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 b4 f4 c0 1d fe ff[ ]*vpmultishiftqb -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 83 30[ ]*vpmultishiftqb \(%eax\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 72 7f[ ]*vpmultishiftqb 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 b2 00 08 00 00[ ]*vpmultishiftqb 0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 72 80[ ]*vpmultishiftqb -0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 b2 f0 f7 ff ff[ ]*vpmultishiftqb -0x810\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 83 72 7f[ ]*vpmultishiftqb 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 83 b2 00 04 00 00[ ]*vpmultishiftqb 0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 83 72 80[ ]*vpmultishiftqb -0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 83 b2 f8 fb ff ff[ ]*vpmultishiftqb -0x408\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 f4[ ]*vpmultishiftqb %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af 83 f4[ ]*vpmultishiftqb %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 31[ ]*vpmultishiftqb \(%ecx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 b4 f4 c0 1d fe ff[ ]*vpmultishiftqb -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 83 30[ ]*vpmultishiftqb \(%eax\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 72 7f[ ]*vpmultishiftqb 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 b2 00 10 00 00[ ]*vpmultishiftqb 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 72 80[ ]*vpmultishiftqb -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 b2 e0 ef ff ff[ ]*vpmultishiftqb -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 83 72 7f[ ]*vpmultishiftqb 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 83 b2 00 04 00 00[ ]*vpmultishiftqb 0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 83 72 80[ ]*vpmultishiftqb -0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 83 b2 f8 fb ff ff[ ]*vpmultishiftqb -0x408\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d f4[ ]*vpermb %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 8f 8d f4[ ]*vpermb %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d 31[ ]*vpermb \(%ecx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d b4 f4 c0 1d fe ff[ ]*vpermb -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d 72 7f[ ]*vpermb 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d b2 00 08 00 00[ ]*vpermb 0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d 72 80[ ]*vpermb -0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d b2 f0 f7 ff ff[ ]*vpermb -0x810\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d f4[ ]*vpermb %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 af 8d f4[ ]*vpermb %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d 31[ ]*vpermb \(%ecx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d b4 f4 c0 1d fe ff[ ]*vpermb -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d 72 7f[ ]*vpermb 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d b2 00 10 00 00[ ]*vpermb 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d 72 80[ ]*vpermb -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 8d b2 e0 ef ff ff[ ]*vpermb -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 f4[ ]*vpermi2b %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 8f 75 f4[ ]*vpermi2b %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 31[ ]*vpermi2b \(%ecx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 b4 f4 c0 1d fe ff[ ]*vpermi2b -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 72 7f[ ]*vpermi2b 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 b2 00 08 00 00[ ]*vpermi2b 0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 72 80[ ]*vpermi2b -0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 75 b2 f0 f7 ff ff[ ]*vpermi2b -0x810\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 f4[ ]*vpermi2b %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 af 75 f4[ ]*vpermi2b %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 31[ ]*vpermi2b \(%ecx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 b4 f4 c0 1d fe ff[ ]*vpermi2b -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 72 7f[ ]*vpermi2b 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 b2 00 10 00 00[ ]*vpermi2b 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 72 80[ ]*vpermi2b -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 75 b2 e0 ef ff ff[ ]*vpermi2b -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d f4[ ]*vpermt2b %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 8f 7d f4[ ]*vpermt2b %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d 31[ ]*vpermt2b \(%ecx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d b4 f4 c0 1d fe ff[ ]*vpermt2b -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d 72 7f[ ]*vpermt2b 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d b2 00 08 00 00[ ]*vpermt2b 0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d 72 80[ ]*vpermt2b -0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 7d b2 f0 f7 ff ff[ ]*vpermt2b -0x810\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d f4[ ]*vpermt2b %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 af 7d f4[ ]*vpermt2b %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d 31[ ]*vpermt2b \(%ecx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d b4 f4 c0 1d fe ff[ ]*vpermt2b -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d 72 7f[ ]*vpermt2b 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d b2 00 10 00 00[ ]*vpermt2b 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d 72 80[ ]*vpermt2b -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 7d b2 e0 ef ff ff[ ]*vpermt2b -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 f4[ ]*vpmultishiftqb %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f 83 f4[ ]*vpmultishiftqb %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 31[ ]*vpmultishiftqb \(%ecx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 b4 f4 c0 1d fe ff[ ]*vpmultishiftqb -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 83 30[ ]*vpmultishiftqb \(%eax\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 72 7f[ ]*vpmultishiftqb 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 b2 00 08 00 00[ ]*vpmultishiftqb 0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 72 80[ ]*vpmultishiftqb -0x800\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 83 b2 f0 f7 ff ff[ ]*vpmultishiftqb -0x810\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 83 72 7f[ ]*vpmultishiftqb 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 83 b2 00 04 00 00[ ]*vpmultishiftqb 0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 83 72 80[ ]*vpmultishiftqb -0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 83 b2 f8 fb ff ff[ ]*vpmultishiftqb -0x408\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 f4[ ]*vpmultishiftqb %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af 83 f4[ ]*vpmultishiftqb %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 31[ ]*vpmultishiftqb \(%ecx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 b4 f4 c0 1d fe ff[ ]*vpmultishiftqb -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 83 30[ ]*vpmultishiftqb \(%eax\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 72 7f[ ]*vpmultishiftqb 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 b2 00 10 00 00[ ]*vpmultishiftqb 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 72 80[ ]*vpmultishiftqb -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 83 b2 e0 ef ff ff[ ]*vpmultishiftqb -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 83 72 7f[ ]*vpmultishiftqb 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 83 b2 00 04 00 00[ ]*vpmultishiftqb 0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 83 72 80[ ]*vpmultishiftqb -0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 83 b2 f8 fb ff ff[ ]*vpmultishiftqb -0x408\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 63 b4 f4 c0 1d fe ff[ ]*vpcompressb %xmm6,-0x1e240\(%esp,%esi,8\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 63 72 7e[ ]*vpcompressb %xmm6,0x7e\(%edx\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 63 b4 f4 c0 1d fe ff[ ]*vpcompressb %ymm6,-0x1e240\(%esp,%esi,8\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 63 72 7e[ ]*vpcompressb %ymm6,0x7e\(%edx\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 63 ee[ ]*vpcompressb %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 63 ee[ ]*vpcompressb %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 63 ee[ ]*vpcompressb %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 63 ee[ ]*vpcompressb %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 63 b4 f4 c0 1d fe ff[ ]*vpcompressw %xmm6,-0x1e240\(%esp,%esi,8\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 63 72 40[ ]*vpcompressw %xmm6,0x80\(%edx\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 63 b4 f4 c0 1d fe ff[ ]*vpcompressw %ymm6,-0x1e240\(%esp,%esi,8\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 63 72 40[ ]*vpcompressw %ymm6,0x80\(%edx\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 63 ee[ ]*vpcompressw %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 63 ee[ ]*vpcompressw %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 63 ee[ ]*vpcompressw %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 63 ee[ ]*vpcompressw %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 62 31[ ]*vpexpandb \(%ecx\),%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 62 b4 f4 c0 1d fe ff[ ]*vpexpandb -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 62 72 7e[ ]*vpexpandb 0x7e\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 62 31[ ]*vpexpandb \(%ecx\),%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 62 b4 f4 c0 1d fe ff[ ]*vpexpandb -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 62 72 7e[ ]*vpexpandb 0x7e\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 62 f5[ ]*vpexpandb %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 62 f5[ ]*vpexpandb %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 62 f5[ ]*vpexpandb %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 62 f5[ ]*vpexpandb %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 62 31[ ]*vpexpandw \(%ecx\),%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 62 b4 f4 c0 1d fe ff[ ]*vpexpandw -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 62 72 40[ ]*vpexpandw 0x80\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 62 31[ ]*vpexpandw \(%ecx\),%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 62 b4 f4 c0 1d fe ff[ ]*vpexpandw -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 62 72 40[ ]*vpexpandw 0x80\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 62 f5[ ]*vpexpandw %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 62 f5[ ]*vpexpandw %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 62 f5[ ]*vpexpandw %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 62 f5[ ]*vpexpandw %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 70 f4[ ]*vpshldvw %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f 70 f4[ ]*vpshldvw %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 70 b4 f4 c0 1d fe ff[ ]*vpshldvw -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 70 72 7f[ ]*vpshldvw 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 70 f4[ ]*vpshldvw %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af 70 f4[ ]*vpshldvw %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 70 b4 f4 c0 1d fe ff[ ]*vpshldvw -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 70 72 7f[ ]*vpshldvw 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 71 f4[ ]*vpshldvd %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 8f 71 f4[ ]*vpshldvd %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 71 b4 f4 c0 1d fe ff[ ]*vpshldvd -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 71 72 7f[ ]*vpshldvd 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 1f 71 72 7f[ ]*vpshldvd 0x1fc\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 71 f4[ ]*vpshldvd %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 af 71 f4[ ]*vpshldvd %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 71 b4 f4 c0 1d fe ff[ ]*vpshldvd -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 71 72 7f[ ]*vpshldvd 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 3f 71 72 7f[ ]*vpshldvd 0x1fc\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 71 f4[ ]*vpshldvq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f 71 f4[ ]*vpshldvq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 71 b4 f4 c0 1d fe ff[ ]*vpshldvq -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 71 72 7f[ ]*vpshldvq 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 71 72 7f[ ]*vpshldvq 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 71 f4[ ]*vpshldvq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af 71 f4[ ]*vpshldvq %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 71 b4 f4 c0 1d fe ff[ ]*vpshldvq -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 71 72 7f[ ]*vpshldvq 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 71 72 7f[ ]*vpshldvq 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 72 f4[ ]*vpshrdvw %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f 72 f4[ ]*vpshrdvw %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 72 b4 f4 c0 1d fe ff[ ]*vpshrdvw -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 72 72 7f[ ]*vpshrdvw 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 72 f4[ ]*vpshrdvw %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af 72 f4[ ]*vpshrdvw %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 72 b4 f4 c0 1d fe ff[ ]*vpshrdvw -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 72 72 7f[ ]*vpshrdvw 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 73 f4[ ]*vpshrdvd %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 8f 73 f4[ ]*vpshrdvd %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 73 b4 f4 c0 1d fe ff[ ]*vpshrdvd -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 73 72 7f[ ]*vpshrdvd 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 1f 73 72 7f[ ]*vpshrdvd 0x1fc\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 73 f4[ ]*vpshrdvd %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 af 73 f4[ ]*vpshrdvd %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 73 b4 f4 c0 1d fe ff[ ]*vpshrdvd -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 73 72 7f[ ]*vpshrdvd 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 3f 73 72 7f[ ]*vpshrdvd 0x1fc\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 73 f4[ ]*vpshrdvq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f 73 f4[ ]*vpshrdvq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 73 b4 f4 c0 1d fe ff[ ]*vpshrdvq -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 73 72 7f[ ]*vpshrdvq 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 73 72 7f[ ]*vpshrdvq 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 73 f4[ ]*vpshrdvq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af 73 f4[ ]*vpshrdvq %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 73 b4 f4 c0 1d fe ff[ ]*vpshrdvq -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 73 72 7f[ ]*vpshrdvq 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 73 72 7f[ ]*vpshrdvq 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 70 f4 ab[ ]*vpshldw \$0xab,%xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 8f 70 f4 ab[ ]*vpshldw \$0xab,%xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 70 b4 f4 c0 1d fe ff 7b[ ]*vpshldw \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 70 72 7f 7b[ ]*vpshldw \$0x7b,0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 70 f4 ab[ ]*vpshldw \$0xab,%ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 af 70 f4 ab[ ]*vpshldw \$0xab,%ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 70 b4 f4 c0 1d fe ff 7b[ ]*vpshldw \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 70 72 7f 7b[ ]*vpshldw \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 0f 71 f4 ab[ ]*vpshldd \$0xab,%xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 8f 71 f4 ab[ ]*vpshldd \$0xab,%xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 0f 71 b4 f4 c0 1d fe ff 7b[ ]*vpshldd \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 0f 71 72 7f 7b[ ]*vpshldd \$0x7b,0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 1f 71 72 7f 7b[ ]*vpshldd \$0x7b,0x1fc\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 2f 71 f4 ab[ ]*vpshldd \$0xab,%ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 af 71 f4 ab[ ]*vpshldd \$0xab,%ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 2f 71 b4 f4 c0 1d fe ff 7b[ ]*vpshldd \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 2f 71 72 7f 7b[ ]*vpshldd \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 3f 71 72 7f 7b[ ]*vpshldd \$0x7b,0x1fc\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 71 f4 ab[ ]*vpshldq \$0xab,%xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 8f 71 f4 ab[ ]*vpshldq \$0xab,%xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 71 b4 f4 c0 1d fe ff 7b[ ]*vpshldq \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 71 72 7f 7b[ ]*vpshldq \$0x7b,0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 1f 71 72 7f 7b[ ]*vpshldq \$0x7b,0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 71 f4 ab[ ]*vpshldq \$0xab,%ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 af 71 f4 ab[ ]*vpshldq \$0xab,%ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 71 b4 f4 c0 1d fe ff 7b[ ]*vpshldq \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 71 72 7f 7b[ ]*vpshldq \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 3f 71 72 7f 7b[ ]*vpshldq \$0x7b,0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 72 f4 ab[ ]*vpshrdw \$0xab,%xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 8f 72 f4 ab[ ]*vpshrdw \$0xab,%xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 72 b4 f4 c0 1d fe ff 7b[ ]*vpshrdw \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 72 72 7f 7b[ ]*vpshrdw \$0x7b,0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 72 f4 ab[ ]*vpshrdw \$0xab,%ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 af 72 f4 ab[ ]*vpshrdw \$0xab,%ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 72 b4 f4 c0 1d fe ff 7b[ ]*vpshrdw \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 72 72 7f 7b[ ]*vpshrdw \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 0f 73 f4 ab[ ]*vpshrdd \$0xab,%xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 8f 73 f4 ab[ ]*vpshrdd \$0xab,%xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 0f 73 b4 f4 c0 1d fe ff 7b[ ]*vpshrdd \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 0f 73 72 7f 7b[ ]*vpshrdd \$0x7b,0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 1f 73 72 7f 7b[ ]*vpshrdd \$0x7b,0x1fc\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 2f 73 f4 ab[ ]*vpshrdd \$0xab,%ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 af 73 f4 ab[ ]*vpshrdd \$0xab,%ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 2f 73 b4 f4 c0 1d fe ff 7b[ ]*vpshrdd \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 2f 73 72 7f 7b[ ]*vpshrdd \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 3f 73 72 7f 7b[ ]*vpshrdd \$0x7b,0x1fc\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 73 f4 ab[ ]*vpshrdq \$0xab,%xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 8f 73 f4 ab[ ]*vpshrdq \$0xab,%xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 73 b4 f4 c0 1d fe ff 7b[ ]*vpshrdq \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 73 72 7f 7b[ ]*vpshrdq \$0x7b,0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 1f 73 72 7f 7b[ ]*vpshrdq \$0x7b,0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 73 f4 ab[ ]*vpshrdq \$0xab,%ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 af 73 f4 ab[ ]*vpshrdq \$0xab,%ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 73 b4 f4 c0 1d fe ff 7b[ ]*vpshrdq \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 73 72 7f 7b[ ]*vpshrdq \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 3f 73 72 7f 7b[ ]*vpshrdq \$0x7b,0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 63 b4 f4 c0 1d fe ff[ ]*vpcompressb %xmm6,-0x1e240\(%esp,%esi,8\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 63 72 7e[ ]*vpcompressb %xmm6,0x7e\(%edx\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 63 b4 f4 c0 1d fe ff[ ]*vpcompressb %ymm6,-0x1e240\(%esp,%esi,8\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 63 72 7e[ ]*vpcompressb %ymm6,0x7e\(%edx\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 63 ee[ ]*vpcompressb %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 63 ee[ ]*vpcompressb %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 63 ee[ ]*vpcompressb %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 63 ee[ ]*vpcompressb %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 63 b4 f4 c0 1d fe ff[ ]*vpcompressw %xmm6,-0x1e240\(%esp,%esi,8\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 63 72 40[ ]*vpcompressw %xmm6,0x80\(%edx\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 63 b4 f4 c0 1d fe ff[ ]*vpcompressw %ymm6,-0x1e240\(%esp,%esi,8\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 63 72 40[ ]*vpcompressw %ymm6,0x80\(%edx\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 63 ee[ ]*vpcompressw %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 63 ee[ ]*vpcompressw %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 63 ee[ ]*vpcompressw %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 63 ee[ ]*vpcompressw %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 62 31[ ]*vpexpandb \(%ecx\),%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 62 b4 f4 c0 1d fe ff[ ]*vpexpandb -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 62 72 7e[ ]*vpexpandb 0x7e\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 62 31[ ]*vpexpandb \(%ecx\),%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 62 b4 f4 c0 1d fe ff[ ]*vpexpandb -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 62 72 7e[ ]*vpexpandb 0x7e\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 62 f5[ ]*vpexpandb %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 62 f5[ ]*vpexpandb %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 62 f5[ ]*vpexpandb %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 62 f5[ ]*vpexpandb %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 62 31[ ]*vpexpandw \(%ecx\),%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 62 b4 f4 c0 1d fe ff[ ]*vpexpandw -0x1e240\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 62 72 40[ ]*vpexpandw 0x80\(%edx\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 62 31[ ]*vpexpandw \(%ecx\),%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 62 b4 f4 c0 1d fe ff[ ]*vpexpandw -0x1e240\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 62 72 40[ ]*vpexpandw 0x80\(%edx\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 62 f5[ ]*vpexpandw %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 62 f5[ ]*vpexpandw %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 62 f5[ ]*vpexpandw %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 62 f5[ ]*vpexpandw %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 70 f4[ ]*vpshldvw %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f 70 f4[ ]*vpshldvw %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 70 b4 f4 c0 1d fe ff[ ]*vpshldvw -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 70 72 7f[ ]*vpshldvw 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 70 f4[ ]*vpshldvw %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af 70 f4[ ]*vpshldvw %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 70 b4 f4 c0 1d fe ff[ ]*vpshldvw -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 70 72 7f[ ]*vpshldvw 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 71 f4[ ]*vpshldvd %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 8f 71 f4[ ]*vpshldvd %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 71 b4 f4 c0 1d fe ff[ ]*vpshldvd -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 71 72 7f[ ]*vpshldvd 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 1f 71 72 7f[ ]*vpshldvd 0x1fc\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 71 f4[ ]*vpshldvd %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 af 71 f4[ ]*vpshldvd %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 71 b4 f4 c0 1d fe ff[ ]*vpshldvd -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 71 72 7f[ ]*vpshldvd 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 3f 71 72 7f[ ]*vpshldvd 0x1fc\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 71 f4[ ]*vpshldvq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f 71 f4[ ]*vpshldvq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 71 b4 f4 c0 1d fe ff[ ]*vpshldvq -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 71 72 7f[ ]*vpshldvq 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 71 72 7f[ ]*vpshldvq 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 71 f4[ ]*vpshldvq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af 71 f4[ ]*vpshldvq %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 71 b4 f4 c0 1d fe ff[ ]*vpshldvq -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 71 72 7f[ ]*vpshldvq 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 71 72 7f[ ]*vpshldvq 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 72 f4[ ]*vpshrdvw %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f 72 f4[ ]*vpshrdvw %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 72 b4 f4 c0 1d fe ff[ ]*vpshrdvw -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 72 72 7f[ ]*vpshrdvw 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 72 f4[ ]*vpshrdvw %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af 72 f4[ ]*vpshrdvw %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 72 b4 f4 c0 1d fe ff[ ]*vpshrdvw -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 72 72 7f[ ]*vpshrdvw 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 73 f4[ ]*vpshrdvd %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 8f 73 f4[ ]*vpshrdvd %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 73 b4 f4 c0 1d fe ff[ ]*vpshrdvd -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 0f 73 72 7f[ ]*vpshrdvd 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 1f 73 72 7f[ ]*vpshrdvd 0x1fc\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 73 f4[ ]*vpshrdvd %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 af 73 f4[ ]*vpshrdvd %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 73 b4 f4 c0 1d fe ff[ ]*vpshrdvd -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 2f 73 72 7f[ ]*vpshrdvd 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 3f 73 72 7f[ ]*vpshrdvd 0x1fc\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 73 f4[ ]*vpshrdvq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f 73 f4[ ]*vpshrdvq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 73 b4 f4 c0 1d fe ff[ ]*vpshrdvq -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f 73 72 7f[ ]*vpshrdvq 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f 73 72 7f[ ]*vpshrdvq 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 73 f4[ ]*vpshrdvq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 af 73 f4[ ]*vpshrdvq %ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 73 b4 f4 c0 1d fe ff[ ]*vpshrdvq -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f 73 72 7f[ ]*vpshrdvq 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f 73 72 7f[ ]*vpshrdvq 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 70 f4 ab[ ]*vpshldw \$0xab,%xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 8f 70 f4 ab[ ]*vpshldw \$0xab,%xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 70 b4 f4 c0 1d fe ff 7b[ ]*vpshldw \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 70 72 7f 7b[ ]*vpshldw \$0x7b,0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 70 f4 ab[ ]*vpshldw \$0xab,%ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 af 70 f4 ab[ ]*vpshldw \$0xab,%ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 70 b4 f4 c0 1d fe ff 7b[ ]*vpshldw \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 70 72 7f 7b[ ]*vpshldw \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 0f 71 f4 ab[ ]*vpshldd \$0xab,%xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 8f 71 f4 ab[ ]*vpshldd \$0xab,%xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 0f 71 b4 f4 c0 1d fe ff 7b[ ]*vpshldd \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 0f 71 72 7f 7b[ ]*vpshldd \$0x7b,0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 1f 71 72 7f 7b[ ]*vpshldd \$0x7b,0x1fc\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 2f 71 f4 ab[ ]*vpshldd \$0xab,%ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 af 71 f4 ab[ ]*vpshldd \$0xab,%ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 2f 71 b4 f4 c0 1d fe ff 7b[ ]*vpshldd \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 2f 71 72 7f 7b[ ]*vpshldd \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 3f 71 72 7f 7b[ ]*vpshldd \$0x7b,0x1fc\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 71 f4 ab[ ]*vpshldq \$0xab,%xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 8f 71 f4 ab[ ]*vpshldq \$0xab,%xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 71 b4 f4 c0 1d fe ff 7b[ ]*vpshldq \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 71 72 7f 7b[ ]*vpshldq \$0x7b,0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 1f 71 72 7f 7b[ ]*vpshldq \$0x7b,0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 71 f4 ab[ ]*vpshldq \$0xab,%ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 af 71 f4 ab[ ]*vpshldq \$0xab,%ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 71 b4 f4 c0 1d fe ff 7b[ ]*vpshldq \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 71 72 7f 7b[ ]*vpshldq \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 3f 71 72 7f 7b[ ]*vpshldq \$0x7b,0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 72 f4 ab[ ]*vpshrdw \$0xab,%xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 8f 72 f4 ab[ ]*vpshrdw \$0xab,%xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 72 b4 f4 c0 1d fe ff 7b[ ]*vpshrdw \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 72 72 7f 7b[ ]*vpshrdw \$0x7b,0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 72 f4 ab[ ]*vpshrdw \$0xab,%ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 af 72 f4 ab[ ]*vpshrdw \$0xab,%ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 72 b4 f4 c0 1d fe ff 7b[ ]*vpshrdw \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 72 72 7f 7b[ ]*vpshrdw \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 0f 73 f4 ab[ ]*vpshrdd \$0xab,%xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 8f 73 f4 ab[ ]*vpshrdd \$0xab,%xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 0f 73 b4 f4 c0 1d fe ff 7b[ ]*vpshrdd \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 0f 73 72 7f 7b[ ]*vpshrdd \$0x7b,0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 1f 73 72 7f 7b[ ]*vpshrdd \$0x7b,0x1fc\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 2f 73 f4 ab[ ]*vpshrdd \$0xab,%ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 af 73 f4 ab[ ]*vpshrdd \$0xab,%ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 2f 73 b4 f4 c0 1d fe ff 7b[ ]*vpshrdd \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 2f 73 72 7f 7b[ ]*vpshrdd \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 3f 73 72 7f 7b[ ]*vpshrdd \$0x7b,0x1fc\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 73 f4 ab[ ]*vpshrdq \$0xab,%xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 8f 73 f4 ab[ ]*vpshrdq \$0xab,%xmm4,%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 73 b4 f4 c0 1d fe ff 7b[ ]*vpshrdq \$0x7b,-0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 0f 73 72 7f 7b[ ]*vpshrdq \$0x7b,0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 1f 73 72 7f 7b[ ]*vpshrdq \$0x7b,0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 73 f4 ab[ ]*vpshrdq \$0xab,%ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 af 73 f4 ab[ ]*vpshrdq \$0xab,%ymm4,%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 73 b4 f4 c0 1d fe ff 7b[ ]*vpshrdq \$0x7b,-0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 2f 73 72 7f 7b[ ]*vpshrdq \$0x7b,0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 3f 73 72 7f 7b[ ]*vpshrdq \$0x7b,0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 0b 52 d2[ ]*vpdpwssd %xmm2,%xmm4,%xmm2\{%k3\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 8b 52 d2[ ]*vpdpwssd %xmm2,%xmm4,%xmm2\{%k3\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 09 52 94 f4 c0 1d fe ff[ ]*vpdpwssd -0x1e240\(%esp,%esi,8\),%xmm4,%xmm2\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 09 52 52 7f[ ]*vpdpwssd 0x7f0\(%edx\),%xmm4,%xmm2\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 19 52 52 7f[ ]*vpdpwssd 0x1fc\(%edx\)\{1to4\},%xmm4,%xmm2\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 29 52 d9[ ]*vpdpwssd %ymm1,%ymm3,%ymm3\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 a9 52 d9[ ]*vpdpwssd %ymm1,%ymm3,%ymm3\{%k1\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 2c 52 9c f4 c0 1d fe ff[ ]*vpdpwssd -0x1e240\(%esp,%esi,8\),%ymm3,%ymm3\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 2c 52 5a 7f[ ]*vpdpwssd 0xfe0\(%edx\),%ymm3,%ymm3\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 3c 52 5a 7f[ ]*vpdpwssd 0x1fc\(%edx\)\{1to8\},%ymm3,%ymm3\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 09 53 d1[ ]*vpdpwssds %xmm1,%xmm4,%xmm2\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 89 53 d1[ ]*vpdpwssds %xmm1,%xmm4,%xmm2\{%k1\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 0c 53 94 f4 c0 1d fe ff[ ]*vpdpwssds -0x1e240\(%esp,%esi,8\),%xmm4,%xmm2\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 0c 53 52 7f[ ]*vpdpwssds 0x7f0\(%edx\),%xmm4,%xmm2\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 1c 53 52 7f[ ]*vpdpwssds 0x1fc\(%edx\)\{1to4\},%xmm4,%xmm2\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 75 2f 53 e4[ ]*vpdpwssds %ymm4,%ymm1,%ymm4\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 75 af 53 e4[ ]*vpdpwssds %ymm4,%ymm1,%ymm4\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 75 2b 53 a4 f4 c0 1d fe ff[ ]*vpdpwssds -0x1e240\(%esp,%esi,8\),%ymm1,%ymm4\{%k3\} ++[ ]*[a-f0-9]+:[ ]*62 f2 75 2b 53 62 7f[ ]*vpdpwssds 0xfe0\(%edx\),%ymm1,%ymm4\{%k3\} ++[ ]*[a-f0-9]+:[ ]*62 f2 75 3b 53 62 7f[ ]*vpdpwssds 0x1fc\(%edx\)\{1to8\},%ymm1,%ymm4\{%k3\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 0c 50 d1[ ]*vpdpbusd %xmm1,%xmm3,%xmm2\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 8c 50 d1[ ]*vpdpbusd %xmm1,%xmm3,%xmm2\{%k4\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 0a 50 94 f4 c0 1d fe ff[ ]*vpdpbusd -0x1e240\(%esp,%esi,8\),%xmm3,%xmm2\{%k2\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 0a 50 52 7f[ ]*vpdpbusd 0x7f0\(%edx\),%xmm3,%xmm2\{%k2\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 1a 50 52 7f[ ]*vpdpbusd 0x1fc\(%edx\)\{1to4\},%xmm3,%xmm2\{%k2\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 2d 50 d2[ ]*vpdpbusd %ymm2,%ymm2,%ymm2\{%k5\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d ad 50 d2[ ]*vpdpbusd %ymm2,%ymm2,%ymm2\{%k5\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 2f 50 94 f4 c0 1d fe ff[ ]*vpdpbusd -0x1e240\(%esp,%esi,8\),%ymm2,%ymm2\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 2f 50 52 7f[ ]*vpdpbusd 0xfe0\(%edx\),%ymm2,%ymm2\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 3f 50 52 7f[ ]*vpdpbusd 0x1fc\(%edx\)\{1to8\},%ymm2,%ymm2\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 0e 51 f4[ ]*vpdpbusds %xmm4,%xmm2,%xmm6\{%k6\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 8e 51 f4[ ]*vpdpbusds %xmm4,%xmm2,%xmm6\{%k6\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 0c 51 b4 f4 c0 1d fe ff[ ]*vpdpbusds -0x1e240\(%esp,%esi,8\),%xmm2,%xmm6\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 0c 51 72 7f[ ]*vpdpbusds 0x7f0\(%edx\),%xmm2,%xmm6\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 1c 51 72 7f[ ]*vpdpbusds 0x1fc\(%edx\)\{1to4\},%xmm2,%xmm6\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 2f 51 e1[ ]*vpdpbusds %ymm1,%ymm3,%ymm4\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 af 51 e1[ ]*vpdpbusds %ymm1,%ymm3,%ymm4\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 29 51 a4 f4 c0 1d fe ff[ ]*vpdpbusds -0x1e240\(%esp,%esi,8\),%ymm3,%ymm4\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 29 51 62 7f[ ]*vpdpbusds 0xfe0\(%edx\),%ymm3,%ymm4\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 39 51 62 7f[ ]*vpdpbusds 0x1fc\(%edx\)\{1to8\},%ymm3,%ymm4\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 09 52 ea[ ]*vpdpwssd %xmm2,%xmm2,%xmm5\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 89 52 ea[ ]*vpdpwssd %xmm2,%xmm2,%xmm5\{%k1\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 0e 52 ac f4 c0 1d fe ff[ ]*vpdpwssd -0x1e240\(%esp,%esi,8\),%xmm2,%xmm5\{%k6\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 0e 52 6a 7f[ ]*vpdpwssd 0x7f0\(%edx\),%xmm2,%xmm5\{%k6\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 1e 52 6a 7f[ ]*vpdpwssd 0x1fc\(%edx\)\{1to4\},%xmm2,%xmm5\{%k6\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 2f 52 cc[ ]*vpdpwssd %ymm4,%ymm2,%ymm1\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d af 52 cc[ ]*vpdpwssd %ymm4,%ymm2,%ymm1\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 2e 52 8c f4 c0 1d fe ff[ ]*vpdpwssd -0x1e240\(%esp,%esi,8\),%ymm2,%ymm1\{%k6\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 2e 52 4a 7f[ ]*vpdpwssd 0xfe0\(%edx\),%ymm2,%ymm1\{%k6\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 3e 52 4a 7f[ ]*vpdpwssd 0x1fc\(%edx\)\{1to8\},%ymm2,%ymm1\{%k6\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 0a 53 c9[ ]*vpdpwssds %xmm1,%xmm4,%xmm1\{%k2\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 8a 53 c9[ ]*vpdpwssds %xmm1,%xmm4,%xmm1\{%k2\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 0e 53 8c f4 c0 1d fe ff[ ]*vpdpwssds -0x1e240\(%esp,%esi,8\),%xmm4,%xmm1\{%k6\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 0e 53 4a 7f[ ]*vpdpwssds 0x7f0\(%edx\),%xmm4,%xmm1\{%k6\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 1e 53 4a 7f[ ]*vpdpwssds 0x1fc\(%edx\)\{1to4\},%xmm4,%xmm1\{%k6\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 2c 53 dc[ ]*vpdpwssds %ymm4,%ymm2,%ymm3\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d ac 53 dc[ ]*vpdpwssds %ymm4,%ymm2,%ymm3\{%k4\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 2d 53 9c f4 c0 1d fe ff[ ]*vpdpwssds -0x1e240\(%esp,%esi,8\),%ymm2,%ymm3\{%k5\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 2d 53 5a 7f[ ]*vpdpwssds 0xfe0\(%edx\),%ymm2,%ymm3\{%k5\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 3d 53 5a 7f[ ]*vpdpwssds 0x1fc\(%edx\)\{1to8\},%ymm2,%ymm3\{%k5\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 0f 50 dc[ ]*vpdpbusd %xmm4,%xmm4,%xmm3\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 8f 50 dc[ ]*vpdpbusd %xmm4,%xmm4,%xmm3\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 09 50 9c f4 c0 1d fe ff[ ]*vpdpbusd -0x1e240\(%esp,%esi,8\),%xmm4,%xmm3\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 09 50 5a 7f[ ]*vpdpbusd 0x7f0\(%edx\),%xmm4,%xmm3\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 19 50 5a 7f[ ]*vpdpbusd 0x1fc\(%edx\)\{1to4\},%xmm4,%xmm3\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 2d 50 f4[ ]*vpdpbusd %ymm4,%ymm2,%ymm6\{%k5\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d ad 50 f4[ ]*vpdpbusd %ymm4,%ymm2,%ymm6\{%k5\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 2d 50 b4 f4 c0 1d fe ff[ ]*vpdpbusd -0x1e240\(%esp,%esi,8\),%ymm2,%ymm6\{%k5\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 2d 50 72 7f[ ]*vpdpbusd 0xfe0\(%edx\),%ymm2,%ymm6\{%k5\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 3d 50 72 7f[ ]*vpdpbusd 0x1fc\(%edx\)\{1to8\},%ymm2,%ymm6\{%k5\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 0d 51 dc[ ]*vpdpbusds %xmm4,%xmm3,%xmm3\{%k5\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 8d 51 dc[ ]*vpdpbusds %xmm4,%xmm3,%xmm3\{%k5\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 0c 51 9c f4 c0 1d fe ff[ ]*vpdpbusds -0x1e240\(%esp,%esi,8\),%xmm3,%xmm3\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 0c 51 5a 7f[ ]*vpdpbusds 0x7f0\(%edx\),%xmm3,%xmm3\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 1c 51 5a 7f[ ]*vpdpbusds 0x1fc\(%edx\)\{1to4\},%xmm3,%xmm3\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 2c 51 d4[ ]*vpdpbusds %ymm4,%ymm3,%ymm2\{%k4\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 ac 51 d4[ ]*vpdpbusds %ymm4,%ymm3,%ymm2\{%k4\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 29 51 94 f4 c0 1d fe ff[ ]*vpdpbusds -0x1e240\(%esp,%esi,8\),%ymm3,%ymm2\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 29 51 52 7f[ ]*vpdpbusds 0xfe0\(%edx\),%ymm3,%ymm2\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 39 51 52 7f[ ]*vpdpbusds 0x1fc\(%edx\)\{1to8\},%ymm3,%ymm2\{%k1\} ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+: 62 f2 57 28 72 f4 vcvtne2ps2bf16 %ymm4,%ymm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 57 08 72 f4 vcvtne2ps2bf16 %xmm4,%xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 57 2f 72 b4 f4 00 00 00 10 vcvtne2ps2bf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 57 38 72 31 vcvtne2ps2bf16 \(%ecx\)\{1to8\},%ymm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 57 28 72 71 7f vcvtne2ps2bf16 0xfe0\(%ecx\),%ymm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 57 bf 72 b2 00 f0 ff ff vcvtne2ps2bf16 -0x1000\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 57 0f 72 b4 f4 00 00 00 10 vcvtne2ps2bf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 57 18 72 31 vcvtne2ps2bf16 \(%ecx\)\{1to4\},%xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 57 08 72 71 7f vcvtne2ps2bf16 0x7f0\(%ecx\),%xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 57 9f 72 b2 00 f8 ff ff vcvtne2ps2bf16 -0x800\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 7e 08 72 f5 vcvtneps2bf16 %xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 28 72 f5 vcvtneps2bf16 %ymm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 0f 72 b4 f4 00 00 00 10 vcvtneps2bf16x 0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 7e 18 72 31 vcvtneps2bf16 \(%ecx\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 18 72 31 vcvtneps2bf16 \(%ecx\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 08 72 71 7f vcvtneps2bf16x 0x7f0\(%ecx\),%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 9f 72 b2 00 f8 ff ff vcvtneps2bf16 -0x800\(%edx\)\{1to4\},%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 7e 38 72 31 vcvtneps2bf16 \(%ecx\)\{1to8\},%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 38 72 31 vcvtneps2bf16 \(%ecx\)\{1to8\},%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 28 72 71 7f vcvtneps2bf16y 0xfe0\(%ecx\),%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e bf 72 b2 00 f0 ff ff vcvtneps2bf16 -0x1000\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 56 28 52 f4 vdpbf16ps %ymm4,%ymm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 56 08 52 f4 vdpbf16ps %xmm4,%xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 56 2f 52 b4 f4 00 00 00 10 vdpbf16ps 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 56 38 52 31 vdpbf16ps \(%ecx\)\{1to8\},%ymm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 56 28 52 71 7f vdpbf16ps 0xfe0\(%ecx\),%ymm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 56 bf 52 b2 00 f0 ff ff vdpbf16ps -0x1000\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 56 0f 52 b4 f4 00 00 00 10 vdpbf16ps 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 56 18 52 31 vdpbf16ps \(%ecx\)\{1to4\},%xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 56 08 52 71 7f vdpbf16ps 0x7f0\(%ecx\),%xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 56 9f 52 b2 00 f8 ff ff vdpbf16ps -0x800\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 57 28 72 f4 vcvtne2ps2bf16 %ymm4,%ymm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 57 08 72 f4 vcvtne2ps2bf16 %xmm4,%xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 57 2f 72 b4 f4 00 00 00 10 vcvtne2ps2bf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 57 38 72 31 vcvtne2ps2bf16 \(%ecx\)\{1to8\},%ymm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 57 28 72 71 7f vcvtne2ps2bf16 0xfe0\(%ecx\),%ymm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 57 bf 72 b2 00 f0 ff ff vcvtne2ps2bf16 -0x1000\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 57 0f 72 b4 f4 00 00 00 10 vcvtne2ps2bf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 57 18 72 31 vcvtne2ps2bf16 \(%ecx\)\{1to4\},%xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 57 08 72 71 7f vcvtne2ps2bf16 0x7f0\(%ecx\),%xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 57 9f 72 b2 00 f8 ff ff vcvtne2ps2bf16 -0x800\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 7e 08 72 f5 vcvtneps2bf16 %xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 28 72 f5 vcvtneps2bf16 %ymm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 0f 72 b4 f4 00 00 00 10 vcvtneps2bf16x 0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 7e 18 72 31 vcvtneps2bf16 \(%ecx\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 18 72 31 vcvtneps2bf16 \(%ecx\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 08 72 71 7f vcvtneps2bf16x 0x7f0\(%ecx\),%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 9f 72 b2 00 f8 ff ff vcvtneps2bf16 -0x800\(%edx\)\{1to4\},%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 7e 38 72 31 vcvtneps2bf16 \(%ecx\)\{1to8\},%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 38 72 31 vcvtneps2bf16 \(%ecx\)\{1to8\},%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 28 72 71 7f vcvtneps2bf16y 0xfe0\(%ecx\),%xmm6 ++[ ]*[a-f0-9]+: 62 f2 7e bf 72 b2 00 f0 ff ff vcvtneps2bf16 -0x1000\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 56 28 52 f4 vdpbf16ps %ymm4,%ymm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 56 08 52 f4 vdpbf16ps %xmm4,%xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 56 2f 52 b4 f4 00 00 00 10 vdpbf16ps 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 56 38 52 31 vdpbf16ps \(%ecx\)\{1to8\},%ymm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 56 28 52 71 7f vdpbf16ps 0xfe0\(%ecx\),%ymm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 56 bf 52 b2 00 f0 ff ff vdpbf16ps -0x1000\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 56 0f 52 b4 f4 00 00 00 10 vdpbf16ps 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 56 18 52 31 vdpbf16ps \(%ecx\)\{1to4\},%xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 56 08 52 71 7f vdpbf16ps 0x7f0\(%ecx\),%xmm5,%xmm6 ++[ ]*[a-f0-9]+: 62 f2 56 9f 52 b2 00 f8 ff ff vdpbf16ps -0x800\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 f5[ ]*vpopcntd %ymm5,%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 55 f5[ ]*vpopcntd %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 55 f5[ ]*vpopcntd %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 31[ ]*vpopcntd \(%ecx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 b4 f4 c0 1d fe ff[ ]*vpopcntd -0x1e240\(%esp,%esi,8\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 38 55 30[ ]*vpopcntd \(%eax\)\{1to8\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 72 7f[ ]*vpopcntd 0xfe0\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 b2 00 10 00 00[ ]*vpopcntd 0x1000\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 72 80[ ]*vpopcntd -0x1000\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 b2 e0 ef ff ff[ ]*vpopcntd -0x1020\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 38 55 72 7f[ ]*vpopcntd 0x1fc\(%edx\)\{1to8\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 38 55 b2 00 02 00 00[ ]*vpopcntd 0x200\(%edx\)\{1to8\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 38 55 72 80[ ]*vpopcntd -0x200\(%edx\)\{1to8\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 38 55 b2 fc fd ff ff[ ]*vpopcntd -0x204\(%edx\)\{1to8\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 f5[ ]*vpopcntq %ymm5,%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 55 f5[ ]*vpopcntq %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 55 f5[ ]*vpopcntq %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 31[ ]*vpopcntq \(%ecx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 b4 f4 c0 1d fe ff[ ]*vpopcntq -0x1e240\(%esp,%esi,8\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 38 55 30[ ]*vpopcntq \(%eax\)\{1to4\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 72 7f[ ]*vpopcntq 0xfe0\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 b2 00 10 00 00[ ]*vpopcntq 0x1000\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 72 80[ ]*vpopcntq -0x1000\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 b2 e0 ef ff ff[ ]*vpopcntq -0x1020\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 38 55 72 7f[ ]*vpopcntq 0x3f8\(%edx\)\{1to4\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 38 55 b2 00 04 00 00[ ]*vpopcntq 0x400\(%edx\)\{1to4\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 38 55 72 80[ ]*vpopcntq -0x400\(%edx\)\{1to4\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 38 55 b2 f8 fb ff ff[ ]*vpopcntq -0x408\(%edx\)\{1to4\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 f5[ ]*vpopcntd %xmm5,%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 55 f5[ ]*vpopcntd %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 55 f5[ ]*vpopcntd %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 31[ ]*vpopcntd \(%ecx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 b4 f4 c0 1d fe ff[ ]*vpopcntd -0x1e240\(%esp,%esi,8\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 18 55 30[ ]*vpopcntd \(%eax\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 18 55 30[ ]*vpopcntd \(%eax\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 72 7f[ ]*vpopcntd 0x7f0\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 b2 00 08 00 00[ ]*vpopcntd 0x800\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 72 80[ ]*vpopcntd -0x800\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 b2 f0 f7 ff ff[ ]*vpopcntd -0x810\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 18 55 72 7f[ ]*vpopcntd 0x1fc\(%edx\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 18 55 b2 00 02 00 00[ ]*vpopcntd 0x200\(%edx\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 18 55 72 80[ ]*vpopcntd -0x200\(%edx\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 18 55 b2 fc fd ff ff[ ]*vpopcntd -0x204\(%edx\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 f5[ ]*vpopcntq %xmm5,%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 55 f5[ ]*vpopcntq %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 55 f5[ ]*vpopcntq %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 31[ ]*vpopcntq \(%ecx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 b4 f4 c0 1d fe ff[ ]*vpopcntq -0x1e240\(%esp,%esi,8\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 18 55 30[ ]*vpopcntq \(%eax\)\{1to2\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 18 55 30[ ]*vpopcntq \(%eax\)\{1to2\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 72 7f[ ]*vpopcntq 0x7f0\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 b2 00 08 00 00[ ]*vpopcntq 0x800\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 72 80[ ]*vpopcntq -0x800\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 b2 f0 f7 ff ff[ ]*vpopcntq -0x810\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 18 55 72 7f[ ]*vpopcntq 0x3f8\(%edx\)\{1to2\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 18 55 b2 00 04 00 00[ ]*vpopcntq 0x400\(%edx\)\{1to2\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 18 55 72 80[ ]*vpopcntq -0x400\(%edx\)\{1to2\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 18 55 b2 f8 fb ff ff[ ]*vpopcntq -0x408\(%edx\)\{1to2\},%xmm6 ++#pass +diff --git a/gas/testsuite/gas/i386/avx10.1-256-5.s b/gas/testsuite/gas/i386/avx10.1-256-5.s +new file mode 100644 +index 00000000000..06fba12199c +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-5.s +@@ -0,0 +1,25 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ ++ .include "avx512bitalg_vl.s" ++ ++ .att_syntax prefix ++ .include "avx512cd_vl.s" ++ ++ .att_syntax prefix ++ .include "avx512ifma_vl.s" ++ ++ .att_syntax prefix ++ .include "avx512vbmi_vl.s" ++ ++ .att_syntax prefix ++ .include "avx512vbmi2_vl.s" ++ ++ .att_syntax prefix ++ .include "avx512vnni_vl.s" ++ ++ .att_syntax prefix ++ .include "avx512_bf16_vl.s" ++ ++ .att_syntax prefix ++ .include "avx512_vpopcntdq_vl.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-256-gfni.d b/gas/testsuite/gas/i386/avx10.1-256-gfni.d +new file mode 100644 +index 00000000000..02666df252a +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-gfni.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/256 + GFNI ++#dump: avx512vl_gfni.d +diff --git a/gas/testsuite/gas/i386/avx10.1-256-gfni.s b/gas/testsuite/gas/i386/avx10.1-256-gfni.s +new file mode 100644 +index 00000000000..3fca3887d63 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-gfni.s +@@ -0,0 +1,4 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .arch .gfni ++ .include "avx512vl_gfni.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-256-vaes.d b/gas/testsuite/gas/i386/avx10.1-256-vaes.d +new file mode 100644 +index 00000000000..3f4f7494d20 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-vaes.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/256 + VAES ++#dump: avx512vl_vaes.d +diff --git a/gas/testsuite/gas/i386/avx10.1-256-vaes.s b/gas/testsuite/gas/i386/avx10.1-256-vaes.s +new file mode 100644 +index 00000000000..45a5675287a +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-vaes.s +@@ -0,0 +1,4 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .arch .vaes ++ .include "avx512vl_vaes.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.d b/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.d +new file mode 100644 +index 00000000000..2e211b954a6 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/256 + VPLCMULQDQ ++#dump: avx512vl_vpclmulqdq.d +diff --git a/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.s b/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.s +new file mode 100644 +index 00000000000..89b1438cdc5 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.s +@@ -0,0 +1,4 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .arch .vpclmulqdq ++ .include "avx512vl_vpclmulqdq.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-512-1.d b/gas/testsuite/gas/i386/avx10.1-512-1.d +new file mode 100644 +index 00000000000..09dcbeb1837 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-1.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/512 (part 1) ++#dump: avx512f.d +diff --git a/gas/testsuite/gas/i386/avx10.1-512-1.s b/gas/testsuite/gas/i386/avx10.1-512-1.s +new file mode 100644 +index 00000000000..41ba54f80dd +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-1.s +@@ -0,0 +1,3 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .include "avx512f.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-512-2.d b/gas/testsuite/gas/i386/avx10.1-512-2.d +new file mode 100644 +index 00000000000..c190e557c59 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-2.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/512 (part 2) ++#dump: avx512bw.d +diff --git a/gas/testsuite/gas/i386/avx10.1-512-2.s b/gas/testsuite/gas/i386/avx10.1-512-2.s +new file mode 100644 +index 00000000000..5950c030ed1 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-2.s +@@ -0,0 +1,3 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .include "avx512bw.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-512-3.d b/gas/testsuite/gas/i386/avx10.1-512-3.d +new file mode 100644 +index 00000000000..c88b24b36b8 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-3.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/512 (part 3) ++#dump: avx512dq.d +diff --git a/gas/testsuite/gas/i386/avx10.1-512-3.s b/gas/testsuite/gas/i386/avx10.1-512-3.s +new file mode 100644 +index 00000000000..dc554d5d09b +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-3.s +@@ -0,0 +1,3 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .include "avx512dq.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-512-4.d b/gas/testsuite/gas/i386/avx10.1-512-4.d +new file mode 100644 +index 00000000000..ebf21e23d36 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-4.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/512 (part 4) ++#dump: avx512_fp16.d +diff --git a/gas/testsuite/gas/i386/avx10.1-512-4.s b/gas/testsuite/gas/i386/avx10.1-512-4.s +new file mode 100644 +index 00000000000..e2f8264d7dc +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-4.s +@@ -0,0 +1,3 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .include "avx512_fp16.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-512-5.d b/gas/testsuite/gas/i386/avx10.1-512-5.d +new file mode 100644 +index 00000000000..3fa81e55f64 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-5.d +@@ -0,0 +1,654 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/512 (part 5) ++ ++.*: +file format .* ++ ++ ++Disassembly of section \.text: ++ ++0+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8f ec[ ]*vpshufbitqmb %zmm4,%zmm5,%k5 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4f 8f ec[ ]*vpshufbitqmb %zmm4,%zmm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8f ac f4 c0 1d fe ff[ ]*vpshufbitqmb -0x1e240\(%esp,%esi,8\),%zmm5,%k5 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8f 6a 7f[ ]*vpshufbitqmb 0x1fc0\(%edx\),%zmm5,%k5 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 54 f5[ ]*vpopcntb %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 54 f5[ ]*vpopcntb %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d cf 54 f5[ ]*vpopcntb %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 54 b4 f4 c0 1d fe ff[ ]*vpopcntb -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 54 72 7f[ ]*vpopcntb 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 54 f5[ ]*vpopcntw %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 54 f5[ ]*vpopcntw %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd cf 54 f5[ ]*vpopcntw %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 54 b4 f4 c0 1d fe ff[ ]*vpopcntw -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 54 72 7f[ ]*vpopcntw 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 f5[ ]*vpopcntd %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 55 f5[ ]*vpopcntd %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d cf 55 f5[ ]*vpopcntd %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 b4 f4 c0 1d fe ff[ ]*vpopcntd -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 72 7f[ ]*vpopcntd 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 72 7f[ ]*vpopcntd 0x1fc\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 f5[ ]*vpopcntq %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 55 f5[ ]*vpopcntq %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd cf 55 f5[ ]*vpopcntq %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 b4 f4 c0 1d fe ff[ ]*vpopcntq -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 72 7f[ ]*vpopcntq 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 72 7f[ ]*vpopcntq 0x3f8\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8f ec[ ]*vpshufbitqmb %zmm4,%zmm5,%k5 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4f 8f ec[ ]*vpshufbitqmb %zmm4,%zmm5,%k5\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8f ac f4 c0 1d fe ff[ ]*vpshufbitqmb -0x1e240\(%esp,%esi,8\),%zmm5,%k5 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8f 6a 7f[ ]*vpshufbitqmb 0x1fc0\(%edx\),%zmm5,%k5 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 54 f5[ ]*vpopcntb %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 54 f5[ ]*vpopcntb %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d cf 54 f5[ ]*vpopcntb %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 54 b4 f4 c0 1d fe ff[ ]*vpopcntb -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 54 72 7f[ ]*vpopcntb 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 54 f5[ ]*vpopcntw %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 54 f5[ ]*vpopcntw %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd cf 54 f5[ ]*vpopcntw %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 54 b4 f4 c0 1d fe ff[ ]*vpopcntw -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 54 72 7f[ ]*vpopcntw 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 f5[ ]*vpopcntd %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 55 f5[ ]*vpopcntd %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d cf 55 f5[ ]*vpopcntd %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 b4 f4 c0 1d fe ff[ ]*vpopcntd -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 72 7f[ ]*vpopcntd 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 72 7f[ ]*vpopcntd 0x1fc\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 f5[ ]*vpopcntq %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 55 f5[ ]*vpopcntq %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd cf 55 f5[ ]*vpopcntq %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 b4 f4 c0 1d fe ff[ ]*vpopcntq -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 72 7f[ ]*vpopcntq 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 72 7f[ ]*vpopcntq 0x3f8\(%edx\)\{1to8\},%zmm6 ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 f5 vpconflictd %zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 4f c4 f5 vpconflictd %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 7d cf c4 f5 vpconflictd %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 31 vpconflictd \(%ecx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 b4 f4 c0 1d fe ff vpconflictd -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 c4 30 vpconflictd \(%eax\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 72 7f vpconflictd 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 b2 00 20 00 00 vpconflictd 0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 72 80 vpconflictd -0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 b2 c0 df ff ff vpconflictd -0x2040\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 c4 72 7f vpconflictd 0x1fc\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 c4 b2 00 02 00 00 vpconflictd 0x200\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 c4 72 80 vpconflictd -0x200\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 c4 b2 fc fd ff ff vpconflictd -0x204\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 f5 vpconflictq %zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 4f c4 f5 vpconflictq %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 fd cf c4 f5 vpconflictq %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 31 vpconflictq \(%ecx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 b4 f4 c0 1d fe ff vpconflictq -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 c4 30 vpconflictq \(%eax\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 72 7f vpconflictq 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 b2 00 20 00 00 vpconflictq 0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 72 80 vpconflictq -0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 b2 c0 df ff ff vpconflictq -0x2040\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 c4 72 7f vpconflictq 0x3f8\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 c4 b2 00 04 00 00 vpconflictq 0x400\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 c4 72 80 vpconflictq -0x400\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 c4 b2 f8 fb ff ff vpconflictq -0x408\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 f5 vplzcntd %zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 4f 44 f5 vplzcntd %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 7d cf 44 f5 vplzcntd %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 31 vplzcntd \(%ecx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 b4 f4 c0 1d fe ff vplzcntd -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 44 30 vplzcntd \(%eax\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 72 7f vplzcntd 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 b2 00 20 00 00 vplzcntd 0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 72 80 vplzcntd -0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 b2 c0 df ff ff vplzcntd -0x2040\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 44 72 7f vplzcntd 0x1fc\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 44 b2 00 02 00 00 vplzcntd 0x200\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 44 72 80 vplzcntd -0x200\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 44 b2 fc fd ff ff vplzcntd -0x204\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 f5 vplzcntq %zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 4f 44 f5 vplzcntq %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 fd cf 44 f5 vplzcntq %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 31 vplzcntq \(%ecx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 b4 f4 c0 1d fe ff vplzcntq -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 44 30 vplzcntq \(%eax\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 72 7f vplzcntq 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 b2 00 20 00 00 vplzcntq 0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 72 80 vplzcntq -0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 b2 c0 df ff ff vplzcntq -0x2040\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 44 72 7f vplzcntq 0x3f8\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 44 b2 00 04 00 00 vplzcntq 0x400\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 44 72 80 vplzcntq -0x400\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 44 b2 f8 fb ff ff vplzcntq -0x408\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 48 3a f6 vpbroadcastmw2d %k6,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fe 48 2a f6 vpbroadcastmb2q %k6,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 f5 vpconflictd %zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 4f c4 f5 vpconflictd %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 7d cf c4 f5 vpconflictd %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 31 vpconflictd \(%ecx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 b4 f4 c0 1d fe ff vpconflictd -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 c4 30 vpconflictd \(%eax\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 72 7f vpconflictd 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 b2 00 20 00 00 vpconflictd 0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 72 80 vpconflictd -0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 c4 b2 c0 df ff ff vpconflictd -0x2040\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 c4 72 7f vpconflictd 0x1fc\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 c4 b2 00 02 00 00 vpconflictd 0x200\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 c4 72 80 vpconflictd -0x200\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 c4 b2 fc fd ff ff vpconflictd -0x204\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 f5 vpconflictq %zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 4f c4 f5 vpconflictq %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 fd cf c4 f5 vpconflictq %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 31 vpconflictq \(%ecx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 b4 f4 c0 1d fe ff vpconflictq -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 c4 30 vpconflictq \(%eax\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 72 7f vpconflictq 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 b2 00 20 00 00 vpconflictq 0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 72 80 vpconflictq -0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 c4 b2 c0 df ff ff vpconflictq -0x2040\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 c4 72 7f vpconflictq 0x3f8\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 c4 b2 00 04 00 00 vpconflictq 0x400\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 c4 72 80 vpconflictq -0x400\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 c4 b2 f8 fb ff ff vpconflictq -0x408\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 f5 vplzcntd %zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 4f 44 f5 vplzcntd %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 7d cf 44 f5 vplzcntd %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 31 vplzcntd \(%ecx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 b4 f4 c0 1d fe ff vplzcntd -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 44 30 vplzcntd \(%eax\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 72 7f vplzcntd 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 b2 00 20 00 00 vplzcntd 0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 72 80 vplzcntd -0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 48 44 b2 c0 df ff ff vplzcntd -0x2040\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 44 72 7f vplzcntd 0x1fc\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 44 b2 00 02 00 00 vplzcntd 0x200\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 44 72 80 vplzcntd -0x200\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7d 58 44 b2 fc fd ff ff vplzcntd -0x204\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 f5 vplzcntq %zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 4f 44 f5 vplzcntq %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 fd cf 44 f5 vplzcntq %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 31 vplzcntq \(%ecx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 b4 f4 c0 1d fe ff vplzcntq -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 44 30 vplzcntq \(%eax\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 72 7f vplzcntq 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 b2 00 20 00 00 vplzcntq 0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 72 80 vplzcntq -0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 48 44 b2 c0 df ff ff vplzcntq -0x2040\(%edx\),%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 44 72 7f vplzcntq 0x3f8\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 44 b2 00 04 00 00 vplzcntq 0x400\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 44 72 80 vplzcntq -0x400\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fd 58 44 b2 f8 fb ff ff vplzcntq -0x408\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+: 62 f2 7e 48 3a f6 vpbroadcastmw2d %k6,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 fe 48 2a f6 vpbroadcastmb2q %k6,%zmm6 ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 31[ ]*vpmadd52luq \(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 30[ ]*vpmadd52luq \(%eax\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 72 7f[ ]*vpmadd52luq 0x1fc0\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b2 00 20 00 00[ ]*vpmadd52luq 0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 72 80[ ]*vpmadd52luq -0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b2 c0 df ff ff[ ]*vpmadd52luq -0x2040\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 72 7f[ ]*vpmadd52luq 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 72 80[ ]*vpmadd52luq -0x400\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 f4[ ]*vpmadd52huq %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b5 f4[ ]*vpmadd52huq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b5 f4[ ]*vpmadd52huq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 31[ ]*vpmadd52huq \(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 30[ ]*vpmadd52huq \(%eax\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 72 7f[ ]*vpmadd52huq 0x1fc0\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b2 00 20 00 00[ ]*vpmadd52huq 0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 72 80[ ]*vpmadd52huq -0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b2 c0 df ff ff[ ]*vpmadd52huq -0x2040\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 72 7f[ ]*vpmadd52huq 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 72 80[ ]*vpmadd52huq -0x400\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 31[ ]*vpmadd52luq \(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 30[ ]*vpmadd52luq \(%eax\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 72 7f[ ]*vpmadd52luq 0x1fc0\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b2 00 20 00 00[ ]*vpmadd52luq 0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 72 80[ ]*vpmadd52luq -0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b2 c0 df ff ff[ ]*vpmadd52luq -0x2040\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 72 7f[ ]*vpmadd52luq 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 72 80[ ]*vpmadd52luq -0x400\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 f4[ ]*vpmadd52huq %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b5 f4[ ]*vpmadd52huq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b5 f4[ ]*vpmadd52huq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 31[ ]*vpmadd52huq \(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 30[ ]*vpmadd52huq \(%eax\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 72 7f[ ]*vpmadd52huq 0x1fc0\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b2 00 20 00 00[ ]*vpmadd52huq 0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 72 80[ ]*vpmadd52huq -0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b2 c0 df ff ff[ ]*vpmadd52huq -0x2040\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 72 7f[ ]*vpmadd52huq 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 72 80[ ]*vpmadd52huq -0x400\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%edx\)\{1to8\},%zmm5,%zmm6 ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d f4[ ]*vpermb %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4f 8d f4[ ]*vpermb %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 cf 8d f4[ ]*vpermb %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d 31[ ]*vpermb \(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d b4 f4 c0 1d fe ff[ ]*vpermb -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d 72 7f[ ]*vpermb 0x1fc0\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d b2 00 20 00 00[ ]*vpermb 0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d 72 80[ ]*vpermb -0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d b2 c0 df ff ff[ ]*vpermb -0x2040\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 f4[ ]*vpermi2b %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4f 75 f4[ ]*vpermi2b %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 cf 75 f4[ ]*vpermi2b %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 31[ ]*vpermi2b \(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 b4 f4 c0 1d fe ff[ ]*vpermi2b -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 72 7f[ ]*vpermi2b 0x1fc0\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 b2 00 20 00 00[ ]*vpermi2b 0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 72 80[ ]*vpermi2b -0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 b2 c0 df ff ff[ ]*vpermi2b -0x2040\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d f4[ ]*vpermt2b %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4f 7d f4[ ]*vpermt2b %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 cf 7d f4[ ]*vpermt2b %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d 31[ ]*vpermt2b \(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d b4 f4 c0 1d fe ff[ ]*vpermt2b -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d 72 7f[ ]*vpermt2b 0x1fc0\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d b2 00 20 00 00[ ]*vpermt2b 0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d 72 80[ ]*vpermt2b -0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d b2 c0 df ff ff[ ]*vpermt2b -0x2040\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 f4[ ]*vpmultishiftqb %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f 83 f4[ ]*vpmultishiftqb %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf 83 f4[ ]*vpmultishiftqb %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 31[ ]*vpmultishiftqb \(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 b4 f4 c0 1d fe ff[ ]*vpmultishiftqb -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 83 30[ ]*vpmultishiftqb \(%eax\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 72 7f[ ]*vpmultishiftqb 0x1fc0\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 b2 00 20 00 00[ ]*vpmultishiftqb 0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 72 80[ ]*vpmultishiftqb -0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 b2 c0 df ff ff[ ]*vpmultishiftqb -0x2040\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 83 72 7f[ ]*vpmultishiftqb 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 83 b2 00 04 00 00[ ]*vpmultishiftqb 0x400\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 83 72 80[ ]*vpmultishiftqb -0x400\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 83 b2 f8 fb ff ff[ ]*vpmultishiftqb -0x408\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d f4[ ]*vpermb %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4f 8d f4[ ]*vpermb %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 cf 8d f4[ ]*vpermb %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d 31[ ]*vpermb \(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d b4 f4 c0 1d fe ff[ ]*vpermb -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d 72 7f[ ]*vpermb 0x1fc0\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d b2 00 20 00 00[ ]*vpermb 0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d 72 80[ ]*vpermb -0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d b2 c0 df ff ff[ ]*vpermb -0x2040\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 f4[ ]*vpermi2b %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4f 75 f4[ ]*vpermi2b %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 cf 75 f4[ ]*vpermi2b %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 31[ ]*vpermi2b \(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 b4 f4 c0 1d fe ff[ ]*vpermi2b -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 72 7f[ ]*vpermi2b 0x1fc0\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 b2 00 20 00 00[ ]*vpermi2b 0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 72 80[ ]*vpermi2b -0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 75 b2 c0 df ff ff[ ]*vpermi2b -0x2040\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d f4[ ]*vpermt2b %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4f 7d f4[ ]*vpermt2b %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 cf 7d f4[ ]*vpermt2b %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d 31[ ]*vpermt2b \(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d b4 f4 c0 1d fe ff[ ]*vpermt2b -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d 72 7f[ ]*vpermt2b 0x1fc0\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d b2 00 20 00 00[ ]*vpermt2b 0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d 72 80[ ]*vpermt2b -0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 7d b2 c0 df ff ff[ ]*vpermt2b -0x2040\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 f4[ ]*vpmultishiftqb %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f 83 f4[ ]*vpmultishiftqb %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf 83 f4[ ]*vpmultishiftqb %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 31[ ]*vpmultishiftqb \(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 b4 f4 c0 1d fe ff[ ]*vpmultishiftqb -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 83 30[ ]*vpmultishiftqb \(%eax\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 72 7f[ ]*vpmultishiftqb 0x1fc0\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 b2 00 20 00 00[ ]*vpmultishiftqb 0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 72 80[ ]*vpmultishiftqb -0x2000\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 83 b2 c0 df ff ff[ ]*vpmultishiftqb -0x2040\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 83 72 7f[ ]*vpmultishiftqb 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 83 b2 00 04 00 00[ ]*vpmultishiftqb 0x400\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 83 72 80[ ]*vpmultishiftqb -0x400\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 83 b2 f8 fb ff ff[ ]*vpmultishiftqb -0x408\(%edx\)\{1to8\},%zmm5,%zmm6 ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 63 31[ ]*vpcompressb %zmm6,\(%ecx\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 63 b4 f4 c0 1d fe ff[ ]*vpcompressb %zmm6,-0x1e240\(%esp,%esi,8\) ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 63 72 7e[ ]*vpcompressb %zmm6,0x7e\(%edx\) ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 63 ee[ ]*vpcompressb %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 63 ee[ ]*vpcompressb %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d cf 63 ee[ ]*vpcompressb %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 63 31[ ]*vpcompressw %zmm6,\(%ecx\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 63 b4 f4 c0 1d fe ff[ ]*vpcompressw %zmm6,-0x1e240\(%esp,%esi,8\) ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 63 72 40[ ]*vpcompressw %zmm6,0x80\(%edx\) ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 63 ee[ ]*vpcompressw %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 63 ee[ ]*vpcompressw %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd cf 63 ee[ ]*vpcompressw %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 62 31[ ]*vpexpandb \(%ecx\),%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d cf 62 31[ ]*vpexpandb \(%ecx\),%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 62 b4 f4 c0 1d fe ff[ ]*vpexpandb -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 62 72 7e[ ]*vpexpandb 0x7e\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 62 f5[ ]*vpexpandb %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 62 f5[ ]*vpexpandb %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d cf 62 f5[ ]*vpexpandb %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 62 31[ ]*vpexpandw \(%ecx\),%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd cf 62 31[ ]*vpexpandw \(%ecx\),%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 62 b4 f4 c0 1d fe ff[ ]*vpexpandw -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 62 72 40[ ]*vpexpandw 0x80\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 62 f5[ ]*vpexpandw %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 62 f5[ ]*vpexpandw %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd cf 62 f5[ ]*vpexpandw %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 70 f4[ ]*vpshldvw %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f 70 f4[ ]*vpshldvw %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf 70 f4[ ]*vpshldvw %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 70 b4 f4 c0 1d fe ff[ ]*vpshldvw -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 70 72 02[ ]*vpshldvw 0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 71 f4[ ]*vpshldvd %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4f 71 f4[ ]*vpshldvd %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 cf 71 f4[ ]*vpshldvd %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 71 b4 f4 c0 1d fe ff[ ]*vpshldvd -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 71 72 02[ ]*vpshldvd 0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 58 71 72 7f[ ]*vpshldvd 0x1fc\(%edx\)\{1to16\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 71 f4[ ]*vpshldvq %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f 71 f4[ ]*vpshldvq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf 71 f4[ ]*vpshldvq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 71 b4 f4 c0 1d fe ff[ ]*vpshldvq -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 71 72 02[ ]*vpshldvq 0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 71 72 7f[ ]*vpshldvq 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 72 f4[ ]*vpshrdvw %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f 72 f4[ ]*vpshrdvw %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf 72 f4[ ]*vpshrdvw %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 72 b4 f4 c0 1d fe ff[ ]*vpshrdvw -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 72 72 02[ ]*vpshrdvw 0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 73 f4[ ]*vpshrdvd %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4f 73 f4[ ]*vpshrdvd %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 cf 73 f4[ ]*vpshrdvd %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 73 b4 f4 c0 1d fe ff[ ]*vpshrdvd -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 73 72 02[ ]*vpshrdvd 0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 58 73 72 7f[ ]*vpshrdvd 0x1fc\(%edx\)\{1to16\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 73 f4[ ]*vpshrdvq %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f 73 f4[ ]*vpshrdvq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf 73 f4[ ]*vpshrdvq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 73 b4 f4 c0 1d fe ff[ ]*vpshrdvq -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 73 72 02[ ]*vpshrdvq 0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 73 72 7f[ ]*vpshrdvq 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 4f 70 f4 ab[ ]*vpshldw \$0xab,%zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 cf 70 f4 ab[ ]*vpshldw \$0xab,%zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 70 f4 7b[ ]*vpshldw \$0x7b,%zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 70 b4 f4 c0 1d fe ff 7b[ ]*vpshldw \$0x7b,-0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 70 72 02 7b[ ]*vpshldw \$0x7b,0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 4f 71 f4 ab[ ]*vpshldd \$0xab,%zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 cf 71 f4 ab[ ]*vpshldd \$0xab,%zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 48 71 f4 7b[ ]*vpshldd \$0x7b,%zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 48 71 b4 f4 c0 1d fe ff 7b[ ]*vpshldd \$0x7b,-0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 48 71 72 02 7b[ ]*vpshldd \$0x7b,0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 58 71 72 7f 7b[ ]*vpshldd \$0x7b,0x1fc\(%edx\)\{1to16\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 4f 71 f4 ab[ ]*vpshldq \$0xab,%zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 cf 71 f4 ab[ ]*vpshldq \$0xab,%zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 71 b4 f4 c0 1d fe ff 7b[ ]*vpshldq \$0x7b,-0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 71 72 02 7b[ ]*vpshldq \$0x7b,0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 58 71 72 7f 7b[ ]*vpshldq \$0x7b,0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 72 f4 ab[ ]*vpshrdw \$0xab,%zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 4f 72 f4 ab[ ]*vpshrdw \$0xab,%zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 cf 72 f4 ab[ ]*vpshrdw \$0xab,%zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 72 b4 f4 c0 1d fe ff 7b[ ]*vpshrdw \$0x7b,-0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 72 72 02 7b[ ]*vpshrdw \$0x7b,0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 48 73 f4 ab[ ]*vpshrdd \$0xab,%zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 4f 73 f4 ab[ ]*vpshrdd \$0xab,%zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 cf 73 f4 ab[ ]*vpshrdd \$0xab,%zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 48 73 b4 f4 c0 1d fe ff 7b[ ]*vpshrdd \$0x7b,-0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 48 73 72 02 7b[ ]*vpshrdd \$0x7b,0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 58 73 72 7f 7b[ ]*vpshrdd \$0x7b,0x1fc\(%edx\)\{1to16\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 4f 73 f4 ab[ ]*vpshrdq \$0xab,%zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 cf 73 f4 ab[ ]*vpshrdq \$0xab,%zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 73 f4 7b[ ]*vpshrdq \$0x7b,%zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 73 b4 f4 c0 1d fe ff 7b[ ]*vpshrdq \$0x7b,-0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 73 72 02 7b[ ]*vpshrdq \$0x7b,0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 58 73 72 7f 7b[ ]*vpshrdq \$0x7b,0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 63 31[ ]*vpcompressb %zmm6,\(%ecx\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 63 b4 f4 c0 1d fe ff[ ]*vpcompressb %zmm6,-0x1e240\(%esp,%esi,8\) ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 63 72 7e[ ]*vpcompressb %zmm6,0x7e\(%edx\) ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 63 ee[ ]*vpcompressb %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 63 ee[ ]*vpcompressb %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d cf 63 ee[ ]*vpcompressb %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 63 31[ ]*vpcompressw %zmm6,\(%ecx\)\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 63 b4 f4 c0 1d fe ff[ ]*vpcompressw %zmm6,-0x1e240\(%esp,%esi,8\) ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 63 72 40[ ]*vpcompressw %zmm6,0x80\(%edx\) ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 63 ee[ ]*vpcompressw %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 63 ee[ ]*vpcompressw %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd cf 63 ee[ ]*vpcompressw %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 62 31[ ]*vpexpandb \(%ecx\),%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d cf 62 31[ ]*vpexpandb \(%ecx\),%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 62 b4 f4 c0 1d fe ff[ ]*vpexpandb -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 62 72 7e[ ]*vpexpandb 0x7e\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 62 f5[ ]*vpexpandb %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 62 f5[ ]*vpexpandb %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d cf 62 f5[ ]*vpexpandb %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 62 31[ ]*vpexpandw \(%ecx\),%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd cf 62 31[ ]*vpexpandw \(%ecx\),%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 62 b4 f4 c0 1d fe ff[ ]*vpexpandw -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 62 72 40[ ]*vpexpandw 0x80\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 62 f5[ ]*vpexpandw %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 62 f5[ ]*vpexpandw %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd cf 62 f5[ ]*vpexpandw %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 70 f4[ ]*vpshldvw %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f 70 f4[ ]*vpshldvw %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf 70 f4[ ]*vpshldvw %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 70 b4 f4 c0 1d fe ff[ ]*vpshldvw -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 70 72 02[ ]*vpshldvw 0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 71 f4[ ]*vpshldvd %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4f 71 f4[ ]*vpshldvd %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 cf 71 f4[ ]*vpshldvd %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 71 b4 f4 c0 1d fe ff[ ]*vpshldvd -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 71 72 02[ ]*vpshldvd 0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 58 71 72 7f[ ]*vpshldvd 0x1fc\(%edx\)\{1to16\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 71 f4[ ]*vpshldvq %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f 71 f4[ ]*vpshldvq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf 71 f4[ ]*vpshldvq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 71 b4 f4 c0 1d fe ff[ ]*vpshldvq -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 71 72 02[ ]*vpshldvq 0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 71 72 7f[ ]*vpshldvq 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 72 f4[ ]*vpshrdvw %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f 72 f4[ ]*vpshrdvw %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf 72 f4[ ]*vpshrdvw %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 72 b4 f4 c0 1d fe ff[ ]*vpshrdvw -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 72 72 02[ ]*vpshrdvw 0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 73 f4[ ]*vpshrdvd %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4f 73 f4[ ]*vpshrdvd %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 cf 73 f4[ ]*vpshrdvd %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 73 b4 f4 c0 1d fe ff[ ]*vpshrdvd -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 73 72 02[ ]*vpshrdvd 0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 58 73 72 7f[ ]*vpshrdvd 0x1fc\(%edx\)\{1to16\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 73 f4[ ]*vpshrdvq %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f 73 f4[ ]*vpshrdvq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf 73 f4[ ]*vpshrdvq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 73 b4 f4 c0 1d fe ff[ ]*vpshrdvq -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 73 72 02[ ]*vpshrdvq 0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 73 72 7f[ ]*vpshrdvq 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 70 f4 ab[ ]*vpshldw \$0xab,%zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 4f 70 f4 ab[ ]*vpshldw \$0xab,%zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 cf 70 f4 ab[ ]*vpshldw \$0xab,%zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 70 b4 f4 c0 1d fe ff 7b[ ]*vpshldw \$0x7b,-0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 70 72 02 7b[ ]*vpshldw \$0x7b,0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 48 71 f4 ab[ ]*vpshldd \$0xab,%zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 4f 71 f4 ab[ ]*vpshldd \$0xab,%zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 cf 71 f4 ab[ ]*vpshldd \$0xab,%zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 48 71 b4 f4 c0 1d fe ff 7b[ ]*vpshldd \$0x7b,-0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 48 71 72 02 7b[ ]*vpshldd \$0x7b,0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 58 71 72 7f 7b[ ]*vpshldd \$0x7b,0x1fc\(%edx\)\{1to16\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 71 f4 ab[ ]*vpshldq \$0xab,%zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 4f 71 f4 ab[ ]*vpshldq \$0xab,%zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 cf 71 f4 ab[ ]*vpshldq \$0xab,%zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 71 b4 f4 c0 1d fe ff 7b[ ]*vpshldq \$0x7b,-0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 71 72 02 7b[ ]*vpshldq \$0x7b,0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 58 71 72 7f 7b[ ]*vpshldq \$0x7b,0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 72 f4 ab[ ]*vpshrdw \$0xab,%zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 4f 72 f4 ab[ ]*vpshrdw \$0xab,%zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 cf 72 f4 ab[ ]*vpshrdw \$0xab,%zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 72 b4 f4 c0 1d fe ff 7b[ ]*vpshrdw \$0x7b,-0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 72 72 02 7b[ ]*vpshrdw \$0x7b,0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 48 73 f4 ab[ ]*vpshrdd \$0xab,%zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 4f 73 f4 ab[ ]*vpshrdd \$0xab,%zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 cf 73 f4 ab[ ]*vpshrdd \$0xab,%zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 55 48 73 b4 f4 c0 1d fe ff 7b[ ]*vpshrdd \$0x7b,-0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 48 73 72 02 7b[ ]*vpshrdd \$0x7b,0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 55 58 73 72 7f 7b[ ]*vpshrdd \$0x7b,0x1fc\(%edx\)\{1to16\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 73 f4 ab[ ]*vpshrdq \$0xab,%zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 4f 73 f4 ab[ ]*vpshrdq \$0xab,%zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 cf 73 f4 ab[ ]*vpshrdq \$0xab,%zmm4,%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 73 b4 f4 c0 1d fe ff 7b[ ]*vpshrdq \$0x7b,-0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 48 73 72 02 7b[ ]*vpshrdq \$0x7b,0x80\(%edx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f3 d5 58 73 72 7f 7b[ ]*vpshrdq \$0x7b,0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 75 48 52 e3[ ]*vpdpwssd %zmm3,%zmm1,%zmm4 ++[ ]*[a-f0-9]+:[ ]*62 f2 75 49 52 e3[ ]*vpdpwssd %zmm3,%zmm1,%zmm4\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 75 c9 52 e3[ ]*vpdpwssd %zmm3,%zmm1,%zmm4\{%k1\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 75 48 52 a4 f4 c0 1d fe ff[ ]*vpdpwssd -0x1e240\(%esp,%esi,8\),%zmm1,%zmm4 ++[ ]*[a-f0-9]+:[ ]*62 f2 75 48 52 62 7f[ ]*vpdpwssd 0x1fc0\(%edx\),%zmm1,%zmm4 ++[ ]*[a-f0-9]+:[ ]*62 f2 75 58 52 62 7f[ ]*vpdpwssd 0x1fc\(%edx\)\{1to16\},%zmm1,%zmm4 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 53 d4[ ]*vpdpwssds %zmm4,%zmm5,%zmm2 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 4e 53 d4[ ]*vpdpwssds %zmm4,%zmm5,%zmm2\{%k6\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 ce 53 d4[ ]*vpdpwssds %zmm4,%zmm5,%zmm2\{%k6\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 53 94 f4 c0 1d fe ff[ ]*vpdpwssds -0x1e240\(%esp,%esi,8\),%zmm5,%zmm2 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 48 53 52 7f[ ]*vpdpwssds 0x1fc0\(%edx\),%zmm5,%zmm2 ++[ ]*[a-f0-9]+:[ ]*62 f2 55 58 53 52 7f[ ]*vpdpwssds 0x1fc\(%edx\)\{1to16\},%zmm5,%zmm2 ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 48 50 eb[ ]*vpdpbusd %zmm3,%zmm2,%zmm5 ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 49 50 eb[ ]*vpdpbusd %zmm3,%zmm2,%zmm5\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d c9 50 eb[ ]*vpdpbusd %zmm3,%zmm2,%zmm5\{%k1\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 48 50 ac f4 c0 1d fe ff[ ]*vpdpbusd -0x1e240\(%esp,%esi,8\),%zmm2,%zmm5 ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 48 50 6a 7f[ ]*vpdpbusd 0x1fc0\(%edx\),%zmm2,%zmm5 ++[ ]*[a-f0-9]+:[ ]*62 f2 6d 58 50 6a 7f[ ]*vpdpbusd 0x1fc\(%edx\)\{1to16\},%zmm2,%zmm5 ++[ ]*[a-f0-9]+:[ ]*62 f2 65 48 51 e9[ ]*vpdpbusds %zmm1,%zmm3,%zmm5 ++[ ]*[a-f0-9]+:[ ]*62 f2 65 4a 51 e9[ ]*vpdpbusds %zmm1,%zmm3,%zmm5\{%k2\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 ca 51 e9[ ]*vpdpbusds %zmm1,%zmm3,%zmm5\{%k2\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 65 48 51 ac f4 c0 1d fe ff[ ]*vpdpbusds -0x1e240\(%esp,%esi,8\),%zmm3,%zmm5 ++[ ]*[a-f0-9]+:[ ]*62 f2 65 48 51 6a 7f[ ]*vpdpbusds 0x1fc0\(%edx\),%zmm3,%zmm5 ++[ ]*[a-f0-9]+:[ ]*62 f2 65 58 51 6a 7f[ ]*vpdpbusds 0x1fc\(%edx\)\{1to16\},%zmm3,%zmm5 ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 48 52 d9[ ]*vpdpwssd %zmm1,%zmm4,%zmm3 ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 4b 52 d9[ ]*vpdpwssd %zmm1,%zmm4,%zmm3\{%k3\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d cb 52 d9[ ]*vpdpwssd %zmm1,%zmm4,%zmm3\{%k3\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 48 52 9c f4 c0 1d fe ff[ ]*vpdpwssd -0x1e240\(%esp,%esi,8\),%zmm4,%zmm3 ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 48 52 5a 7f[ ]*vpdpwssd 0x1fc0\(%edx\),%zmm4,%zmm3 ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 58 52 5a 7f[ ]*vpdpwssd 0x1fc\(%edx\)\{1to16\},%zmm4,%zmm3 ++[ ]*[a-f0-9]+:[ ]*62 f2 75 48 53 da[ ]*vpdpwssds %zmm2,%zmm1,%zmm3 ++[ ]*[a-f0-9]+:[ ]*62 f2 75 4f 53 da[ ]*vpdpwssds %zmm2,%zmm1,%zmm3\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 75 cf 53 da[ ]*vpdpwssds %zmm2,%zmm1,%zmm3\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 75 48 53 9c f4 c0 1d fe ff[ ]*vpdpwssds -0x1e240\(%esp,%esi,8\),%zmm1,%zmm3 ++[ ]*[a-f0-9]+:[ ]*62 f2 75 48 53 5a 7f[ ]*vpdpwssds 0x1fc0\(%edx\),%zmm1,%zmm3 ++[ ]*[a-f0-9]+:[ ]*62 f2 75 58 53 5a 7f[ ]*vpdpwssds 0x1fc\(%edx\)\{1to16\},%zmm1,%zmm3 ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 48 50 d9[ ]*vpdpbusd %zmm1,%zmm4,%zmm3 ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 4e 50 d9[ ]*vpdpbusd %zmm1,%zmm4,%zmm3\{%k6\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d ce 50 d9[ ]*vpdpbusd %zmm1,%zmm4,%zmm3\{%k6\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 48 50 9c f4 c0 1d fe ff[ ]*vpdpbusd -0x1e240\(%esp,%esi,8\),%zmm4,%zmm3 ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 48 50 5a 7f[ ]*vpdpbusd 0x1fc0\(%edx\),%zmm4,%zmm3 ++[ ]*[a-f0-9]+:[ ]*62 f2 5d 58 50 5a 7f[ ]*vpdpbusd 0x1fc\(%edx\)\{1to16\},%zmm4,%zmm3 ++[ ]*[a-f0-9]+:[ ]*62 f2 75 48 51 c9[ ]*vpdpbusds %zmm1,%zmm1,%zmm1 ++[ ]*[a-f0-9]+:[ ]*62 f2 75 49 51 c9[ ]*vpdpbusds %zmm1,%zmm1,%zmm1\{%k1\} ++[ ]*[a-f0-9]+:[ ]*62 f2 75 c9 51 c9[ ]*vpdpbusds %zmm1,%zmm1,%zmm1\{%k1\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 75 48 51 8c f4 c0 1d fe ff[ ]*vpdpbusds -0x1e240\(%esp,%esi,8\),%zmm1,%zmm1 ++[ ]*[a-f0-9]+:[ ]*62 f2 75 48 51 4a 7f[ ]*vpdpbusds 0x1fc0\(%edx\),%zmm1,%zmm1 ++[ ]*[a-f0-9]+:[ ]*62 f2 75 58 51 4a 7f[ ]*vpdpbusds 0x1fc\(%edx\)\{1to16\},%zmm1,%zmm1 ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+: 62 f2 57 48 72 f4 vcvtne2ps2bf16 %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 57 4f 72 b4 f4 00 00 00 10 vcvtne2ps2bf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 57 58 72 31 vcvtne2ps2bf16 \(%ecx\)\{1to16\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 57 48 72 71 7f vcvtne2ps2bf16 0x1fc0\(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 57 df 72 b2 00 e0 ff ff vcvtne2ps2bf16 -0x2000\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 7e 48 72 f5 vcvtneps2bf16 %zmm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 7e 4f 72 b4 f4 00 00 00 10 vcvtneps2bf16 0x10000000\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 7e 58 72 31 vcvtneps2bf16 \(%ecx\)\{1to16\},%ymm6 ++[ ]*[a-f0-9]+: 62 f2 7e 48 72 71 7f vcvtneps2bf16 0x1fc0\(%ecx\),%ymm6 ++[ ]*[a-f0-9]+: 62 f2 7e df 72 b2 00 e0 ff ff vcvtneps2bf16 -0x2000\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 56 48 52 f4 vdpbf16ps %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 56 4f 52 b4 f4 00 00 00 10 vdpbf16ps 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 56 58 52 31 vdpbf16ps \(%ecx\)\{1to16\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 56 48 52 71 7f vdpbf16ps 0x1fc0\(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 56 df 52 b2 00 e0 ff ff vdpbf16ps -0x2000\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 57 48 72 f4 vcvtne2ps2bf16 %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 57 4f 72 b4 f4 00 00 00 10 vcvtne2ps2bf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 57 58 72 31 vcvtne2ps2bf16 \(%ecx\)\{1to16\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 57 48 72 71 7f vcvtne2ps2bf16 0x1fc0\(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 57 df 72 b2 00 e0 ff ff vcvtne2ps2bf16 -0x2000\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 7e 48 72 f5 vcvtneps2bf16 %zmm5,%ymm6 ++[ ]*[a-f0-9]+: 62 f2 7e 4f 72 b4 f4 00 00 00 10 vcvtneps2bf16 0x10000000\(%esp,%esi,8\),%ymm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 7e 58 72 31 vcvtneps2bf16 \(%ecx\)\{1to16\},%ymm6 ++[ ]*[a-f0-9]+: 62 f2 7e 48 72 71 7f vcvtneps2bf16 0x1fc0\(%ecx\),%ymm6 ++[ ]*[a-f0-9]+: 62 f2 7e df 72 b2 00 e0 ff ff vcvtneps2bf16 -0x2000\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+: 62 f2 56 48 52 f4 vdpbf16ps %zmm4,%zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 56 4f 52 b4 f4 00 00 00 10 vdpbf16ps 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+: 62 f2 56 58 52 31 vdpbf16ps \(%ecx\)\{1to16\},%zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 56 48 52 71 7f vdpbf16ps 0x1fc0\(%ecx\),%zmm5,%zmm6 ++[ ]*[a-f0-9]+: 62 f2 56 df 52 b2 00 e0 ff ff vdpbf16ps -0x2000\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} ++ ++0+[a-f0-9]+ : ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 f5[ ]*vpopcntd %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 55 f5[ ]*vpopcntd %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d cf 55 f5[ ]*vpopcntd %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 31[ ]*vpopcntd \(%ecx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 b4 f4 c0 1d fe ff[ ]*vpopcntd -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 30[ ]*vpopcntd \(%eax\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 72 7f[ ]*vpopcntd 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 b2 00 20 00 00[ ]*vpopcntd 0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 72 80[ ]*vpopcntd -0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 b2 c0 df ff ff[ ]*vpopcntd -0x2040\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 72 7f[ ]*vpopcntd 0x1fc\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 b2 00 02 00 00[ ]*vpopcntd 0x200\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 72 80[ ]*vpopcntd -0x200\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 b2 fc fd ff ff[ ]*vpopcntd -0x204\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 f5[ ]*vpopcntq %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 55 f5[ ]*vpopcntq %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd cf 55 f5[ ]*vpopcntq %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 31[ ]*vpopcntq \(%ecx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 b4 f4 c0 1d fe ff[ ]*vpopcntq -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 30[ ]*vpopcntq \(%eax\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 72 7f[ ]*vpopcntq 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 b2 00 20 00 00[ ]*vpopcntq 0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 72 80[ ]*vpopcntq -0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 b2 c0 df ff ff[ ]*vpopcntq -0x2040\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 72 7f[ ]*vpopcntq 0x3f8\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 b2 00 04 00 00[ ]*vpopcntq 0x400\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 72 80[ ]*vpopcntq -0x400\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 b2 f8 fb ff ff[ ]*vpopcntq -0x408\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 f5[ ]*vpopcntd %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 55 f5[ ]*vpopcntd %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d cf 55 f5[ ]*vpopcntd %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 31[ ]*vpopcntd \(%ecx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 b4 f4 c0 1d fe ff[ ]*vpopcntd -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 30[ ]*vpopcntd \(%eax\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 30[ ]*vpopcntd \(%eax\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 72 7f[ ]*vpopcntd 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 b2 00 20 00 00[ ]*vpopcntd 0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 72 80[ ]*vpopcntd -0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 b2 c0 df ff ff[ ]*vpopcntd -0x2040\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 72 7f[ ]*vpopcntd 0x1fc\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 b2 00 02 00 00[ ]*vpopcntd 0x200\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 72 80[ ]*vpopcntd -0x200\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 58 55 b2 fc fd ff ff[ ]*vpopcntd -0x204\(%edx\)\{1to16\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 f5[ ]*vpopcntq %zmm5,%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 4f 55 f5[ ]*vpopcntq %zmm5,%zmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd cf 55 f5[ ]*vpopcntq %zmm5,%zmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 31[ ]*vpopcntq \(%ecx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 b4 f4 c0 1d fe ff[ ]*vpopcntq -0x1e240\(%esp,%esi,8\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 30[ ]*vpopcntq \(%eax\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 30[ ]*vpopcntq \(%eax\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 72 7f[ ]*vpopcntq 0x1fc0\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 b2 00 20 00 00[ ]*vpopcntq 0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 72 80[ ]*vpopcntq -0x2000\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 48 55 b2 c0 df ff ff[ ]*vpopcntq -0x2040\(%edx\),%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 72 7f[ ]*vpopcntq 0x3f8\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 b2 00 04 00 00[ ]*vpopcntq 0x400\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 72 80[ ]*vpopcntq -0x400\(%edx\)\{1to8\},%zmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 58 55 b2 f8 fb ff ff[ ]*vpopcntq -0x408\(%edx\)\{1to8\},%zmm6 ++#pass +diff --git a/gas/testsuite/gas/i386/avx10.1-512-5.s b/gas/testsuite/gas/i386/avx10.1-512-5.s +new file mode 100644 +index 00000000000..958bc7645df +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-5.s +@@ -0,0 +1,25 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ ++ .include "avx512bitalg.s" ++ ++ .att_syntax prefix ++ .include "avx512cd.s" ++ ++ .att_syntax prefix ++ .include "avx512ifma.s" ++ ++ .att_syntax prefix ++ .include "avx512vbmi.s" ++ ++ .att_syntax prefix ++ .include "avx512vbmi2.s" ++ ++ .att_syntax prefix ++ .include "avx512vnni.s" ++ ++ .att_syntax prefix ++ .include "avx512_bf16.s" ++ ++ .att_syntax prefix ++ .include "avx512_vpopcntdq.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-512-gfni.d b/gas/testsuite/gas/i386/avx10.1-512-gfni.d +new file mode 100644 +index 00000000000..2fa01220ff2 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-gfni.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/512 + GFNI ++#dump: avx512f_gfni.d +diff --git a/gas/testsuite/gas/i386/avx10.1-512-gfni.s b/gas/testsuite/gas/i386/avx10.1-512-gfni.s +new file mode 100644 +index 00000000000..ba008cb31c8 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-gfni.s +@@ -0,0 +1,4 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .arch .gfni ++ .include "avx512f_gfni.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-512-vaes.d b/gas/testsuite/gas/i386/avx10.1-512-vaes.d +new file mode 100644 +index 00000000000..1d4be83bdd2 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-vaes.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/512 + VAES ++#dump: avx512f_vaes.d +diff --git a/gas/testsuite/gas/i386/avx10.1-512-vaes.s b/gas/testsuite/gas/i386/avx10.1-512-vaes.s +new file mode 100644 +index 00000000000..fcc0bec51c1 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-vaes.s +@@ -0,0 +1,4 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .arch .vaes ++ .include "avx512f_vaes.s" +diff --git a/gas/testsuite/gas/i386/avx10.1-512-vpclmulqdq.d b/gas/testsuite/gas/i386/avx10.1-512-vpclmulqdq.d +new file mode 100644 +index 00000000000..8c2678872d7 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-vpclmulqdq.d +@@ -0,0 +1,4 @@ ++#as: -I${srcdir}/$subdir ++#objdump: -dw ++#name: AVX10.1/512 + VPCLMULQDQ ++#dump: avx512f_vpclmulqdq.d +diff --git a/gas/testsuite/gas/i386/avx10.1-512-vpclmulqdq.s b/gas/testsuite/gas/i386/avx10.1-512-vpclmulqdq.s +new file mode 100644 +index 00000000000..6761e564d3d +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx10.1-512-vpclmulqdq.s +@@ -0,0 +1,4 @@ ++ .arch generic32 ++ .arch .avx10.1 ++ .arch .vpclmulqdq ++ .include "avx512f_vpclmulqdq.s" +diff --git a/gas/testsuite/gas/i386/avx512_bf16.d b/gas/testsuite/gas/i386/avx512_bf16.d +index e988ce89a2e..25fb0569784 100644 +--- a/gas/testsuite/gas/i386/avx512_bf16.d ++++ b/gas/testsuite/gas/i386/avx512_bf16.d +@@ -8,7 +8,7 @@ + + Disassembly of section .text: + +-0+ <_start>: ++0+ : + [ ]*[a-f0-9]+: 62 f2 57 48 72 f4 vcvtne2ps2bf16 %zmm4,%zmm5,%zmm6 + [ ]*[a-f0-9]+: 62 f2 57 4f 72 b4 f4 00 00 00 10 vcvtne2ps2bf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} + [ ]*[a-f0-9]+: 62 f2 57 58 72 31 vcvtne2ps2bf16 \(%ecx\)\{1to16\},%zmm5,%zmm6 +diff --git a/gas/testsuite/gas/i386/avx512_bf16.s b/gas/testsuite/gas/i386/avx512_bf16.s +index ad677e69794..bc6a8ebf013 100644 +--- a/gas/testsuite/gas/i386/avx512_bf16.s ++++ b/gas/testsuite/gas/i386/avx512_bf16.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++bf16: + vcvtne2ps2bf16 %zmm4, %zmm5, %zmm6 #AVX512_BF16 + vcvtne2ps2bf16 0x10000000(%esp, %esi, 8), %zmm5, %zmm6{%k7} #AVX512_BF16 MASK_ENABLING + vcvtne2ps2bf16 (%ecx){1to16}, %zmm5, %zmm6 #AVX512_BF16 BROADCAST_EN +diff --git a/gas/testsuite/gas/i386/avx512_bf16_vl.d b/gas/testsuite/gas/i386/avx512_bf16_vl.d +index 21d7c8a6796..39f34317385 100644 +--- a/gas/testsuite/gas/i386/avx512_bf16_vl.d ++++ b/gas/testsuite/gas/i386/avx512_bf16_vl.d +@@ -8,7 +8,7 @@ + + Disassembly of section .text: + +-0+ <_start>: ++0+ : + [ ]*[a-f0-9]+: 62 f2 57 28 72 f4 vcvtne2ps2bf16 %ymm4,%ymm5,%ymm6 + [ ]*[a-f0-9]+: 62 f2 57 08 72 f4 vcvtne2ps2bf16 %xmm4,%xmm5,%xmm6 + [ ]*[a-f0-9]+: 62 f2 57 2f 72 b4 f4 00 00 00 10 vcvtne2ps2bf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +diff --git a/gas/testsuite/gas/i386/avx512_bf16_vl.s b/gas/testsuite/gas/i386/avx512_bf16_vl.s +index 0a233b671d0..9d5d9bdc043 100644 +--- a/gas/testsuite/gas/i386/avx512_bf16_vl.s ++++ b/gas/testsuite/gas/i386/avx512_bf16_vl.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++bf16: + vcvtne2ps2bf16 %ymm4, %ymm5, %ymm6 #AVX512{BF16,VL} + vcvtne2ps2bf16 %xmm4, %xmm5, %xmm6 #AVX512{BF16,VL} + vcvtne2ps2bf16 0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7} #AVX512{BF16,VL} MASK_ENABLING +diff --git a/gas/testsuite/gas/i386/avx512_vpopcntdq-intel.d b/gas/testsuite/gas/i386/avx512_vpopcntdq-intel.d +index 1da24e2479c..1ad85a02507 100644 +--- a/gas/testsuite/gas/i386/avx512_vpopcntdq-intel.d ++++ b/gas/testsuite/gas/i386/avx512_vpopcntdq-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 f5[ ]*vpopcntd zmm6,zmm5 + [ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 55 f5[ ]*vpopcntd zmm6\{k7\},zmm5 + [ ]*[a-f0-9]+:[ ]*62 f2 7d cf 55 f5[ ]*vpopcntd zmm6\{k7\}\{z\},zmm5 +diff --git a/gas/testsuite/gas/i386/avx512_vpopcntdq.d b/gas/testsuite/gas/i386/avx512_vpopcntdq.d +index 47c3ea8a85f..3cf856421f7 100644 +--- a/gas/testsuite/gas/i386/avx512_vpopcntdq.d ++++ b/gas/testsuite/gas/i386/avx512_vpopcntdq.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 7d 48 55 f5[ ]*vpopcntd %zmm5,%zmm6 + [ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 55 f5[ ]*vpopcntd %zmm5,%zmm6\{%k7\} + [ ]*[a-f0-9]+:[ ]*62 f2 7d cf 55 f5[ ]*vpopcntd %zmm5,%zmm6\{%k7\}\{z\} +diff --git a/gas/testsuite/gas/i386/avx512_vpopcntdq.s b/gas/testsuite/gas/i386/avx512_vpopcntdq.s +index f497f82b641..d9cc9521b0f 100644 +--- a/gas/testsuite/gas/i386/avx512_vpopcntdq.s ++++ b/gas/testsuite/gas/i386/avx512_vpopcntdq.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++vpopcnt: + vpopcntd %zmm5, %zmm6 # AVX512_VPOPCNTDQ + vpopcntd %zmm5, %zmm6{%k7} # AVX512_VPOPCNTDQ + vpopcntd %zmm5, %zmm6{%k7}{z} # AVX512_VPOPCNTDQ +diff --git a/gas/testsuite/gas/i386/avx512_vpopcntdq_vl.d b/gas/testsuite/gas/i386/avx512_vpopcntdq_vl.d +new file mode 100644 +index 00000000000..a7e82169da3 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx512_vpopcntdq_vl.d +@@ -0,0 +1,69 @@ ++#objdump: -dw ++#name: i386 AVX512VL+VPOPCNTDQ insns ++#source: avx512_vpopcntdq_vl.s ++ ++.*: +file format .* ++ ++ ++Disassembly of section \.text: ++ ++00000000 : ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 f5[ ]*vpopcntd %ymm5,%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 55 f5[ ]*vpopcntd %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d af 55 f5[ ]*vpopcntd %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 31[ ]*vpopcntd \(%ecx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 b4 f4 c0 1d fe ff[ ]*vpopcntd -0x1e240\(%esp,%esi,8\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 38 55 30[ ]*vpopcntd \(%eax\)\{1to8\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 72 7f[ ]*vpopcntd 0xfe0\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 b2 00 10 00 00[ ]*vpopcntd 0x1000\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 72 80[ ]*vpopcntd -0x1000\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 28 55 b2 e0 ef ff ff[ ]*vpopcntd -0x1020\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 38 55 72 7f[ ]*vpopcntd 0x1fc\(%edx\)\{1to8\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 38 55 b2 00 02 00 00[ ]*vpopcntd 0x200\(%edx\)\{1to8\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 38 55 72 80[ ]*vpopcntd -0x200\(%edx\)\{1to8\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 38 55 b2 fc fd ff ff[ ]*vpopcntd -0x204\(%edx\)\{1to8\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 f5[ ]*vpopcntq %ymm5,%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 2f 55 f5[ ]*vpopcntq %ymm5,%ymm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd af 55 f5[ ]*vpopcntq %ymm5,%ymm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 31[ ]*vpopcntq \(%ecx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 b4 f4 c0 1d fe ff[ ]*vpopcntq -0x1e240\(%esp,%esi,8\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 38 55 30[ ]*vpopcntq \(%eax\)\{1to4\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 72 7f[ ]*vpopcntq 0xfe0\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 b2 00 10 00 00[ ]*vpopcntq 0x1000\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 72 80[ ]*vpopcntq -0x1000\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 28 55 b2 e0 ef ff ff[ ]*vpopcntq -0x1020\(%edx\),%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 38 55 72 7f[ ]*vpopcntq 0x3f8\(%edx\)\{1to4\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 38 55 b2 00 04 00 00[ ]*vpopcntq 0x400\(%edx\)\{1to4\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 38 55 72 80[ ]*vpopcntq -0x400\(%edx\)\{1to4\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 38 55 b2 f8 fb ff ff[ ]*vpopcntq -0x408\(%edx\)\{1to4\},%ymm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 f5[ ]*vpopcntd %xmm5,%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 55 f5[ ]*vpopcntd %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 8f 55 f5[ ]*vpopcntd %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 31[ ]*vpopcntd \(%ecx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 b4 f4 c0 1d fe ff[ ]*vpopcntd -0x1e240\(%esp,%esi,8\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 18 55 30[ ]*vpopcntd \(%eax\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 18 55 30[ ]*vpopcntd \(%eax\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 72 7f[ ]*vpopcntd 0x7f0\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 b2 00 08 00 00[ ]*vpopcntd 0x800\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 72 80[ ]*vpopcntd -0x800\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 08 55 b2 f0 f7 ff ff[ ]*vpopcntd -0x810\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 18 55 72 7f[ ]*vpopcntd 0x1fc\(%edx\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 18 55 b2 00 02 00 00[ ]*vpopcntd 0x200\(%edx\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 18 55 72 80[ ]*vpopcntd -0x200\(%edx\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 7d 18 55 b2 fc fd ff ff[ ]*vpopcntd -0x204\(%edx\)\{1to4\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 f5[ ]*vpopcntq %xmm5,%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 0f 55 f5[ ]*vpopcntq %xmm5,%xmm6\{%k7\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 8f 55 f5[ ]*vpopcntq %xmm5,%xmm6\{%k7\}\{z\} ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 31[ ]*vpopcntq \(%ecx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 b4 f4 c0 1d fe ff[ ]*vpopcntq -0x1e240\(%esp,%esi,8\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 18 55 30[ ]*vpopcntq \(%eax\)\{1to2\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 18 55 30[ ]*vpopcntq \(%eax\)\{1to2\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 72 7f[ ]*vpopcntq 0x7f0\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 b2 00 08 00 00[ ]*vpopcntq 0x800\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 72 80[ ]*vpopcntq -0x800\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 08 55 b2 f0 f7 ff ff[ ]*vpopcntq -0x810\(%edx\),%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 18 55 72 7f[ ]*vpopcntq 0x3f8\(%edx\)\{1to2\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 18 55 b2 00 04 00 00[ ]*vpopcntq 0x400\(%edx\)\{1to2\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 18 55 72 80[ ]*vpopcntq -0x400\(%edx\)\{1to2\},%xmm6 ++[ ]*[a-f0-9]+:[ ]*62 f2 fd 18 55 b2 f8 fb ff ff[ ]*vpopcntq -0x408\(%edx\)\{1to2\},%xmm6 ++#pass +diff --git a/gas/testsuite/gas/i386/avx512_vpopcntdq_vl.s b/gas/testsuite/gas/i386/avx512_vpopcntdq_vl.s +new file mode 100644 +index 00000000000..5fd00d169d4 +--- /dev/null ++++ b/gas/testsuite/gas/i386/avx512_vpopcntdq_vl.s +@@ -0,0 +1,64 @@ ++# Check 32bit AVX512VL+VPOPCNTDQ instructions ++ ++ .text ++vpopcnt: ++ vpopcntd %ymm5, %ymm6 ++ vpopcntd %ymm5, %ymm6{%k7} ++ vpopcntd %ymm5, %ymm6{%k7}{z} ++ vpopcntd (%ecx), %ymm6 ++ vpopcntd -123456(%esp,%esi,8), %ymm6 ++ vpopcntd (%eax){1to8}, %ymm6 ++ vpopcntd 4064(%edx), %ymm6 # Disp8 ++ vpopcntd 4096(%edx), %ymm6 ++ vpopcntd -4096(%edx), %ymm6 # Disp8 ++ vpopcntd -4128(%edx), %ymm6 ++ vpopcntd 508(%edx){1to8}, %ymm6 # Disp8 ++ vpopcntd 512(%edx){1to8}, %ymm6 ++ vpopcntd -512(%edx){1to8}, %ymm6 # Disp8 ++ vpopcntd -516(%edx){1to8}, %ymm6 ++ vpopcntq %ymm5, %ymm6 ++ vpopcntq %ymm5, %ymm6{%k7} ++ vpopcntq %ymm5, %ymm6{%k7}{z} ++ vpopcntq (%ecx), %ymm6 ++ vpopcntq -123456(%esp,%esi,8), %ymm6 ++ vpopcntq (%eax){1to4}, %ymm6 ++ vpopcntq 4064(%edx), %ymm6 # Disp8 ++ vpopcntq 4096(%edx), %ymm6 ++ vpopcntq -4096(%edx), %ymm6 # Disp8 ++ vpopcntq -4128(%edx), %ymm6 ++ vpopcntq 1016(%edx){1to4}, %ymm6 # Disp8 ++ vpopcntq 1024(%edx){1to4}, %ymm6 ++ vpopcntq -1024(%edx){1to4}, %ymm6 # Disp8 ++ vpopcntq -1032(%edx){1to4}, %ymm6 ++ ++ .intel_syntax noprefix ++ vpopcntd xmm6, xmm5 ++ vpopcntd xmm6{k7}, xmm5 ++ vpopcntd xmm6{k7}{z}, xmm5 ++ vpopcntd xmm6, XMMWORD PTR [ecx] ++ vpopcntd xmm6, XMMWORD PTR [esp+esi*8-123456] ++ vpopcntd xmm6, [eax]{1to4} ++ vpopcntd xmm6, DWORD BCST [eax] ++ vpopcntd xmm6, XMMWORD PTR [edx+2032] # Disp8 ++ vpopcntd xmm6, XMMWORD PTR [edx+2048] ++ vpopcntd xmm6, XMMWORD PTR [edx-2048] # Disp8 ++ vpopcntd xmm6, XMMWORD PTR [edx-2064] ++ vpopcntd xmm6, [edx+508]{1to4} # Disp8 ++ vpopcntd xmm6, [edx+512]{1to4} ++ vpopcntd xmm6, [edx-512]{1to4} # Disp8 ++ vpopcntd xmm6, [edx-516]{1to4} ++ vpopcntq xmm6, xmm5 ++ vpopcntq xmm6{k7}, xmm5 ++ vpopcntq xmm6{k7}{z}, xmm5 ++ vpopcntq xmm6, XMMWORD PTR [ecx] ++ vpopcntq xmm6, XMMWORD PTR [esp+esi*8-123456] ++ vpopcntq xmm6, [eax]{1to2} ++ vpopcntq xmm6, QWORD BCST [eax] ++ vpopcntq xmm6, XMMWORD PTR [edx+2032] # Disp8 ++ vpopcntq xmm6, XMMWORD PTR [edx+2048] ++ vpopcntq xmm6, XMMWORD PTR [edx-2048] # Disp8 ++ vpopcntq xmm6, XMMWORD PTR [edx-2064] ++ vpopcntq xmm6, [edx+1016]{1to2} # Disp8 ++ vpopcntq xmm6, [edx+1024]{1to2} ++ vpopcntq xmm6, [edx-1024]{1to2} # Disp8 ++ vpopcntq xmm6, [edx-1032]{1to2} +diff --git a/gas/testsuite/gas/i386/avx512bitalg-intel.d b/gas/testsuite/gas/i386/avx512bitalg-intel.d +index 8036c12d5c4..df0b05b0970 100644 +--- a/gas/testsuite/gas/i386/avx512bitalg-intel.d ++++ b/gas/testsuite/gas/i386/avx512bitalg-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 55 48 8f ec[ ]*vpshufbitqmb k5,zmm5,zmm4 + [ ]*[a-f0-9]+:[ ]*62 f2 55 4f 8f ec[ ]*vpshufbitqmb k5\{k7\},zmm5,zmm4 + [ ]*[a-f0-9]+:[ ]*62 f2 55 48 8f ac f4 c0 1d fe ff[ ]*vpshufbitqmb k5,zmm5,ZMMWORD PTR \[esp\+esi\*8-0x1e240\] +diff --git a/gas/testsuite/gas/i386/avx512bitalg.d b/gas/testsuite/gas/i386/avx512bitalg.d +index 0c053afa431..c6292fbdd08 100644 +--- a/gas/testsuite/gas/i386/avx512bitalg.d ++++ b/gas/testsuite/gas/i386/avx512bitalg.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 55 48 8f ec[ ]*vpshufbitqmb %zmm4,%zmm5,%k5 + [ ]*[a-f0-9]+:[ ]*62 f2 55 4f 8f ec[ ]*vpshufbitqmb %zmm4,%zmm5,%k5\{%k7\} + [ ]*[a-f0-9]+:[ ]*62 f2 55 48 8f ac f4 c0 1d fe ff[ ]*vpshufbitqmb -0x1e240\(%esp,%esi,8\),%zmm5,%k5 +diff --git a/gas/testsuite/gas/i386/avx512bitalg.s b/gas/testsuite/gas/i386/avx512bitalg.s +index 6d2b16e3a04..4920fd26108 100644 +--- a/gas/testsuite/gas/i386/avx512bitalg.s ++++ b/gas/testsuite/gas/i386/avx512bitalg.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++bitalg: + vpshufbitqmb %zmm4, %zmm5, %k5 # AVX512BITALG + vpshufbitqmb %zmm4, %zmm5, %k5{%k7} # AVX512BITALG + vpshufbitqmb -123456(%esp,%esi,8), %zmm5, %k5 # AVX512BITALG +diff --git a/gas/testsuite/gas/i386/avx512bitalg_vl-intel.d b/gas/testsuite/gas/i386/avx512bitalg_vl-intel.d +index 814f67d1389..526809abfcb 100644 +--- a/gas/testsuite/gas/i386/avx512bitalg_vl-intel.d ++++ b/gas/testsuite/gas/i386/avx512bitalg_vl-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8f ec[ ]*vpshufbitqmb k5\{k7\},xmm5,xmm4 + [ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8f ac f4 c0 1d fe ff[ ]*vpshufbitqmb k5\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8-0x1e240\] + [ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8f 6a 7f[ ]*vpshufbitqmb k5\{k7\},xmm5,XMMWORD PTR \[edx\+0x7f0\] +diff --git a/gas/testsuite/gas/i386/avx512bitalg_vl.d b/gas/testsuite/gas/i386/avx512bitalg_vl.d +index 824b8379890..7b04755979a 100644 +--- a/gas/testsuite/gas/i386/avx512bitalg_vl.d ++++ b/gas/testsuite/gas/i386/avx512bitalg_vl.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8f ec[ ]*vpshufbitqmb %xmm4,%xmm5,%k5\{%k7\} + [ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8f ac f4 c0 1d fe ff[ ]*vpshufbitqmb -0x1e240\(%esp,%esi,8\),%xmm5,%k5\{%k7\} + [ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8f 6a 7f[ ]*vpshufbitqmb 0x7f0\(%edx\),%xmm5,%k5\{%k7\} +diff --git a/gas/testsuite/gas/i386/avx512bitalg_vl.s b/gas/testsuite/gas/i386/avx512bitalg_vl.s +index 7ca819d8908..6c54535c0a9 100644 +--- a/gas/testsuite/gas/i386/avx512bitalg_vl.s ++++ b/gas/testsuite/gas/i386/avx512bitalg_vl.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++bitalg: + vpshufbitqmb %xmm4, %xmm5, %k5{%k7} # AVX512{BITALG,VL} + vpshufbitqmb -123456(%esp,%esi,8), %xmm5, %k5{%k7} # AVX512{BITALG,VL} + vpshufbitqmb 2032(%edx), %xmm5, %k5{%k7} # AVX512{BITALG,VL} Disp8 +diff --git a/gas/testsuite/gas/i386/avx512cd-intel.d b/gas/testsuite/gas/i386/avx512cd-intel.d +index 1bf088698d8..89ae3d047f8 100644 +--- a/gas/testsuite/gas/i386/avx512cd-intel.d ++++ b/gas/testsuite/gas/i386/avx512cd-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section .text: + +-0+ <_start>: ++0+ : + [ ]*[a-f0-9]+: 62 f2 7d 48 c4 f5 vpconflictd zmm6,zmm5 + [ ]*[a-f0-9]+: 62 f2 7d 4f c4 f5 vpconflictd zmm6\{k7\},zmm5 + [ ]*[a-f0-9]+: 62 f2 7d cf c4 f5 vpconflictd zmm6\{k7\}\{z\},zmm5 +diff --git a/gas/testsuite/gas/i386/avx512cd.d b/gas/testsuite/gas/i386/avx512cd.d +index 8f786e3a5ba..8787fec7c8c 100644 +--- a/gas/testsuite/gas/i386/avx512cd.d ++++ b/gas/testsuite/gas/i386/avx512cd.d +@@ -7,7 +7,7 @@ + + Disassembly of section .text: + +-0+ <_start>: ++0+ : + [ ]*[a-f0-9]+: 62 f2 7d 48 c4 f5 vpconflictd %zmm5,%zmm6 + [ ]*[a-f0-9]+: 62 f2 7d 4f c4 f5 vpconflictd %zmm5,%zmm6\{%k7\} + [ ]*[a-f0-9]+: 62 f2 7d cf c4 f5 vpconflictd %zmm5,%zmm6\{%k7\}\{z\} +diff --git a/gas/testsuite/gas/i386/avx512cd.s b/gas/testsuite/gas/i386/avx512cd.s +index eace8ce56ab..aec0dd859e5 100644 +--- a/gas/testsuite/gas/i386/avx512cd.s ++++ b/gas/testsuite/gas/i386/avx512cd.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++cd: + + vpconflictd %zmm5, %zmm6 # AVX512CD + vpconflictd %zmm5, %zmm6{%k7} # AVX512CD +diff --git a/gas/testsuite/gas/i386/avx512cd_vl-intel.d b/gas/testsuite/gas/i386/avx512cd_vl-intel.d +index e0e1fef059d..00c2ec5fca5 100644 +--- a/gas/testsuite/gas/i386/avx512cd_vl-intel.d ++++ b/gas/testsuite/gas/i386/avx512cd_vl-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 f5[ ]*vpconflictd xmm6\{k7\},xmm5 + [ ]*[a-f0-9]+:[ ]*62 f2 7d 8f c4 f5[ ]*vpconflictd xmm6\{k7\}\{z\},xmm5 + [ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 31[ ]*vpconflictd xmm6\{k7\},XMMWORD PTR \[ecx\] +diff --git a/gas/testsuite/gas/i386/avx512cd_vl.d b/gas/testsuite/gas/i386/avx512cd_vl.d +index a3e213195ba..27a40eb9b2f 100644 +--- a/gas/testsuite/gas/i386/avx512cd_vl.d ++++ b/gas/testsuite/gas/i386/avx512cd_vl.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 f5[ ]*vpconflictd %xmm5,%xmm6\{%k7\} + [ ]*[a-f0-9]+:[ ]*62 f2 7d 8f c4 f5[ ]*vpconflictd %xmm5,%xmm6\{%k7\}\{z\} + [ ]*[a-f0-9]+:[ ]*62 f2 7d 0f c4 31[ ]*vpconflictd \(%ecx\),%xmm6\{%k7\} +diff --git a/gas/testsuite/gas/i386/avx512cd_vl.s b/gas/testsuite/gas/i386/avx512cd_vl.s +index 90f778b50c6..bb53e5d5f8f 100644 +--- a/gas/testsuite/gas/i386/avx512cd_vl.s ++++ b/gas/testsuite/gas/i386/avx512cd_vl.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++cd: + vpconflictd %xmm5, %xmm6{%k7} # AVX512{CD,VL} + vpconflictd %xmm5, %xmm6{%k7}{z} # AVX512{CD,VL} + vpconflictd (%ecx), %xmm6{%k7} # AVX512{CD,VL} +diff --git a/gas/testsuite/gas/i386/avx512ifma-intel.d b/gas/testsuite/gas/i386/avx512ifma-intel.d +index cbf1cca9026..e68af4c8202 100644 +--- a/gas/testsuite/gas/i386/avx512ifma-intel.d ++++ b/gas/testsuite/gas/i386/avx512ifma-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 f4[ ]*vpmadd52luq zmm6,zmm5,zmm4 + [ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b4 f4[ ]*vpmadd52luq zmm6\{k7\},zmm5,zmm4 + [ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b4 f4[ ]*vpmadd52luq zmm6\{k7\}\{z\},zmm5,zmm4 +diff --git a/gas/testsuite/gas/i386/avx512ifma.d b/gas/testsuite/gas/i386/avx512ifma.d +index 3204d537386..060f38413ca 100644 +--- a/gas/testsuite/gas/i386/avx512ifma.d ++++ b/gas/testsuite/gas/i386/avx512ifma.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6 + [ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\} + [ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} +diff --git a/gas/testsuite/gas/i386/avx512ifma.s b/gas/testsuite/gas/i386/avx512ifma.s +index 102f6b8c800..96749cc93d2 100644 +--- a/gas/testsuite/gas/i386/avx512ifma.s ++++ b/gas/testsuite/gas/i386/avx512ifma.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++ifma: + vpmadd52luq %zmm4, %zmm5, %zmm6 # AVX512IFMA + vpmadd52luq %zmm4, %zmm5, %zmm6{%k7} # AVX512IFMA + vpmadd52luq %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512IFMA +diff --git a/gas/testsuite/gas/i386/avx512ifma_vl-intel.d b/gas/testsuite/gas/i386/avx512ifma_vl-intel.d +index 85632516512..2d5591956c6 100644 +--- a/gas/testsuite/gas/i386/avx512ifma_vl-intel.d ++++ b/gas/testsuite/gas/i386/avx512ifma_vl-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 f4[ ]*vpmadd52luq xmm6\{k7\},xmm5,xmm4 + [ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b4 f4[ ]*vpmadd52luq xmm6\{k7\}\{z\},xmm5,xmm4 + [ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 31[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\] +diff --git a/gas/testsuite/gas/i386/avx512ifma_vl.d b/gas/testsuite/gas/i386/avx512ifma_vl.d +index 0c16c009993..9921ae31b76 100644 +--- a/gas/testsuite/gas/i386/avx512ifma_vl.d ++++ b/gas/testsuite/gas/i386/avx512ifma_vl.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 f4[ ]*vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\} + [ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b4 f4[ ]*vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} + [ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 31[ ]*vpmadd52luq \(%ecx\),%xmm5,%xmm6\{%k7\} +diff --git a/gas/testsuite/gas/i386/avx512ifma_vl.s b/gas/testsuite/gas/i386/avx512ifma_vl.s +index e3dd8d73414..4096b10612e 100644 +--- a/gas/testsuite/gas/i386/avx512ifma_vl.s ++++ b/gas/testsuite/gas/i386/avx512ifma_vl.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++ifma: + vpmadd52luq %xmm4, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq %xmm4, %xmm5, %xmm6{%k7}{z} # AVX512{IFMA,VL} + vpmadd52luq (%ecx), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} +diff --git a/gas/testsuite/gas/i386/avx512vbmi-intel.d b/gas/testsuite/gas/i386/avx512vbmi-intel.d +index 1ad5331165f..e41e2e96875 100644 +--- a/gas/testsuite/gas/i386/avx512vbmi-intel.d ++++ b/gas/testsuite/gas/i386/avx512vbmi-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d f4[ ]*vpermb zmm6,zmm5,zmm4 + [ ]*[a-f0-9]+:[ ]*62 f2 55 4f 8d f4[ ]*vpermb zmm6\{k7\},zmm5,zmm4 + [ ]*[a-f0-9]+:[ ]*62 f2 55 cf 8d f4[ ]*vpermb zmm6\{k7\}\{z\},zmm5,zmm4 +diff --git a/gas/testsuite/gas/i386/avx512vbmi.d b/gas/testsuite/gas/i386/avx512vbmi.d +index 2d23cd56e3c..89f4b736fb6 100644 +--- a/gas/testsuite/gas/i386/avx512vbmi.d ++++ b/gas/testsuite/gas/i386/avx512vbmi.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 55 48 8d f4[ ]*vpermb %zmm4,%zmm5,%zmm6 + [ ]*[a-f0-9]+:[ ]*62 f2 55 4f 8d f4[ ]*vpermb %zmm4,%zmm5,%zmm6\{%k7\} + [ ]*[a-f0-9]+:[ ]*62 f2 55 cf 8d f4[ ]*vpermb %zmm4,%zmm5,%zmm6\{%k7\}\{z\} +diff --git a/gas/testsuite/gas/i386/avx512vbmi.s b/gas/testsuite/gas/i386/avx512vbmi.s +index 0e6eb06610d..cbf560472eb 100644 +--- a/gas/testsuite/gas/i386/avx512vbmi.s ++++ b/gas/testsuite/gas/i386/avx512vbmi.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++vbmi: + vpermb %zmm4, %zmm5, %zmm6 # AVX512VBMI + vpermb %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI + vpermb %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI +diff --git a/gas/testsuite/gas/i386/avx512vbmi2-intel.d b/gas/testsuite/gas/i386/avx512vbmi2-intel.d +index 471b1383635..6b0d400bcf7 100644 +--- a/gas/testsuite/gas/i386/avx512vbmi2-intel.d ++++ b/gas/testsuite/gas/i386/avx512vbmi2-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 63 31[ ]*vpcompressb ZMMWORD PTR \[ecx\]\{k7\},zmm6 + [ ]*[a-f0-9]+:[ ]*62 f2 7d 48 63 b4 f4 c0 1d fe ff[ ]*vpcompressb ZMMWORD PTR \[esp\+esi\*8-0x1e240\],zmm6 + [ ]*[a-f0-9]+:[ ]*62 f2 7d 48 63 72 7e[ ]*vpcompressb ZMMWORD PTR \[edx\+0x7e\],zmm6 +diff --git a/gas/testsuite/gas/i386/avx512vbmi2.d b/gas/testsuite/gas/i386/avx512vbmi2.d +index c75d49a3dee..04f2d67c526 100644 +--- a/gas/testsuite/gas/i386/avx512vbmi2.d ++++ b/gas/testsuite/gas/i386/avx512vbmi2.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 7d 4f 63 31[ ]*vpcompressb %zmm6,\(%ecx\)\{%k7\} + [ ]*[a-f0-9]+:[ ]*62 f2 7d 48 63 b4 f4 c0 1d fe ff[ ]*vpcompressb %zmm6,-0x1e240\(%esp,%esi,8\) + [ ]*[a-f0-9]+:[ ]*62 f2 7d 48 63 72 7e[ ]*vpcompressb %zmm6,0x7e\(%edx\) +diff --git a/gas/testsuite/gas/i386/avx512vbmi2.s b/gas/testsuite/gas/i386/avx512vbmi2.s +index fbf958132bc..2b717203783 100644 +--- a/gas/testsuite/gas/i386/avx512vbmi2.s ++++ b/gas/testsuite/gas/i386/avx512vbmi2.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++vbmi2: + vpcompressb %zmm6, (%ecx){%k7} # AVX512VBMI2 + vpcompressb %zmm6, -123456(%esp,%esi,8) # AVX512VBMI2 + vpcompressb %zmm6, 126(%edx) # AVX512VBMI2 Disp8 +diff --git a/gas/testsuite/gas/i386/avx512vbmi2_vl-intel.d b/gas/testsuite/gas/i386/avx512vbmi2_vl-intel.d +index 32e7fc5bc57..429d90a7767 100644 +--- a/gas/testsuite/gas/i386/avx512vbmi2_vl-intel.d ++++ b/gas/testsuite/gas/i386/avx512vbmi2_vl-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 63 b4 f4 c0 1d fe ff[ ]*vpcompressb XMMWORD PTR \[esp\+esi\*8-0x1e240\]\{k7\},xmm6 + [ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 63 72 7e[ ]*vpcompressb XMMWORD PTR \[edx\+0x7e\]\{k7\},xmm6 + [ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 63 b4 f4 c0 1d fe ff[ ]*vpcompressb YMMWORD PTR \[esp\+esi\*8-0x1e240\]\{k7\},ymm6 +diff --git a/gas/testsuite/gas/i386/avx512vbmi2_vl.d b/gas/testsuite/gas/i386/avx512vbmi2_vl.d +index f76facddd02..e39c23ef519 100644 +--- a/gas/testsuite/gas/i386/avx512vbmi2_vl.d ++++ b/gas/testsuite/gas/i386/avx512vbmi2_vl.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 63 b4 f4 c0 1d fe ff[ ]*vpcompressb %xmm6,-0x1e240\(%esp,%esi,8\)\{%k7\} + [ ]*[a-f0-9]+:[ ]*62 f2 7d 0f 63 72 7e[ ]*vpcompressb %xmm6,0x7e\(%edx\)\{%k7\} + [ ]*[a-f0-9]+:[ ]*62 f2 7d 2f 63 b4 f4 c0 1d fe ff[ ]*vpcompressb %ymm6,-0x1e240\(%esp,%esi,8\)\{%k7\} +diff --git a/gas/testsuite/gas/i386/avx512vbmi2_vl.s b/gas/testsuite/gas/i386/avx512vbmi2_vl.s +index 060dbea852b..e83511b06d7 100644 +--- a/gas/testsuite/gas/i386/avx512vbmi2_vl.s ++++ b/gas/testsuite/gas/i386/avx512vbmi2_vl.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++vbmi2: + vpcompressb %xmm6, -123456(%esp,%esi,8){%k7} # AVX512{VBMI2,VL} + vpcompressb %xmm6, 126(%edx){%k7} # AVX512{VBMI2,VL} Disp8 + vpcompressb %ymm6, -123456(%esp,%esi,8){%k7} # AVX512{VBMI2,VL} +diff --git a/gas/testsuite/gas/i386/avx512vbmi_vl-intel.d b/gas/testsuite/gas/i386/avx512vbmi_vl-intel.d +index 2e058c090eb..c5a30bb0276 100644 +--- a/gas/testsuite/gas/i386/avx512vbmi_vl-intel.d ++++ b/gas/testsuite/gas/i386/avx512vbmi_vl-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d f4[ ]*vpermb xmm6\{k7\},xmm5,xmm4 + [ ]*[a-f0-9]+:[ ]*62 f2 55 8f 8d f4[ ]*vpermb xmm6\{k7\}\{z\},xmm5,xmm4 + [ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d 31[ ]*vpermb xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\] +diff --git a/gas/testsuite/gas/i386/avx512vbmi_vl.d b/gas/testsuite/gas/i386/avx512vbmi_vl.d +index f0326241da1..f1b5c682d8d 100644 +--- a/gas/testsuite/gas/i386/avx512vbmi_vl.d ++++ b/gas/testsuite/gas/i386/avx512vbmi_vl.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d f4[ ]*vpermb %xmm4,%xmm5,%xmm6\{%k7\} + [ ]*[a-f0-9]+:[ ]*62 f2 55 8f 8d f4[ ]*vpermb %xmm4,%xmm5,%xmm6\{%k7\}\{z\} + [ ]*[a-f0-9]+:[ ]*62 f2 55 0f 8d 31[ ]*vpermb \(%ecx\),%xmm5,%xmm6\{%k7\} +diff --git a/gas/testsuite/gas/i386/avx512vbmi_vl.s b/gas/testsuite/gas/i386/avx512vbmi_vl.s +index 4e7c20b7c7b..5a3a57f8ba5 100644 +--- a/gas/testsuite/gas/i386/avx512vbmi_vl.s ++++ b/gas/testsuite/gas/i386/avx512vbmi_vl.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++vbmi: + vpermb %xmm4, %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} + vpermb %xmm4, %xmm5, %xmm6{%k7}{z} # AVX512{VBMI,VL} + vpermb (%ecx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} +diff --git a/gas/testsuite/gas/i386/avx512vnni-intel.d b/gas/testsuite/gas/i386/avx512vnni-intel.d +index 1d073393fb9..3f25650131a 100644 +--- a/gas/testsuite/gas/i386/avx512vnni-intel.d ++++ b/gas/testsuite/gas/i386/avx512vnni-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 75 48 52 e3[ ]*vpdpwssd zmm4,zmm1,zmm3 + [ ]*[a-f0-9]+:[ ]*62 f2 75 49 52 e3[ ]*vpdpwssd zmm4\{k1\},zmm1,zmm3 + [ ]*[a-f0-9]+:[ ]*62 f2 75 c9 52 e3[ ]*vpdpwssd zmm4\{k1\}\{z\},zmm1,zmm3 +diff --git a/gas/testsuite/gas/i386/avx512vnni.d b/gas/testsuite/gas/i386/avx512vnni.d +index 353dfcf9221..65c1e765ff0 100644 +--- a/gas/testsuite/gas/i386/avx512vnni.d ++++ b/gas/testsuite/gas/i386/avx512vnni.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 75 48 52 e3[ ]*vpdpwssd %zmm3,%zmm1,%zmm4 + [ ]*[a-f0-9]+:[ ]*62 f2 75 49 52 e3[ ]*vpdpwssd %zmm3,%zmm1,%zmm4\{%k1\} + [ ]*[a-f0-9]+:[ ]*62 f2 75 c9 52 e3[ ]*vpdpwssd %zmm3,%zmm1,%zmm4\{%k1\}\{z\} +diff --git a/gas/testsuite/gas/i386/avx512vnni.s b/gas/testsuite/gas/i386/avx512vnni.s +index b197613372c..3c3a8fe6ec8 100644 +--- a/gas/testsuite/gas/i386/avx512vnni.s ++++ b/gas/testsuite/gas/i386/avx512vnni.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++vnni: + vpdpwssd %zmm3, %zmm1, %zmm4 # AVX512VNNI + vpdpwssd %zmm3, %zmm1, %zmm4{%k1} # AVX512VNNI + vpdpwssd %zmm3, %zmm1, %zmm4{%k1}{z} # AVX512VNNI +diff --git a/gas/testsuite/gas/i386/avx512vnni_vl-intel.d b/gas/testsuite/gas/i386/avx512vnni_vl-intel.d +index 1d5046a4fb9..e5fa6702139 100644 +--- a/gas/testsuite/gas/i386/avx512vnni_vl-intel.d ++++ b/gas/testsuite/gas/i386/avx512vnni_vl-intel.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 5d 0b 52 d2[ ]*vpdpwssd xmm2\{k3\},xmm4,xmm2 + [ ]*[a-f0-9]+:[ ]*62 f2 5d 8b 52 d2[ ]*vpdpwssd xmm2\{k3\}\{z\},xmm4,xmm2 + [ ]*[a-f0-9]+:[ ]*62 f2 5d 09 52 94 f4 c0 1d fe ff[ ]*vpdpwssd xmm2\{k1\},xmm4,XMMWORD PTR \[esp\+esi\*8-0x1e240\] +diff --git a/gas/testsuite/gas/i386/avx512vnni_vl.d b/gas/testsuite/gas/i386/avx512vnni_vl.d +index f4a096ebd8c..95b8913cdd7 100644 +--- a/gas/testsuite/gas/i386/avx512vnni_vl.d ++++ b/gas/testsuite/gas/i386/avx512vnni_vl.d +@@ -8,7 +8,7 @@ + + Disassembly of section \.text: + +-00000000 <_start>: ++00000000 : + [ ]*[a-f0-9]+:[ ]*62 f2 5d 0b 52 d2[ ]*vpdpwssd %xmm2,%xmm4,%xmm2\{%k3\} + [ ]*[a-f0-9]+:[ ]*62 f2 5d 8b 52 d2[ ]*vpdpwssd %xmm2,%xmm4,%xmm2\{%k3\}\{z\} + [ ]*[a-f0-9]+:[ ]*62 f2 5d 09 52 94 f4 c0 1d fe ff[ ]*vpdpwssd -0x1e240\(%esp,%esi,8\),%xmm4,%xmm2\{%k1\} +diff --git a/gas/testsuite/gas/i386/avx512vnni_vl.s b/gas/testsuite/gas/i386/avx512vnni_vl.s +index f61e179faee..9268252fa98 100644 +--- a/gas/testsuite/gas/i386/avx512vnni_vl.s ++++ b/gas/testsuite/gas/i386/avx512vnni_vl.s +@@ -2,7 +2,7 @@ + + .allow_index_reg + .text +-_start: ++vnni: + vpdpwssd %xmm2, %xmm4, %xmm2{%k3} # AVX512{VNNI,VL} + vpdpwssd %xmm2, %xmm4, %xmm2{%k3}{z} # AVX512{VNNI,VL} + vpdpwssd -123456(%esp,%esi,8), %xmm4, %xmm2{%k1} # AVX512{VNNI,VL} +diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp +index 90819d80f60..c5ec48ba04c 100644 +--- a/gas/testsuite/gas/i386/i386.exp ++++ b/gas/testsuite/gas/i386/i386.exp +@@ -449,6 +449,7 @@ if [gas_32_check] then { + run_dump_test "avx512_4vnniw-intel" + run_dump_test "avx512_vpopcntdq" + run_dump_test "avx512_vpopcntdq-intel" ++ run_dump_test "avx512_vpopcntdq_vl" + run_dump_test "avx512vbmi2" + run_dump_test "avx512vbmi2-intel" + run_dump_test "avx512vbmi2_vl" +@@ -562,6 +563,22 @@ if [gas_32_check] then { + run_list_test "avx512vl-2" "-al" + run_list_test "avx512vl-ambig" + run_list_test "avx512vl-plain" "-al" ++ run_dump_test "avx10.1-512-1" ++ run_dump_test "avx10.1-512-2" ++ run_dump_test "avx10.1-512-3" ++ run_dump_test "avx10.1-512-4" ++ run_dump_test "avx10.1-512-5" ++ run_dump_test "avx10.1-512-gfni" ++ run_dump_test "avx10.1-512-vaes" ++ run_dump_test "avx10.1-512-vpclmulqdq" ++ run_dump_test "avx10.1-256-1" ++ run_dump_test "avx10.1-256-2" ++ run_dump_test "avx10.1-256-3" ++ run_dump_test "avx10.1-256-4" ++ run_dump_test "avx10.1-256-5" ++ run_dump_test "avx10.1-256-gfni" ++ run_dump_test "avx10.1-256-vaes" ++ run_dump_test "avx10.1-256-vpclmulqdq" + run_dump_test "fpu-bad" + run_dump_test "cet" + run_dump_test "cet-intel" +diff --git a/gas/testsuite/gas/i386/noavx512-1.l b/gas/testsuite/gas/i386/noavx512-1.l +index 655a90de2ce..4e97601a4b3 100644 +--- a/gas/testsuite/gas/i386/noavx512-1.l ++++ b/gas/testsuite/gas/i386/noavx512-1.l +@@ -39,6 +39,26 @@ + .*:25: Error: .*not supported.* + .*:26: Error: .*not supported.* + .*:27: Error: .*not supported.* ++.*:8: Error: .*bad register name.* ++.*:9: Error: .*unknown vector operation.* ++.*:10: Error: .*unknown vector operation.* ++.*:11: Error: .*not supported.* ++.*:12: Error: .*not supported.* ++.*:13: Error: .*not supported.* ++.*:14: Error: .*not supported.* ++.*:15: Error: .*not supported.* ++.*:16: Error: .*not supported.* ++.*:17: Error: .*not supported.* ++.*:18: Error: .*bad register name.* ++.*:19: Error: .*unknown vector operation.* ++.*:20: Error: .*unknown vector operation.* ++.*:21: Error: .*bad register name.* ++.*:22: Error: .*unknown vector operation.* ++.*:23: Error: .*unknown vector operation.* ++.*:24: Error: .*not supported.* ++.*:25: Error: .*not supported.* ++.*:26: Error: .*not supported.* ++.*:27: Error: .*not supported.* + #... + [ ]*[0-9]+[ ]+\# Test \.arch \.noavx512XX + [ ]*[0-9]+[ ]+\.text +@@ -401,6 +421,29 @@ + [ ]*[0-9]+[ ]+> vpermb %xmm4,%xmm5,%xmm6\{%k7\} + [ ]*[0-9]+[ ]+> vpermb %ymm4,%ymm5,%ymm6\{%k7\} + #... ++[ ]*[0-9]+[ ]+> \.arch default ++[ ]*[0-9]+[ ]+> \.arch \.noavx10\.1 ++[ ]*[0-9]+[ ]+> vpabsb %zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpabsb %xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpabsb %ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpconflictd %zmm5,%zmm6 ++[ ]*[0-9]+[ ]+> vpconflictd %xmm5,%xmm6 ++[ ]*[0-9]+[ ]+> vpconflictd %ymm5,%ymm6 ++[ ]*[0-9]+[ ]+> vcvtpd2qq \(%ecx\),%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vcvtpd2qq \(%ecx\),%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vcvtpd2qq \(%ecx\),%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+> vexp2ps %zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vaddpd %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vaddpd %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vaddpd %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+> vgatherpf0dpd 23\(%ebp,%ymm7,8\)\{%k1\} ++[ ]*[0-9]+[ ]+> vpermb %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpermb %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpermb %ymm4,%ymm5,%ymm6\{%k7\} ++#... + [ ]*[0-9]+[ ]+\?\?\?\? C4E2791C vpabsb %xmm5, %xmm6 + [ ]*[0-9]+[ ]+F5 + [ ]*[0-9]+[ ]+\?\?\?\? C4E27D1C vpabsb %ymm5, %ymm6 +diff --git a/gas/testsuite/gas/i386/noavx512-1.s b/gas/testsuite/gas/i386/noavx512-1.s +index ab3abdc5ceb..03da3a2ff4e 100644 +--- a/gas/testsuite/gas/i386/noavx512-1.s ++++ b/gas/testsuite/gas/i386/noavx512-1.s +@@ -1,7 +1,7 @@ + # Test .arch .noavx512XX + .text + +- .irp isa, default, .noavx512bw, .noavx512cd, .noavx512dq, .noavx512er, .noavx512ifma, .noavx512pf, .noavx512vbmi, .noavx512f ++ .irp isa, default, .noavx512bw, .noavx512cd, .noavx512dq, .noavx512er, .noavx512ifma, .noavx512pf, .noavx512vbmi, .noavx512f, .noavx10.1 + + .arch default + .arch \isa +diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c +index 68427b00e9f..8b6eb2e9389 100644 +--- a/opcodes/i386-gen.c ++++ b/opcodes/i386-gen.c +@@ -232,6 +232,9 @@ static const dependency isa_dependencies[] = + "AVX2|AES" }, + { "VPCLMULQDQ", + "AVX2|PCLMULQDQ" }, ++ { "AVX10_1", ++ "AVX512VL|AVX512DQ|AVX512CD|AVX512VBMI|AVX512_VBMI2|AVX512IFMA" ++ "|AVX512_VNNI|AVX512_BF16|AVX512_FP16|AVX512_VPOPCNTDQ|AVX512_BITALG" }, + { "SEV_ES", + "SVME" }, + { "SNP", +--- fred/opcodes/i386-init.h 2023-12-07 11:04:38.614816752 +0000 ++++ binutils-2.41/opcodes/i386-init.h 2023-12-07 11:05:38.444884370 +0000 +@@ -1503,6 +1503,15 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } + ++#define CPU_AVX10_1_FLAGS \ ++ { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, \ ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \ ++ 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \ ++ 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } ++ + #define CPU_TSX_FLAGS \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ diff --git a/SOURCES/i686-AVX10.1-part-6.patch b/SOURCES/i686-AVX10.1-part-6.patch new file mode 100644 index 0000000..a1e4a57 --- /dev/null +++ b/SOURCES/i686-AVX10.1-part-6.patch @@ -0,0 +1,39749 @@ +diff -rupN fred/gas/NEWS binutils-2.41/gas/NEWS +--- fred/gas/NEWS 2023-12-07 10:29:26.762733449 +0000 ++++ binutils-2.41/gas/NEWS 2023-12-07 10:30:21.869760763 +0000 +@@ -1,5 +1,7 @@ + -*- text -*- + ++* Add support for Intel AVX10.1. ++ + Changes in 2.41: + + * Add support for Intel FRED instructions. +diff -rupN fred/gas/config/tc-i386-intel.c binutils-2.41/gas/config/tc-i386-intel.c +--- fred/gas/config/tc-i386-intel.c 2023-12-07 10:29:26.764733450 +0000 ++++ binutils-2.41/gas/config/tc-i386-intel.c 2023-12-07 10:29:43.614741804 +0000 +@@ -768,10 +768,20 @@ i386_intel_operand (char *operand_string + break; + + case O_ymmword_ptr: ++ if (vector_size < VSZ256) ++ { ++ as_bad (_("256-bit operands disabled")); ++ return 0; ++ } + i.types[this_operand].bitfield.ymmword = 1; + break; + + case O_zmmword_ptr: ++ if (vector_size < VSZ512) ++ { ++ as_bad (_("512-bit operands disabled")); ++ return 0; ++ } + i.types[this_operand].bitfield.zmmword = 1; + break; + +diff -rupN fred/gas/config/tc-i386.c binutils-2.41/gas/config/tc-i386.c +--- fred/gas/config/tc-i386.c 2023-12-07 10:29:26.769733453 +0000 ++++ binutils-2.41/gas/config/tc-i386.c 2023-12-07 10:32:32.157844276 +0000 +@@ -131,6 +131,7 @@ typedef struct + unsigned int len:8; /* arch string length */ + bool skip:1; /* show_arch should skip this. */ + enum processor_type type; /* arch type */ ++ enum { vsz_none, vsz_set, vsz_reset } vsz; /* vector size control */ + i386_cpu_flags enable; /* cpu feature enable flags */ + i386_cpu_flags disable; /* cpu feature disable flags */ + } +@@ -841,6 +842,10 @@ static unsigned int sse2avx; + /* Encode aligned vector move as unaligned vector move. */ + static unsigned int use_unaligned_vector_move; + ++/* Maximum permitted vector size. */ ++#define VSZ_DEFAULT VSZ512 ++static unsigned int vector_size = VSZ_DEFAULT; ++ + /* Encode scalar AVX instructions with specific vector length. */ + static enum + { +@@ -969,11 +974,14 @@ const relax_typeS md_relax_table[] = + }; + + #define ARCH(n, t, f, s) \ +- { STRING_COMMA_LEN (#n), s, PROCESSOR_ ## t, CPU_ ## f ## _FLAGS, \ ++ { STRING_COMMA_LEN (#n), s, PROCESSOR_ ## t, vsz_none, CPU_ ## f ## _FLAGS, \ + CPU_NONE_FLAGS } + #define SUBARCH(n, e, d, s) \ +- { STRING_COMMA_LEN (#n), s, PROCESSOR_NONE, CPU_ ## e ## _FLAGS, \ ++ { STRING_COMMA_LEN (#n), s, PROCESSOR_NONE, vsz_none, CPU_ ## e ## _FLAGS, \ + CPU_ ## d ## _FLAGS } ++#define VECARCH(n, e, d, v) \ ++ { STRING_COMMA_LEN (#n), false, PROCESSOR_NONE, vsz_ ## v, \ ++ CPU_ ## e ## _FLAGS, CPU_ ## d ## _FLAGS } + + static const arch_entry cpu_arch[] = + { +@@ -1035,15 +1043,15 @@ static const arch_entry cpu_arch[] = + SUBARCH (sse4.1, SSE4_1, ANY_SSE4_1, false), + SUBARCH (sse4.2, SSE4_2, ANY_SSE4_2, false), + SUBARCH (sse4, SSE4_2, ANY_SSE4_1, false), +- SUBARCH (avx, AVX, ANY_AVX, false), +- SUBARCH (avx2, AVX2, ANY_AVX2, false), +- SUBARCH (avx512f, AVX512F, ANY_AVX512F, false), +- SUBARCH (avx512cd, AVX512CD, ANY_AVX512CD, false), +- SUBARCH (avx512er, AVX512ER, ANY_AVX512ER, false), +- SUBARCH (avx512pf, AVX512PF, ANY_AVX512PF, false), +- SUBARCH (avx512dq, AVX512DQ, ANY_AVX512DQ, false), +- SUBARCH (avx512bw, AVX512BW, ANY_AVX512BW, false), +- SUBARCH (avx512vl, AVX512VL, ANY_AVX512VL, false), ++ VECARCH (avx, AVX, ANY_AVX, reset), ++ VECARCH (avx2, AVX2, ANY_AVX2, reset), ++ VECARCH (avx512f, AVX512F, ANY_AVX512F, reset), ++ VECARCH (avx512cd, AVX512CD, ANY_AVX512CD, reset), ++ VECARCH (avx512er, AVX512ER, ANY_AVX512ER, reset), ++ VECARCH (avx512pf, AVX512PF, ANY_AVX512PF, reset), ++ VECARCH (avx512dq, AVX512DQ, ANY_AVX512DQ, reset), ++ VECARCH (avx512bw, AVX512BW, ANY_AVX512BW, reset), ++ VECARCH (avx512vl, AVX512VL, ANY_AVX512VL, reset), + SUBARCH (monitor, MONITOR, MONITOR, false), + SUBARCH (vmx, VMX, ANY_VMX, false), + SUBARCH (vmfunc, VMFUNC, ANY_VMFUNC, false), +@@ -1095,15 +1103,15 @@ static const arch_entry cpu_arch[] = + SUBARCH (prefetchwt1, PREFETCHWT1, PREFETCHWT1, false), + SUBARCH (se1, SE1, SE1, false), + SUBARCH (clwb, CLWB, CLWB, false), +- SUBARCH (avx512ifma, AVX512IFMA, ANY_AVX512IFMA, false), +- SUBARCH (avx512vbmi, AVX512VBMI, ANY_AVX512VBMI, false), +- SUBARCH (avx512_4fmaps, AVX512_4FMAPS, ANY_AVX512_4FMAPS, false), +- SUBARCH (avx512_4vnniw, AVX512_4VNNIW, ANY_AVX512_4VNNIW, false), +- SUBARCH (avx512_vpopcntdq, AVX512_VPOPCNTDQ, ANY_AVX512_VPOPCNTDQ, false), +- SUBARCH (avx512_vbmi2, AVX512_VBMI2, ANY_AVX512_VBMI2, false), +- SUBARCH (avx512_vnni, AVX512_VNNI, ANY_AVX512_VNNI, false), +- SUBARCH (avx512_bitalg, AVX512_BITALG, ANY_AVX512_BITALG, false), +- SUBARCH (avx_vnni, AVX_VNNI, ANY_AVX_VNNI, false), ++ VECARCH (avx512ifma, AVX512IFMA, ANY_AVX512IFMA, reset), ++ VECARCH (avx512vbmi, AVX512VBMI, ANY_AVX512VBMI, reset), ++ VECARCH (avx512_4fmaps, AVX512_4FMAPS, ANY_AVX512_4FMAPS, reset), ++ VECARCH (avx512_4vnniw, AVX512_4VNNIW, ANY_AVX512_4VNNIW, reset), ++ VECARCH (avx512_vpopcntdq, AVX512_VPOPCNTDQ, ANY_AVX512_VPOPCNTDQ, reset), ++ VECARCH (avx512_vbmi2, AVX512_VBMI2, ANY_AVX512_VBMI2, reset), ++ VECARCH (avx512_vnni, AVX512_VNNI, ANY_AVX512_VNNI, reset), ++ VECARCH (avx512_bitalg, AVX512_BITALG, ANY_AVX512_BITALG, reset), ++ VECARCH (avx_vnni, AVX_VNNI, ANY_AVX_VNNI, reset), + SUBARCH (clzero, CLZERO, CLZERO, false), + SUBARCH (mwaitx, MWAITX, MWAITX, false), + SUBARCH (ospke, OSPKE, ANY_OSPKE, false), +@@ -1112,8 +1120,8 @@ static const arch_entry cpu_arch[] = + SUBARCH (ibt, IBT, IBT, false), + SUBARCH (shstk, SHSTK, SHSTK, false), + SUBARCH (gfni, GFNI, ANY_GFNI, false), +- SUBARCH (vaes, VAES, ANY_VAES, false), +- SUBARCH (vpclmulqdq, VPCLMULQDQ, ANY_VPCLMULQDQ, false), ++ VECARCH (vaes, VAES, ANY_VAES, reset), ++ VECARCH (vpclmulqdq, VPCLMULQDQ, ANY_VPCLMULQDQ, reset), + SUBARCH (wbnoinvd, WBNOINVD, WBNOINVD, false), + SUBARCH (pconfig, PCONFIG, PCONFIG, false), + SUBARCH (waitpkg, WAITPKG, WAITPKG, false), +@@ -1125,9 +1133,9 @@ static const arch_entry cpu_arch[] = + SUBARCH (amx_tile, AMX_TILE, ANY_AMX_TILE, false), + SUBARCH (movdiri, MOVDIRI, MOVDIRI, false), + SUBARCH (movdir64b, MOVDIR64B, MOVDIR64B, false), +- SUBARCH (avx512_bf16, AVX512_BF16, ANY_AVX512_BF16, false), +- SUBARCH (avx512_vp2intersect, AVX512_VP2INTERSECT, +- ANY_AVX512_VP2INTERSECT, false), ++ VECARCH (avx512_bf16, AVX512_BF16, ANY_AVX512_BF16, reset), ++ VECARCH (avx512_vp2intersect, AVX512_VP2INTERSECT, ++ ANY_AVX512_VP2INTERSECT, reset), + SUBARCH (tdx, TDX, TDX, false), + SUBARCH (enqcmd, ENQCMD, ENQCMD, false), + SUBARCH (serialize, SERIALIZE, SERIALIZE, false), +@@ -1139,19 +1147,19 @@ static const arch_entry cpu_arch[] = + SUBARCH (widekl, WIDEKL, ANY_WIDEKL, false), + SUBARCH (uintr, UINTR, UINTR, false), + SUBARCH (hreset, HRESET, HRESET, false), +- SUBARCH (avx512_fp16, AVX512_FP16, ANY_AVX512_FP16, false), ++ VECARCH (avx512_fp16, AVX512_FP16, ANY_AVX512_FP16, reset), + SUBARCH (prefetchi, PREFETCHI, PREFETCHI, false), +- SUBARCH (avx_ifma, AVX_IFMA, ANY_AVX_IFMA, false), +- SUBARCH (avx_vnni_int8, AVX_VNNI_INT8, ANY_AVX_VNNI_INT8, false), ++ VECARCH (avx_ifma, AVX_IFMA, ANY_AVX_IFMA, reset), ++ VECARCH (avx_vnni_int8, AVX_VNNI_INT8, ANY_AVX_VNNI_INT8, reset), + SUBARCH (cmpccxadd, CMPCCXADD, CMPCCXADD, false), + SUBARCH (wrmsrns, WRMSRNS, WRMSRNS, false), + SUBARCH (msrlist, MSRLIST, MSRLIST, false), +- SUBARCH (avx_ne_convert, AVX_NE_CONVERT, ANY_AVX_NE_CONVERT, false), ++ VECARCH (avx_ne_convert, AVX_NE_CONVERT, ANY_AVX_NE_CONVERT, reset), + SUBARCH (rao_int, RAO_INT, RAO_INT, false), + SUBARCH (rmpquery, RMPQUERY, ANY_RMPQUERY, false), + SUBARCH (fred, FRED, ANY_FRED, false), + SUBARCH (lkgs, LKGS, ANY_LKGS, false), +- SUBARCH (avx10.1, AVX10_1, ANY_AVX512F, false), ++ VECARCH (avx10.1, AVX10_1, ANY_AVX512F, set), + }; + + #undef SUBARCH +@@ -2740,6 +2748,7 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED + i386_cpu_flags isa_flags; + enum processor_type isa; + enum flag_code flag_code; ++ unsigned int vector_size; + char stackop_size; + bool no_cond_jump_promotion; + } arch_stack_entry; +@@ -2775,6 +2784,7 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED + top->isa = cpu_arch_isa; + top->isa_flags = cpu_arch_isa_flags; + top->flag_code = flag_code; ++ top->vector_size = vector_size; + top->stackop_size = stackop_size; + top->no_cond_jump_promotion = no_cond_jump_promotion; + +@@ -2815,6 +2825,7 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED + cpu_arch_flags = top->flags; + cpu_arch_isa = top->isa; + cpu_arch_isa_flags = top->isa_flags; ++ vector_size = top->vector_size; + no_cond_jump_promotion = top->no_cond_jump_promotion; + + XDELETE (top); +@@ -2855,6 +2866,8 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED + cpu_arch_tune_flags = cpu_arch_isa_flags; + } + ++ vector_size = VSZ_DEFAULT; ++ + j = ARRAY_SIZE (cpu_arch) + 1; + } + } +@@ -2889,6 +2902,9 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED + cpu_arch_tune = cpu_arch_isa; + cpu_arch_tune_flags = cpu_arch_isa_flags; + } ++ ++ vector_size = VSZ_DEFAULT; ++ + pre_386_16bit_warned = false; + break; + } +@@ -2909,6 +2925,38 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED + = cpu_flags_or (cpu_arch_isa_flags, cpu_arch[j].enable); + + (void) restore_line_pointer (e); ++ ++ switch (cpu_arch[j].vsz) ++ { ++ default: ++ break; ++ ++ case vsz_set: ++#ifdef SVR4_COMMENT_CHARS ++ if (*input_line_pointer == ':' || *input_line_pointer == '/') ++#else ++ if (*input_line_pointer == '/') ++#endif ++ { ++ ++input_line_pointer; ++ switch (get_absolute_expression ()) ++ { ++ case 512: vector_size = VSZ512; break; ++ case 256: vector_size = VSZ256; break; ++ case 128: vector_size = VSZ128; break; ++ default: ++ as_bad (_("Unrecognized vector size specifier")); ++ ignore_rest_of_line (); ++ return; ++ } ++ break; ++ } ++ /* Fall through. */ ++ case vsz_reset: ++ vector_size = VSZ_DEFAULT; ++ break; ++ } ++ + demand_empty_rest_of_line (); + return; + } +@@ -2929,6 +2977,9 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED + cpu_arch_isa_flags = flags; + } + ++ if (cpu_arch[j].vsz == vsz_set) ++ vector_size = VSZ_DEFAULT; ++ + (void) restore_line_pointer (e); + demand_empty_rest_of_line (); + return; +@@ -5297,9 +5348,11 @@ md_assemble (char *line) + case RegSIMD: + if (i.tm.operand_types[j].bitfield.tmmword) + i.xstate |= xstate_tmm; +- else if (i.tm.operand_types[j].bitfield.zmmword) ++ else if (i.tm.operand_types[j].bitfield.zmmword ++ && vector_size >= VSZ512) + i.xstate |= xstate_zmm; +- else if (i.tm.operand_types[j].bitfield.ymmword) ++ else if (i.tm.operand_types[j].bitfield.ymmword ++ && vector_size >= VSZ256) + i.xstate |= xstate_ymm; + else if (i.tm.operand_types[j].bitfield.xmmword) + i.xstate |= xstate_xmm; +@@ -6473,9 +6526,13 @@ check_VecOperands (const insn_template * + type.bitfield.xmmword = 1; + break; + case 32: ++ if (vector_size < VSZ256) ++ goto bad_broadcast; + type.bitfield.ymmword = 1; + break; + case 64: ++ if (vector_size < VSZ512) ++ goto bad_broadcast; + type.bitfield.zmmword = 1; + break; + default: +@@ -6687,6 +6744,19 @@ VEX_check_encoding (const insn_template + return 1; + } + ++ /* Vector size restrictions. */ ++ if ((vector_size < VSZ512 ++ && (t->opcode_modifier.evex == EVEX512 ++ || t->opcode_modifier.vsz >= VSZ512)) ++ || (vector_size < VSZ256 ++ && (t->opcode_modifier.evex == EVEX256 ++ || t->opcode_modifier.vex == VEX256 ++ || t->opcode_modifier.vsz >= VSZ256))) ++ { ++ i.error = unsupported; ++ return 1; ++ } ++ + if (i.vec_encoding == vex_encoding_evex) + { + /* This instruction must be encoded with EVEX prefix. */ +@@ -7476,8 +7546,27 @@ process_suffix (void) + + for (op = 0; op < i.tm.operands; ++op) + { +- if (is_evex_encoding (&i.tm) +- && !cpu_arch_flags.bitfield.cpuavx512vl) ++ if (vector_size < VSZ512) ++ { ++ i.tm.operand_types[op].bitfield.zmmword = 0; ++ if (vector_size < VSZ256) ++ { ++ i.tm.operand_types[op].bitfield.ymmword = 0; ++ if (i.tm.operand_types[op].bitfield.xmmword ++ && (i.tm.opcode_modifier.evex == EVEXDYN ++ || (!i.tm.opcode_modifier.evex ++ && is_evex_encoding (&i.tm)))) ++ i.tm.opcode_modifier.evex = EVEX128; ++ } ++ else if (i.tm.operand_types[op].bitfield.ymmword ++ && !i.tm.operand_types[op].bitfield.xmmword ++ && (i.tm.opcode_modifier.evex == EVEXDYN ++ || (!i.tm.opcode_modifier.evex ++ && is_evex_encoding (&i.tm)))) ++ i.tm.opcode_modifier.evex = EVEX256; ++ } ++ else if (is_evex_encoding (&i.tm) ++ && !cpu_arch_flags.bitfield.cpuavx512vl) + { + if (i.tm.operand_types[op].bitfield.ymmword) + i.tm.operand_types[op].bitfield.xmmword = 0; +@@ -13725,6 +13814,12 @@ static bool check_register (const reg_en + } + } + ++ if (vector_size < VSZ512 && r->reg_type.bitfield.zmmword) ++ return false; ++ ++ if (vector_size < VSZ256 && r->reg_type.bitfield.ymmword) ++ return false; ++ + if (r->reg_type.bitfield.tmmword + && (!cpu_arch_flags.bitfield.cpuamx_tile + || flag_code != CODE_64BIT)) +@@ -14223,13 +14318,21 @@ md_parse_option (int c, const char *arg) + arch++; + do + { ++ char *vsz; ++ + if (*arch == '.') + as_fatal (_("invalid -march= option: `%s'"), arg); + next = strchr (arch, '+'); + if (next) + *next++ = '\0'; ++ vsz = strchr (arch, '/'); ++ if (vsz) ++ *vsz++ = '\0'; + for (j = 0; j < ARRAY_SIZE (cpu_arch); j++) + { ++ if (vsz && cpu_arch[j].vsz != vsz_set) ++ continue; ++ + if (arch == saved && cpu_arch[j].type != PROCESSOR_NONE + && strcmp (arch, cpu_arch[j].name) == 0) + { +@@ -14248,6 +14351,7 @@ md_parse_option (int c, const char *arg) + cpu_arch_tune = cpu_arch_isa; + cpu_arch_tune_flags = cpu_arch_isa_flags; + } ++ vector_size = VSZ_DEFAULT; + break; + } + else if (cpu_arch[j].type == PROCESSOR_NONE +@@ -14270,6 +14374,37 @@ md_parse_option (int c, const char *arg) + cpu_arch_isa_flags + = cpu_flags_or (cpu_arch_isa_flags, + cpu_arch[j].enable); ++ ++ switch (cpu_arch[j].vsz) ++ { ++ default: ++ break; ++ ++ case vsz_set: ++ if (vsz) ++ { ++ char *end; ++ unsigned long val = strtoul (vsz, &end, 0); ++ ++ if (*end) ++ val = 0; ++ switch (val) ++ { ++ case 512: vector_size = VSZ512; break; ++ case 256: vector_size = VSZ256; break; ++ case 128: vector_size = VSZ128; break; ++ default: ++ as_warn (_("Unrecognized vector size specifier ignored")); ++ break; ++ } ++ break; ++ } ++ /* Fall through. */ ++ case vsz_reset: ++ vector_size = VSZ_DEFAULT; ++ break; ++ } ++ + break; + } + } +@@ -14291,6 +14426,8 @@ md_parse_option (int c, const char *arg) + cpu_arch_flags = flags; + cpu_arch_isa_flags = flags; + } ++ if (cpu_arch[j].vsz == vsz_set) ++ vector_size = VSZ_DEFAULT; + break; + } + } +diff -rupN fred/gas/doc/c-i386.texi binutils-2.41/gas/doc/c-i386.texi +--- fred/gas/doc/c-i386.texi 2023-12-07 10:29:26.770733453 +0000 ++++ binutils-2.41/gas/doc/c-i386.texi 2023-12-07 10:29:43.615741804 +0000 +@@ -208,6 +208,9 @@ accept various extension mnemonics. For + @code{fred}, + @code{lkgs}, + @code{avx10.1}, ++@code{avx10.1/512}, ++@code{avx10.1/256}, ++@code{avx10.1/128}, + @code{amx_int8}, + @code{amx_bf16}, + @code{amx_fp16}, +@@ -262,7 +265,11 @@ accept various extension mnemonics. For + @code{svme} and + @code{padlock}. + Note that these extension mnemonics can be prefixed with @code{no} to revoke +-the respective (and any dependent) functionality. ++the respective (and any dependent) functionality. Note further that the ++suffixes permitted on @code{-march=avx10.} enforce a vector length ++restriction, i.e. despite these otherwise being "enabling" options, using ++these suffixes will disable all insns with wider vector or mask register ++operands. + + When the @code{.arch} directive is used with @option{-march}, the + @code{.arch} directive will take precedent. +@@ -1667,6 +1674,12 @@ an unconditional jump to the target. + + Note that the sub-architecture specifiers (starting with a dot) can be prefixed + with @code{no} to revoke the respective (and any dependent) functionality. ++Note further that @samp{.avx10.} can be suffixed with a vector length ++restriction (@samp{/256} or @samp{/128}, with @samp{/512} simply restoring the ++default). Despite these otherwise being "enabling" specifiers, using these ++suffixes will disable all insns with wider vector or mask register operands. ++On SVR4-derived platforms, the separator character @samp{/} can be replaced by ++@samp{:}. + + Following the CPU architecture (but not a sub-architecture, which are those + starting with a dot), you may specify @samp{jumps} or @samp{nojumps} to +diff -rupN fred/gas/testsuite/gas/i386/avx10-vsz.l binutils-2.41/gas/testsuite/gas/i386/avx10-vsz.l +--- fred/gas/testsuite/gas/i386/avx10-vsz.l 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10-vsz.l 2023-12-07 10:29:43.616741805 +0000 +@@ -0,0 +1,294 @@ ++.*: Assembler messages: ++.*:7: Warning: default ++.*:46: Error: ambiguous operand size for `vcvtpd2ph' ++.*:47: Error: ambiguous operand size for `vcvtpd2ps' ++.*:48: Error: ambiguous operand size for `vfpclassps' ++.*:7: Warning: \.avx10\.1/256 ++.*:12: Error: unsupported instruction `kunpckdq' ++.*:16: Error: unsupported instruction `kaddq' ++.*:17: Error: unsupported instruction `kandq' ++.*:18: Error: unsupported instruction `kandnq' ++.*:19: Error: unsupported instruction `kmovq' ++.*:20: Error: unsupported instruction `kmovq' ++.*:21: Error: unsupported instruction `kmovq' ++.*:22: Error: unsupported instruction `knotq' ++.*:23: Error: unsupported instruction `korq' ++.*:24: Error: unsupported instruction `kortestq' ++.*:25: Error: unsupported instruction `kshiftlq' ++.*:26: Error: unsupported instruction `kshiftrq' ++.*:27: Error: unsupported instruction `ktestq' ++.*:28: Error: unsupported instruction `kxorq' ++.*:29: Error: unsupported instruction `kxnorq' ++.*:32: Error: unsupported instruction `vcvtpd2phz' ++.*:34: Error: unsupported broadcast for `vcvtpd2ph' ++.*:37: Error: unsupported instruction `vcvtpd2ps' ++.*:43: Error: unsupported instruction `vfpclasspsz' ++.*:46: Error: ambiguous operand size for `vcvtpd2ph' ++.*:47: Error: ambiguous operand size for `vcvtpd2ps' ++.*:48: Error: ambiguous operand size for `vfpclassps' ++.*:7: Warning: \.avx10\.1/128 ++.*:10: Error: unsupported instruction `kmovd' ++.*:11: Error: unsupported instruction `kmovd' ++.*:12: Error: unsupported instruction `kunpckdq' ++.*:13: Error: unsupported instruction `kunpckwd' ++.*:16: Error: unsupported instruction `kaddd' ++.*:17: Error: unsupported instruction `kandd' ++.*:18: Error: unsupported instruction `kandnd' ++.*:19: Error: unsupported instruction `kmovd' ++.*:20: Error: unsupported instruction `kmovd' ++.*:21: Error: unsupported instruction `kmovd' ++.*:22: Error: unsupported instruction `knotd' ++.*:23: Error: unsupported instruction `kord' ++.*:24: Error: unsupported instruction `kortestd' ++.*:25: Error: unsupported instruction `kshiftld' ++.*:26: Error: unsupported instruction `kshiftrd' ++.*:27: Error: unsupported instruction `ktestd' ++.*:28: Error: unsupported instruction `kxord' ++.*:29: Error: unsupported instruction `kxnord' ++.*:16: Error: unsupported instruction `kaddq' ++.*:17: Error: unsupported instruction `kandq' ++.*:18: Error: unsupported instruction `kandnq' ++.*:19: Error: unsupported instruction `kmovq' ++.*:20: Error: unsupported instruction `kmovq' ++.*:21: Error: unsupported instruction `kmovq' ++.*:22: Error: unsupported instruction `knotq' ++.*:23: Error: unsupported instruction `korq' ++.*:24: Error: unsupported instruction `kortestq' ++.*:25: Error: unsupported instruction `kshiftlq' ++.*:26: Error: unsupported instruction `kshiftrq' ++.*:27: Error: unsupported instruction `ktestq' ++.*:28: Error: unsupported instruction `kxorq' ++.*:29: Error: unsupported instruction `kxnorq' ++.*:32: Error: unsupported instruction `vcvtpd2phz' ++.*:33: Error: unsupported instruction `vcvtpd2phy' ++.*:34: Error: unsupported broadcast for `vcvtpd2ph' ++.*:35: Error: unsupported broadcast for `vcvtpd2ph' ++.*:37: Error: .* ++.*:38: Error: unsupported instruction `vcvtpd2psy' ++.*:39: Error: unsupported instruction `vcvtpd2psy' ++.*:40: Error: unsupported broadcast for `vcvtpd2ps' ++.*:42: Error: unsupported instruction `vfpclasspsy' ++.*:43: Error: unsupported instruction `vfpclasspsz' ++.*:7: Warning: \.avx10\.1 ++.*:46: Error: ambiguous operand size for `vcvtpd2ph' ++.*:47: Error: ambiguous operand size for `vcvtpd2ps' ++.*:48: Error: ambiguous operand size for `vfpclassps' ++#... ++[ ]*[0-9]+[ ]+> \.arch generic32 ++[ ]*[0-9]+[ ]+> \.arch default ++[ ]*[0-9]+[ ]+\?+ C5FB93D1[ ]+> kmovd %k1,%edx ++[ ]*[0-9]+[ ]+\?+ C5FB92D1[ ]+> kmovd %ecx,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1EC4B D9[ ]+> kunpckdq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C5EC4BD9[ ]+> kunpckwd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.irp sz,d,q ++[ ]*[0-9]+[ ]+\?+ C4E1ED4A D9[ ]+>> kaddd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1ED41 D9[ ]+>> kandd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1ED42 D9[ ]+>> kandnd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F990 D1[ ]+>> kmovd %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1F991 0A[ ]+>> kmovd %k1,\(%edx\) ++[ ]*[0-9]+[ ]+\?+ C4E1F990 11[ ]+>> kmovd \(%ecx\),%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1F944 D1[ ]+>> knotd %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1ED45 D9[ ]+>> kord %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F998 D1[ ]+>> kortestd %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E37933 DA01[ ]+>> kshiftld \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E37931 DA01[ ]+>> kshiftrd \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F999 D1[ ]+>> ktestd %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1ED47 D9[ ]+>> kxord %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1ED46 D9[ ]+>> kxnord %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1EC4A D9[ ]+>> kaddq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1EC41 D9[ ]+>> kandq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1EC42 D9[ ]+>> kandnq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F890 D1[ ]+>> kmovq %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1F891 0A[ ]+>> kmovq %k1,\(%edx\) ++[ ]*[0-9]+[ ]+\?+ C4E1F890 11[ ]+>> kmovq \(%ecx\),%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1F844 D1[ ]+>> knotq %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1EC45 D9[ ]+>> korq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F898 D1[ ]+>> kortestq %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E3F933 DA01[ ]+>> kshiftlq \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E3F931 DA01[ ]+>> kshiftrq \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F899 D1[ ]+>> ktestq %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1EC47 D9[ ]+>> kxorq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1EC46 D9[ ]+>> kxnorq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?+ 62F5FD48 5A00[ ]+> vcvtpd2phz \(%eax\),%xmm0 ++[ ]*[0-9]+[ ]+\?+ 62F5FD28 5A00[ ]+> vcvtpd2phy \(%eax\),%xmm0 ++[ ]*[0-9]+[ ]+\?+ 62F5FD58 5A00[ ]+> vcvtpd2ph \(%eax\)\{1to8\},%xmm0 ++[ ]*[0-9]+[ ]+\?+ 62F5FD38 5A00[ ]+> vcvtpd2ph \(%eax\)\{1to4\},%xmm0 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?+ 62F1FD48 5A00[ ]+> vcvtpd2ps \(%eax\),%ymm0 ++[ ]*[0-9]+[ ]+\?+ C5FD5A00[ ]+> vcvtpd2psy \(%eax\),%xmm0 ++[ ]*[0-9]+[ ]+\?+ 62F1FD29 5A00[ ]+> vcvtpd2psy \(%eax\),%xmm0\{%k1\} ++[ ]*[0-9]+[ ]+\?+ 62F1FD38 5A00[ ]+> vcvtpd2ps \(%eax\)\{1to4\},%xmm0 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?+ 62F37D28 660000[ ]+> vfpclasspsy \$0,\(%eax\),%k0 ++[ ]*[0-9]+[ ]+\?+ 62F37D48 660000[ ]+> vfpclasspsz \$0,\(%eax\),%k0 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.intel_syntax noprefix ++[ ]*[0-9]+[ ]+> vcvtpd2ph xmm0,\[eax\] ++[ ]*[0-9]+[ ]+> vcvtpd2ps xmm0,\[eax\] ++[ ]*[0-9]+[ ]+> vfpclassps k0,\[eax\],0 ++#... ++[ ]*[0-9]+[ ]+> \.arch generic32 ++[ ]*[0-9]+[ ]+> \.arch \.avx10\.1/256 ++[ ]*[0-9]+[ ]+\?+ C5FB93D1[ ]+> kmovd %k1,%edx ++[ ]*[0-9]+[ ]+\?+ C5FB92D1[ ]+> kmovd %ecx,%k2 ++[ ]*[0-9]+[ ]+> kunpckdq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C5EC4BD9[ ]+> kunpckwd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.irp sz,d,q ++[ ]*[0-9]+[ ]+\?+ C4E1ED4A D9[ ]+>> kaddd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1ED41 D9[ ]+>> kandd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1ED42 D9[ ]+>> kandnd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F990 D1[ ]+>> kmovd %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1F991 0A[ ]+>> kmovd %k1,\(%edx\) ++[ ]*[0-9]+[ ]+\?+ C4E1F990 11[ ]+>> kmovd \(%ecx\),%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1F944 D1[ ]+>> knotd %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1ED45 D9[ ]+>> kord %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F998 D1[ ]+>> kortestd %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E37933 DA01[ ]+>> kshiftld \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E37931 DA01[ ]+>> kshiftrd \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F999 D1[ ]+>> ktestd %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1ED47 D9[ ]+>> kxord %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1ED46 D9[ ]+>> kxnord %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kaddq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kandq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kandnq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kmovq %k1,%k2 ++[ ]*[0-9]+[ ]+>> kmovq %k1,\(%edx\) ++[ ]*[0-9]+[ ]+>> kmovq \(%ecx\),%k2 ++[ ]*[0-9]+[ ]+>> knotq %k1,%k2 ++[ ]*[0-9]+[ ]+>> korq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kortestq %k1,%k2 ++[ ]*[0-9]+[ ]+>> kshiftlq \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kshiftrq \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> ktestq %k1,%k2 ++[ ]*[0-9]+[ ]+>> kxorq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kxnorq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> vcvtpd2phz \(%eax\),%xmm0 ++[ ]*[0-9]+[ ]+\?+ 62F5FD28 5A00[ ]+> vcvtpd2phy \(%eax\),%xmm0 ++[ ]*[0-9]+[ ]+> vcvtpd2ph \(%eax\)\{1to8\},%xmm0 ++[ ]*[0-9]+[ ]+\?+ 62F5FD38 5A00[ ]+> vcvtpd2ph \(%eax\)\{1to4\},%xmm0 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> vcvtpd2ps \(%eax\),%ymm0 ++[ ]*[0-9]+[ ]+\?+ C5FD5A00[ ]+> vcvtpd2psy \(%eax\),%xmm0 ++[ ]*[0-9]+[ ]+\?+ 62F1FD29 5A00[ ]+> vcvtpd2psy \(%eax\),%xmm0\{%k1\} ++[ ]*[0-9]+[ ]+\?+ 62F1FD38 5A00[ ]+> vcvtpd2ps \(%eax\)\{1to4\},%xmm0 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?+ 62F37D28 660000[ ]+> vfpclasspsy \$0,\(%eax\),%k0 ++[ ]*[0-9]+[ ]+> vfpclasspsz \$0,\(%eax\),%k0 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.intel_syntax noprefix ++[ ]*[0-9]+[ ]+> vcvtpd2ph xmm0,\[eax\] ++[ ]*[0-9]+[ ]+> vcvtpd2ps xmm0,\[eax\] ++[ ]*[0-9]+[ ]+> vfpclassps k0,\[eax\],0 ++#... ++[ ]*[0-9]+[ ]+> \.arch generic32 ++[ ]*[0-9]+[ ]+> \.arch \.avx10\.1/128 ++[ ]*[0-9]+[ ]+> kmovd %k1,%edx ++[ ]*[0-9]+[ ]+> kmovd %ecx,%k2 ++[ ]*[0-9]+[ ]+> kunpckdq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+> kunpckwd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.irp sz,d,q ++[ ]*[0-9]+[ ]+>> kaddd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kandd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kandnd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kmovd %k1,%k2 ++[ ]*[0-9]+[ ]+>> kmovd %k1,\(%edx\) ++[ ]*[0-9]+[ ]+>> kmovd \(%ecx\),%k2 ++[ ]*[0-9]+[ ]+>> knotd %k1,%k2 ++[ ]*[0-9]+[ ]+>> kord %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kortestd %k1,%k2 ++[ ]*[0-9]+[ ]+>> kshiftld \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kshiftrd \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> ktestd %k1,%k2 ++[ ]*[0-9]+[ ]+>> kxord %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kxnord %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kaddq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kandq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kandnq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kmovq %k1,%k2 ++[ ]*[0-9]+[ ]+>> kmovq %k1,\(%edx\) ++[ ]*[0-9]+[ ]+>> kmovq \(%ecx\),%k2 ++[ ]*[0-9]+[ ]+>> knotq %k1,%k2 ++[ ]*[0-9]+[ ]+>> korq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kortestq %k1,%k2 ++[ ]*[0-9]+[ ]+>> kshiftlq \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kshiftrq \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> ktestq %k1,%k2 ++[ ]*[0-9]+[ ]+>> kxorq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+>> kxnorq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> vcvtpd2phz \(%eax\),%xmm0 ++[ ]*[0-9]+[ ]+> vcvtpd2phy \(%eax\),%xmm0 ++[ ]*[0-9]+[ ]+> vcvtpd2ph \(%eax\)\{1to8\},%xmm0 ++[ ]*[0-9]+[ ]+> vcvtpd2ph \(%eax\)\{1to4\},%xmm0 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> vcvtpd2ps \(%eax\),%ymm0 ++[ ]*[0-9]+[ ]+> vcvtpd2psy \(%eax\),%xmm0 ++[ ]*[0-9]+[ ]+> vcvtpd2psy \(%eax\),%xmm0\{%k1\} ++[ ]*[0-9]+[ ]+> vcvtpd2ps \(%eax\)\{1to4\},%xmm0 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> vfpclasspsy \$0,\(%eax\),%k0 ++[ ]*[0-9]+[ ]+> vfpclasspsz \$0,\(%eax\),%k0 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.intel_syntax noprefix ++[ ]*[0-9]+[ ]+\?+ 62F5FD08 5A00[ ]+> vcvtpd2ph xmm0,\[eax\] ++[ ]*[0-9]+[ ]+\?+ C5F95A00[ ]+> vcvtpd2ps xmm0,\[eax\] ++[ ]*[0-9]+[ ]+\?+ 62F37D08 660000[ ]+> vfpclassps k0,\[eax\],0 ++#... ++[ ]*[0-9]+[ ]+\?+ C5FB93D1[ ]+> kmovd %k1,%edx ++[ ]*[0-9]+[ ]+\?+ C5FB92D1[ ]+> kmovd %ecx,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1EC4B D9[ ]+> kunpckdq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C5EC4BD9[ ]+> kunpckwd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.irp sz,d,q ++[ ]*[0-9]+[ ]+\?+ C4E1ED4A D9[ ]+>> kaddd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1ED41 D9[ ]+>> kandd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1ED42 D9[ ]+>> kandnd %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F990 D1[ ]+>> kmovd %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1F991 0A[ ]+>> kmovd %k1,\(%edx\) ++[ ]*[0-9]+[ ]+\?+ C4E1F990 11[ ]+>> kmovd \(%ecx\),%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1F944 D1[ ]+>> knotd %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1ED45 D9[ ]+>> kord %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F998 D1[ ]+>> kortestd %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E37933 DA01[ ]+>> kshiftld \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E37931 DA01[ ]+>> kshiftrd \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F999 D1[ ]+>> ktestd %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1ED47 D9[ ]+>> kxord %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1ED46 D9[ ]+>> kxnord %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1EC4A D9[ ]+>> kaddq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1EC41 D9[ ]+>> kandq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1EC42 D9[ ]+>> kandnq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F890 D1[ ]+>> kmovq %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1F891 0A[ ]+>> kmovq %k1,\(%edx\) ++[ ]*[0-9]+[ ]+\?+ C4E1F890 11[ ]+>> kmovq \(%ecx\),%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1F844 D1[ ]+>> knotq %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1EC45 D9[ ]+>> korq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F898 D1[ ]+>> kortestq %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E3F933 DA01[ ]+>> kshiftlq \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E3F931 DA01[ ]+>> kshiftrq \$1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1F899 D1[ ]+>> ktestq %k1,%k2 ++[ ]*[0-9]+[ ]+\?+ C4E1EC47 D9[ ]+>> kxorq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+\?+ C4E1EC46 D9[ ]+>> kxnorq %k1,%k2,%k3 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?+ 62F5FD48 5A00[ ]+> vcvtpd2phz \(%eax\),%xmm0 ++[ ]*[0-9]+[ ]+\?+ 62F5FD28 5A00[ ]+> vcvtpd2phy \(%eax\),%xmm0 ++[ ]*[0-9]+[ ]+\?+ 62F5FD58 5A00[ ]+> vcvtpd2ph \(%eax\)\{1to8\},%xmm0 ++[ ]*[0-9]+[ ]+\?+ 62F5FD38 5A00[ ]+> vcvtpd2ph \(%eax\)\{1to4\},%xmm0 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?+ 62F1FD48 5A00[ ]+> vcvtpd2ps \(%eax\),%ymm0 ++[ ]*[0-9]+[ ]+\?+ C5FD5A00[ ]+> vcvtpd2psy \(%eax\),%xmm0 ++[ ]*[0-9]+[ ]+\?+ 62F1FD29 5A00[ ]+> vcvtpd2psy \(%eax\),%xmm0\{%k1\} ++[ ]*[0-9]+[ ]+\?+ 62F1FD38 5A00[ ]+> vcvtpd2ps \(%eax\)\{1to4\},%xmm0 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+\?+ 62F37D28 660000[ ]+> vfpclasspsy \$0,\(%eax\),%k0 ++[ ]*[0-9]+[ ]+\?+ 62F37D48 660000[ ]+> vfpclasspsz \$0,\(%eax\),%k0 ++[ ]*[0-9]+[ ]+> * ++[ ]*[0-9]+[ ]+> \.intel_syntax noprefix ++[ ]*[0-9]+[ ]+> vcvtpd2ph xmm0,\[eax\] ++[ ]*[0-9]+[ ]+> vcvtpd2ps xmm0,\[eax\] ++[ ]*[0-9]+[ ]+> vfpclassps k0,\[eax\],0 ++#pass +diff -rupN fred/gas/testsuite/gas/i386/avx10-vsz.s binutils-2.41/gas/testsuite/gas/i386/avx10-vsz.s +--- fred/gas/testsuite/gas/i386/avx10-vsz.s 1970-01-01 01:00:00.000000000 +0100 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10-vsz.s 2023-12-07 10:29:43.616741805 +0000 +@@ -0,0 +1,52 @@ ++# Test AVX10 vector size restriction ++ .text ++ ++ .irp isa, default, .avx10.1/256, .avx10.1/128, .avx10.1 ++ ++ .att_syntax prefix ++ .warning "\isa" ++ .arch generic32 ++ .arch \isa ++ kmovd %k1, %edx ++ kmovd %ecx, %k2 ++ kunpckdq %k1, %k2, %k3 ++ kunpckwd %k1, %k2, %k3 ++ ++ .irp sz, d, q ++ kadd\sz %k1, %k2, %k3 ++ kand\sz %k1, %k2, %k3 ++ kandn\sz %k1, %k2, %k3 ++ kmov\sz %k1, %k2 ++ kmov\sz %k1, (%edx) ++ kmov\sz (%ecx), %k2 ++ knot\sz %k1, %k2 ++ kor\sz %k1, %k2, %k3 ++ kortest\sz %k1, %k2 ++ kshiftl\sz $1, %k2, %k3 ++ kshiftr\sz $1, %k2, %k3 ++ ktest\sz %k1, %k2 ++ kxor\sz %k1, %k2, %k3 ++ kxnor\sz %k1, %k2, %k3 ++ .endr ++ ++ vcvtpd2phz (%eax), %xmm0 ++ vcvtpd2phy (%eax), %xmm0 ++ vcvtpd2ph (%eax){1to8}, %xmm0 ++ vcvtpd2ph (%eax){1to4}, %xmm0 ++ ++ vcvtpd2ps (%eax), %ymm0 ++ vcvtpd2psy (%eax), %xmm0 ++ vcvtpd2psy (%eax), %xmm0{%k1} ++ vcvtpd2ps (%eax){1to4}, %xmm0 ++ ++ vfpclasspsy $0, (%eax), %k0 ++ vfpclasspsz $0, (%eax), %k0 ++ ++ .intel_syntax noprefix ++ vcvtpd2ph xmm0, [eax] ++ vcvtpd2ps xmm0, [eax] ++ vfpclassps k0, [eax], 0 ++ ++ .endr ++ ++ .p2align 4 +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-1.d binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-1.d +--- fred/gas/testsuite/gas/i386/avx10.1-256-1.d 2023-12-07 10:29:26.865733500 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-1.d 2023-12-07 10:29:43.616741805 +0000 +@@ -1,4 +1,4 @@ +-#as: -I${srcdir}/$subdir ++#as: --divide -I${srcdir}/$subdir + #objdump: -dw + #name: AVX10.1/256 (part 1) + #dump: avx512f_vl.d +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-1.s binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-1.s +--- fred/gas/testsuite/gas/i386/avx10.1-256-1.s 2023-12-07 10:29:26.865733500 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-1.s 2023-12-07 10:29:43.616741805 +0000 +@@ -1,3 +1,3 @@ + .arch generic32 +- .arch .avx10.1 ++ .arch .avx10.1/256 + .include "avx512f_vl.s" +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-2.d binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-2.d +--- fred/gas/testsuite/gas/i386/avx10.1-256-2.d 2023-12-07 10:29:26.865733500 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-2.d 2023-12-07 10:29:43.616741805 +0000 +@@ -1,4 +1,4 @@ +-#as: -I${srcdir}/$subdir ++#as: --divide -I${srcdir}/$subdir + #objdump: -dw + #name: AVX10.1/256 (part 2) + #dump: avx512bw_vl.d +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-2.s binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-2.s +--- fred/gas/testsuite/gas/i386/avx10.1-256-2.s 2023-12-07 10:29:26.865733500 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-2.s 2023-12-07 10:29:43.616741805 +0000 +@@ -1,3 +1,3 @@ + .arch generic32 +- .arch .avx10.1 ++ .arch .avx10.1/256 + .include "avx512bw_vl.s" +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-3.d binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-3.d +--- fred/gas/testsuite/gas/i386/avx10.1-256-3.d 2023-12-07 10:29:26.865733500 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-3.d 2023-12-07 10:29:43.616741805 +0000 +@@ -1,4 +1,4 @@ +-#as: -I${srcdir}/$subdir ++#as: --divide -I${srcdir}/$subdir + #objdump: -dw + #name: AVX10.1/256 (part 3) + #dump: avx512dq_vl.d +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-3.s binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-3.s +--- fred/gas/testsuite/gas/i386/avx10.1-256-3.s 2023-12-07 10:29:26.865733500 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-3.s 2023-12-07 10:29:43.616741805 +0000 +@@ -1,3 +1,3 @@ + .arch generic32 +- .arch .avx10.1 ++ .arch .avx10.1/256 + .include "avx512dq_vl.s" +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-4.d binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-4.d +--- fred/gas/testsuite/gas/i386/avx10.1-256-4.d 2023-12-07 10:29:26.865733500 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-4.d 2023-12-07 10:29:43.616741805 +0000 +@@ -1,4 +1,4 @@ +-#as: -I${srcdir}/$subdir ++#as: --divide -I${srcdir}/$subdir + #objdump: -dw + #name: AVX10.1/256 (part 4) + #dump: avx512_fp16_vl.d +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-4.s binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-4.s +--- fred/gas/testsuite/gas/i386/avx10.1-256-4.s 2023-12-07 10:29:26.865733500 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-4.s 2023-12-07 10:29:43.616741805 +0000 +@@ -1,3 +1,3 @@ + .arch generic32 +- .arch .avx10.1 ++ .arch .avx10.1/256 + .include "avx512_fp16_vl.s" +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-5.d binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-5.d +--- fred/gas/testsuite/gas/i386/avx10.1-256-5.d 2023-12-07 10:29:26.868733501 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-5.d 2023-12-07 10:29:43.616741805 +0000 +@@ -1,4 +1,4 @@ +-#as: -I${srcdir}/$subdir ++#as: --divide -I${srcdir}/$subdir + #objdump: -dw + #name: AVX10.1/256 (part 5) + +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-5.s binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-5.s +--- fred/gas/testsuite/gas/i386/avx10.1-256-5.s 2023-12-07 10:29:26.868733501 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-5.s 2023-12-07 10:29:43.616741805 +0000 +@@ -1,5 +1,5 @@ + .arch generic32 +- .arch .avx10.1 ++ .arch .avx10.1/256 + + .include "avx512bitalg_vl.s" + +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-gfni.d binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-gfni.d +--- fred/gas/testsuite/gas/i386/avx10.1-256-gfni.d 2023-12-07 10:29:26.868733501 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-gfni.d 2023-12-07 10:29:43.616741805 +0000 +@@ -1,4 +1,4 @@ +-#as: -I${srcdir}/$subdir ++#as: --divide -I${srcdir}/$subdir + #objdump: -dw + #name: AVX10.1/256 + GFNI + #dump: avx512vl_gfni.d +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-gfni.s binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-gfni.s +--- fred/gas/testsuite/gas/i386/avx10.1-256-gfni.s 2023-12-07 10:29:26.868733501 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-gfni.s 2023-12-07 10:29:43.616741805 +0000 +@@ -1,4 +1,4 @@ + .arch generic32 +- .arch .avx10.1 ++ .arch .avx10.1/256 + .arch .gfni + .include "avx512vl_gfni.s" +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-vaes.d binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-vaes.d +--- fred/gas/testsuite/gas/i386/avx10.1-256-vaes.d 2023-12-07 10:29:26.868733501 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-vaes.d 2023-12-07 10:29:43.616741805 +0000 +@@ -1,4 +1,4 @@ +-#as: -I${srcdir}/$subdir ++#as: --divide -I${srcdir}/$subdir + #objdump: -dw + #name: AVX10.1/256 + VAES + #dump: avx512vl_vaes.d +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-vaes.s binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-vaes.s +--- fred/gas/testsuite/gas/i386/avx10.1-256-vaes.s 2023-12-07 10:29:26.868733501 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-vaes.s 2023-12-07 10:29:43.616741805 +0000 +@@ -1,4 +1,4 @@ + .arch generic32 +- .arch .avx10.1 ++ .arch .avx10.1/256 + .arch .vaes + .include "avx512vl_vaes.s" +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.d binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.d +--- fred/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.d 2023-12-07 10:29:26.868733501 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.d 2023-12-07 10:29:43.616741805 +0000 +@@ -1,4 +1,4 @@ +-#as: -I${srcdir}/$subdir ++#as: --divide -I${srcdir}/$subdir + #objdump: -dw + #name: AVX10.1/256 + VPLCMULQDQ + #dump: avx512vl_vpclmulqdq.d +diff -rupN fred/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.s binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.s +--- fred/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.s 2023-12-07 10:29:26.868733501 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/avx10.1-256-vpclmulqdq.s 2023-12-07 10:29:43.616741805 +0000 +@@ -1,4 +1,4 @@ + .arch generic32 +- .arch .avx10.1 ++ .arch .avx10.1/256 + .arch .vpclmulqdq + .include "avx512vl_vpclmulqdq.s" +diff -rupN fred/gas/testsuite/gas/i386/i386.exp binutils-2.41/gas/testsuite/gas/i386/i386.exp +--- fred/gas/testsuite/gas/i386/i386.exp 2023-12-07 10:29:26.870733502 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/i386.exp 2023-12-07 10:29:43.616741805 +0000 +@@ -238,7 +238,7 @@ if [gas_32_check] then { + run_list_test "noavx-3" "-al" + run_dump_test "noavx-4" + run_list_test "noavx512-1" "-almn" +- run_list_test "noavx512-2" "-al" ++ run_list_test "noavx512-2" "-almn --divide" + run_dump_test "noextreg" + run_dump_test "xmmhi32" + run_dump_test "xsave" +@@ -569,6 +569,7 @@ if [gas_32_check] then { + run_dump_test "avx10.1-256-gfni" + run_dump_test "avx10.1-256-vaes" + run_dump_test "avx10.1-256-vpclmulqdq" ++ run_list_test "avx10-vsz" "-almn --divide --listing-lhs-width=2" + run_dump_test "fpu-bad" + run_dump_test "cet" + run_dump_test "cet-intel" +diff -rupN fred/gas/testsuite/gas/i386/noavx512-2.l binutils-2.41/gas/testsuite/gas/i386/noavx512-2.l +--- fred/gas/testsuite/gas/i386/noavx512-2.l 2023-12-07 10:29:26.848733491 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/noavx512-2.l 2023-12-07 10:29:43.616741805 +0000 +@@ -1,106 +1,195 @@ + .*: Assembler messages: +-.*:26: Error: .*unsupported masking.* +-.*:27: Error: .*unsupported masking.* +-.*:29: Error: .*unsupported instruction.* +-.*:30: Error: .*unsupported instruction.* +-.*:32: Error: .*unsupported instruction.* +-.*:33: Error: .*unsupported instruction.* +-.*:36: Error: .*unsupported masking.* +-.*:37: Error: .*unsupported masking.* +-.*:39: Error: .*unsupported instruction.* +-.*:40: Error: .*unsupported instruction.* +-.*:43: Error: .*unsupported instruction.* +-.*:44: Error: .*unsupported instruction.* +-GAS LISTING .* +-#... +-[ ]*1[ ]+\# Test \.arch \.noavx512vl +-[ ]*2[ ]+\.text +-[ ]*3[ ]+\?\?\?\? 62F27D4F vpabsb %zmm5, %zmm6\{%k7\} \# AVX512BW +-[ ]*3[ ]+1CF5 +-[ ]*4[ ]+\?\?\?\? 62F27D0F vpabsb %xmm5, %xmm6\{%k7\} \# AVX512BW \+ AVX512VL +-[ ]*4[ ]+1CF5 +-[ ]*5[ ]+\?\?\?\? 62F27D2F vpabsb %ymm5, %ymm6\{%k7\} \# AVX512BW \+ AVX512VL +-[ ]*5[ ]+1CF5 +-[ ]*6[ ]+\?\?\?\? 62F27D48 vpconflictd %zmm5, %zmm6 \# AVX412CD +-[ ]*6[ ]+C4F5 +-[ ]*7[ ]+\?\?\?\? 62F27D08 vpconflictd %xmm5, %xmm6 \# AVX412CD \+ AVX512VL +-[ ]*7[ ]+C4F5 +-[ ]*8[ ]+\?\?\?\? 62F27D28 vpconflictd %ymm5, %ymm6 \# AVX412CD \+ AVX512VL +-[ ]*8[ ]+C4F5 +-[ ]*9[ ]+\?\?\?\? 62F1FD4F vcvtpd2qq \(%ecx\), %zmm6\{%k7\} \# AVX512DQ +-[ ]*9[ ]+7B31 +-[ ]*10[ ]+\?\?\?\? 62F1FD0F vcvtpd2qq \(%ecx\), %xmm6\{%k7\} \# AVX512DQ \+ AVX512VL +-[ ]*10[ ]+7B31 +-[ ]*11[ ]+\?\?\?\? 62F1FD2F vcvtpd2qq \(%ecx\), %ymm6\{%k7\} \# AVX512DQ \+ AVX512VL +-[ ]*11[ ]+7B31 +-[ ]*12[ ]+\?\?\?\? 62F27D4F vexp2ps %zmm5, %zmm6\{%k7\} \# AVX512ER +-[ ]*12[ ]+C8F5 +-[ ]*13[ ]+\?\?\?\? 62F1D54F vaddpd %zmm4, %zmm5, %zmm6\{%k7\} \# AVX512F +-[ ]*13[ ]+58F4 +-[ ]*14[ ]+\?\?\?\? 62F1D50F vaddpd %xmm4, %xmm5, %xmm6\{%k7\} \# AVX512F \+ AVX512VL +-[ ]*14[ ]+58F4 +-[ ]*15[ ]+\?\?\?\? 62F1D52F vaddpd %ymm4, %ymm5, %ymm6\{%k7\} \# AVX512F \+ AVX512VL +-[ ]*15[ ]+58F4 +-[ ]*16[ ]+\?\?\?\? 62F2D54F vpmadd52luq %zmm4, %zmm5, %zmm6\{%k7\} \# AVX512IFMA +-[ ]*16[ ]+B4F4 +-[ ]*17[ ]+\?\?\?\? 62F2D50F vpmadd52luq %xmm4, %xmm5, %xmm6\{%k7\} \# AVX512IFMA \+ AVX512VL +-[ ]*17[ ]+B4F4 +-[ ]*18[ ]+\?\?\?\? 62F2D52F vpmadd52luq %ymm4, %ymm5, %ymm6\{%k7\} \# AVX512IFMA \+ AVX512VL +-[ ]*18[ ]+B4F4 +-[ ]*19[ ]+\?\?\?\? 62F2FD49 vgatherpf0dpd 23\(%ebp,%ymm7,8\)\{%k1\} \# AVX512PF +-[ ]*19[ ]+C68CFD17 +-[ ]*19[ ]+000000 +-[ ]*20[ ]+\?\?\?\? 62F2554F vpermb %zmm4, %zmm5, %zmm6\{%k7\} \# AVX512VBMI +-[ ]*20[ ]+8DF4 +-[ ]*21[ ]+\?\?\?\? 62F2550F vpermb %xmm4, %xmm5, %xmm6\{%k7\} \# AVX512VBMI \+ AVX512VL +-[ ]*21[ ]+8DF4 +-[ ]*22[ ]+\?\?\?\? 62F2552F vpermb %ymm4, %ymm5, %ymm6\{%k7\} \# AVX512VBMI \+ AVX512VL +-[ ]*22[ ]+8DF4 +-[ ]*23[ ]+ +-[ ]*24[ ]+\.arch \.noavx512vl +-[ ]*25[ ]+\?\?\?\? 62F27D4F vpabsb %zmm5, %zmm6\{%k7\} \# AVX512BW +-[ ]*25[ ]+1CF5 +-[ ]*26[ ]+vpabsb %xmm5, %xmm6\{%k7\} \# AVX512BW \+ AVX512VL +-[ ]*27[ ]+vpabsb %ymm5, %ymm6\{%k7\} \# AVX512BW \+ AVX512VL +-[ ]*28[ ]+\?\?\?\? 62F27D48 vpconflictd %zmm5, %zmm6 \# AVX412CD +-[ ]*28[ ]+C4F5 +-[ ]*29[ ]+vpconflictd %xmm5, %xmm6 \# AVX412CD \+ AVX512VL +-[ ]*30[ ]+vpconflictd %ymm5, %ymm6 \# AVX412CD \+ AVX512VL +-[ ]*31[ ]+\?\?\?\? 62F1FD4F vcvtpd2qq \(%ecx\), %zmm6\{%k7\} \# AVX512DQ +-[ ]*31[ ]+7B31 +-[ ]*32[ ]+vcvtpd2qq \(%ecx\), %xmm6\{%k7\} \# AVX512DQ \+ AVX512VL +-[ ]*33[ ]+vcvtpd2qq \(%ecx\), %ymm6\{%k7\} \# AVX512DQ \+ AVX512VL +- GAS LISTING .* +- +- +-[ ]*34[ ]+\?\?\?\? 62F27D4F vexp2ps %zmm5, %zmm6\{%k7\} \# AVX512ER +-[ ]*34[ ]+C8F5 +-[ ]*35[ ]+\?\?\?\? 62F1D54F vaddpd %zmm4, %zmm5, %zmm6\{%k7\} \# AVX512F +-[ ]*35[ ]+58F4 +-[ ]*36[ ]+vaddpd %xmm4, %xmm5, %xmm6\{%k7\} \# AVX512F \+ AVX512VL +-[ ]*37[ ]+vaddpd %ymm4, %ymm5, %ymm6\{%k7\} \# AVX512F \+ AVX512VL +-[ ]*38[ ]+\?\?\?\? 62F2D54F vpmadd52luq %zmm4, %zmm5, %zmm6\{%k7\} \# AVX512IFMA +-[ ]*38[ ]+B4F4 +-[ ]*39[ ]+vpmadd52luq %xmm4, %xmm5, %xmm6\{%k7\} \# AVX512IFMA \+ AVX512VL +-[ ]*40[ ]+vpmadd52luq %ymm4, %ymm5, %ymm6\{%k7\} \# AVX512IFMA \+ AVX512VL +-[ ]*41[ ]+\?\?\?\? 62F2FD49 vgatherpf0dpd 23\(%ebp,%ymm7,8\)\{%k1\} \# AVX512PF +-[ ]*41[ ]+C68CFD17 +-[ ]*41[ ]+000000 +-[ ]*42[ ]+\?\?\?\? 62F2554F vpermb %zmm4, %zmm5, %zmm6\{%k7\} \# AVX512VBMI +-[ ]*42[ ]+8DF4 +-[ ]*43[ ]+vpermb %xmm4, %xmm5, %xmm6\{%k7\} \# AVX512VBMI \+ AVX512VL +-[ ]*44[ ]+vpermb %ymm4, %ymm5, %ymm6\{%k7\} \# AVX512VBMI \+ AVX512VL +-[ ]*45[ ]+ +-[ ]*46[ ]+\?\?\?\? C4E2791C vpabsb %xmm5, %xmm6 +-[ ]*46[ ]+F5 +-[ ]*47[ ]+\?\?\?\? C4E27D1C vpabsb %ymm5, %ymm6 +-[ ]*47[ ]+F5 +-[ ]*48[ ]+\?\?\?\? C5D158F4 vaddpd %xmm4, %xmm5, %xmm6 +-[ ]*49[ ]+\?\?\?\? C5D558F4 vaddpd %ymm4, %ymm5, %ymm6 +-[ ]*50[ ]+\?\?\?\? 660F381C pabsb %xmm5, %xmm6 +-[ ]*50[ ]+F5 +-[ ]*51[ ]+\?\?\?\? 660F58F4 addpd %xmm4, %xmm6 +-[ ]*52[ ]+ ++.*:8: Error: .*bad register name `%zmm.* ++.*:11: Error: .*bad register name `%zmm.* ++.*:14: Error: .*bad register name `%zmm.* ++.*:17: Error: .*bad register name `%zmm.* ++.*:18: Error: .*bad register name `%zmm.* ++.*:21: Error: .*bad register name `%zmm.* ++.*:24: Error: .*unsupported instruction.* ++.*:25: Error: .*bad register name `%zmm.* ++.*:8: Error: .*bad register name `%zmm.* ++.*:10: Error: .*bad register name `%ymm.* ++.*:11: Error: .*bad register name `%zmm.* ++.*:13: Error: .*bad register name `%ymm.* ++.*:14: Error: .*bad register name `%zmm.* ++.*:16: Error: .*bad register name `%ymm.* ++.*:17: Error: .*bad register name `%zmm.* ++.*:18: Error: .*bad register name `%zmm.* ++.*:20: Error: .*bad register name `%ymm.* ++.*:21: Error: .*bad register name `%zmm.* ++.*:23: Error: .*bad register name `%ymm.* ++.*:24: Error: .* ++.*:25: Error: .*bad register name `%zmm.* ++.*:27: Error: .*bad register name `%ymm.* ++.*:9: Error: .*unsupported masking.* ++.*:10: Error: .*unsupported masking.* ++.*:12: Error: .*unsupported instruction.* ++.*:13: Error: .*unsupported instruction.* ++.*:15: Error: .*unsupported instruction.* ++.*:16: Error: .*unsupported instruction.* ++.*:19: Error: .*unsupported masking.* ++.*:20: Error: .*unsupported masking.* ++.*:22: Error: .*unsupported instruction.* ++.*:23: Error: .*unsupported instruction.* ++.*:26: Error: .*unsupported instruction.* ++.*:27: Error: .*unsupported instruction.* ++#... ++[ ]*[0-9]+[ ]+\# Test \.arch \.noavx512vl ++[ ]*[0-9]+[ ]+\.text ++[ ]*[0-9]+[ ]* ++[ ]*[0-9]+[ ]+\.irp isa, default, .* ++#... ++[ ]*[0-9]+[ ]+\.endr ++#... ++[ ]*[0-9]+[ ]+> \.arch default ++[ ]*[0-9]+[ ]+> \.arch default ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D4F > vpabsb %zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+1CF5 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D0F > vpabsb %xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+1CF5 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D2F > vpabsb %ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+1CF5 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D48 > vpconflictd %zmm5,%zmm6 ++[ ]*[0-9]+[ ]+C4F5 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D08 > vpconflictd %xmm5,%xmm6 ++[ ]*[0-9]+[ ]+C4F5 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D28 > vpconflictd %ymm5,%ymm6 ++[ ]*[0-9]+[ ]+C4F5 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1FD4F > vcvtpd2qq \(%ecx\),%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+7B31 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1FD0F > vcvtpd2qq \(%ecx\),%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+7B31 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1FD2F > vcvtpd2qq \(%ecx\),%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+7B31 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D4F > vexp2ps %zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+C8F5 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1D54F > vaddpd %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+58F4 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1D50F > vaddpd %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+58F4 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1D52F > vaddpd %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+58F4 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2D54F > vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+B4F4 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2D50F > vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+B4F4 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2D52F > vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+B4F4 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2FD49 > vgatherpf0dpd 23\(%ebp,%ymm7,8\)\{%k1\} ++[ ]*[0-9]+[ ]+C68CFD17 * ++[ ]*[0-9]+[ ]+000000 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2554F > vpermb %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+8DF4 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2550F > vpermb %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+8DF4 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2552F > vpermb %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+8DF4 ++#... ++[ ]*[0-9]+[ ]+> \.arch default ++[ ]*[0-9]+[ ]+> \.arch \.avx10\.1/256 ++[ ]*[0-9]+[ ]+> vpabsb %zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D0F > vpabsb %xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+1CF5 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D2F > vpabsb %ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+1CF5 ++[ ]*[0-9]+[ ]+> vpconflictd %zmm5,%zmm6 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D08 > vpconflictd %xmm5,%xmm6 ++[ ]*[0-9]+[ ]+C4F5 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D28 > vpconflictd %ymm5,%ymm6 ++[ ]*[0-9]+[ ]+C4F5 ++[ ]*[0-9]+[ ]+> vcvtpd2qq \(%ecx\),%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1FD0F > vcvtpd2qq \(%ecx\),%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+7B31 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1FD2F > vcvtpd2qq \(%ecx\),%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+7B31 ++[ ]*[0-9]+[ ]+> vexp2ps %zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vaddpd %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1D50F > vaddpd %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+58F4 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1D52F > vaddpd %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+58F4 ++[ ]*[0-9]+[ ]+> vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2D50F > vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+B4F4 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2D52F > vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+B4F4 ++[ ]*[0-9]+[ ]+> vgatherpf0dpd 23\(%ebp,%ymm7,8\)\{%k1\} ++[ ]*[0-9]+[ ]+> vpermb %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2550F > vpermb %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+8DF4 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2552F > vpermb %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+8DF4 ++#... ++[ ]*[0-9]+[ ]+> \.arch default ++[ ]*[0-9]+[ ]+> \.arch \.avx10\.1/128 ++[ ]*[0-9]+[ ]+> vpabsb %zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D0F > vpabsb %xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+1CF5 ++[ ]*[0-9]+[ ]+> vpabsb %ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpconflictd %zmm5,%zmm6 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D08 > vpconflictd %xmm5,%xmm6 ++[ ]*[0-9]+[ ]+C4F5 ++[ ]*[0-9]+[ ]+> vpconflictd %ymm5,%ymm6 ++[ ]*[0-9]+[ ]+> vcvtpd2qq \(%ecx\),%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1FD0F > vcvtpd2qq \(%ecx\),%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+7B31 ++[ ]*[0-9]+[ ]+> vcvtpd2qq \(%ecx\),%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+> vexp2ps %zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vaddpd %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1D50F > vaddpd %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+58F4 ++[ ]*[0-9]+[ ]+> vaddpd %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2D50F > vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+B4F4 ++[ ]*[0-9]+[ ]+> vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+> vgatherpf0dpd 23\(%ebp,%ymm7,8\)\{%k1\} ++[ ]*[0-9]+[ ]+> vpermb %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2550F > vpermb %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+8DF4 ++[ ]*[0-9]+[ ]+> vpermb %ymm4,%ymm5,%ymm6\{%k7\} ++#... ++[ ]*[0-9]+[ ]+> \.arch \.noavx512vl ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D4F > vpabsb %zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+1CF5 ++[ ]*[0-9]+[ ]+> vpabsb %xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpabsb %ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D48 > vpconflictd %zmm5,%zmm6 ++[ ]*[0-9]+[ ]+C4F5 ++[ ]*[0-9]+[ ]+> vpconflictd %xmm5,%xmm6 ++[ ]*[0-9]+[ ]+> vpconflictd %ymm5,%ymm6 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1FD4F > vcvtpd2qq \(%ecx\),%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+7B31 ++[ ]*[0-9]+[ ]+> vcvtpd2qq \(%ecx\),%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vcvtpd2qq \(%ecx\),%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F27D4F > vexp2ps %zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+C8F5 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F1D54F > vaddpd %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+58F4 ++[ ]*[0-9]+[ ]+> vaddpd %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vaddpd %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2D54F > vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+B4F4 ++[ ]*[0-9]+[ ]+> vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\} ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2FD49 > vgatherpf0dpd 23\(%ebp,%ymm7,8\)\{%k1\} ++[ ]*[0-9]+[ ]+C68CFD17 * ++[ ]*[0-9]+[ ]+000000 ++[ ]*[0-9]+[ ]+\?\?\?\? 62F2554F > vpermb %zmm4,%zmm5,%zmm6\{%k7\} ++[ ]*[0-9]+[ ]+8DF4 ++[ ]*[0-9]+[ ]+> vpermb %xmm4,%xmm5,%xmm6\{%k7\} ++[ ]*[0-9]+[ ]+> vpermb %ymm4,%ymm5,%ymm6\{%k7\} ++#... ++[ ]*[0-9]+[ ]+\?\?\?\? C4E2791C vpabsb %xmm5, %xmm6 ++[ ]*[0-9]+[ ]+F5 ++[ ]*[0-9]+[ ]+\?\?\?\? C4E27D1C vpabsb %ymm5, %ymm6 ++[ ]*[0-9]+[ ]+F5 ++[ ]*[0-9]+[ ]+\?\?\?\? C5D158F4 vaddpd %xmm4, %xmm5, %xmm6 ++[ ]*[0-9]+[ ]+\?\?\?\? C5D558F4 vaddpd %ymm4, %ymm5, %ymm6 ++[ ]*[0-9]+[ ]+\?\?\?\? 660F381C pabsb %xmm5, %xmm6 ++[ ]*[0-9]+[ ]+F5 ++[ ]*[0-9]+[ ]+\?\?\?\? 660F58F4 addpd %xmm4, %xmm6 ++[ ]*[0-9]+[ ]+ + [ ]*[1-9][0-9]*[ ]+\.intel_syntax noprefix + [ ]*[1-9][0-9]*[ ]+\?\?\?\? 62F3FD48 vfpclasspd k0, \[eax], 0 + [ ]*[1-9][0-9]*[ ]+660000 +diff -rupN fred/gas/testsuite/gas/i386/noavx512-2.s binutils-2.41/gas/testsuite/gas/i386/noavx512-2.s +--- fred/gas/testsuite/gas/i386/noavx512-2.s 2023-12-07 10:29:26.848733491 +0000 ++++ binutils-2.41/gas/testsuite/gas/i386/noavx512-2.s 2023-12-07 10:29:43.616741805 +0000 +@@ -1,27 +1,10 @@ + # Test .arch .noavx512vl + .text +- vpabsb %zmm5, %zmm6{%k7} # AVX512BW +- vpabsb %xmm5, %xmm6{%k7} # AVX512BW + AVX512VL +- vpabsb %ymm5, %ymm6{%k7} # AVX512BW + AVX512VL +- vpconflictd %zmm5, %zmm6 # AVX412CD +- vpconflictd %xmm5, %xmm6 # AVX412CD + AVX512VL +- vpconflictd %ymm5, %ymm6 # AVX412CD + AVX512VL +- vcvtpd2qq (%ecx), %zmm6{%k7} # AVX512DQ +- vcvtpd2qq (%ecx), %xmm6{%k7} # AVX512DQ + AVX512VL +- vcvtpd2qq (%ecx), %ymm6{%k7} # AVX512DQ + AVX512VL +- vexp2ps %zmm5, %zmm6{%k7} # AVX512ER +- vaddpd %zmm4, %zmm5, %zmm6{%k7} # AVX512F +- vaddpd %xmm4, %xmm5, %xmm6{%k7} # AVX512F + AVX512VL +- vaddpd %ymm4, %ymm5, %ymm6{%k7} # AVX512F + AVX512VL +- vpmadd52luq %zmm4, %zmm5, %zmm6{%k7} # AVX512IFMA +- vpmadd52luq %xmm4, %xmm5, %xmm6{%k7} # AVX512IFMA + AVX512VL +- vpmadd52luq %ymm4, %ymm5, %ymm6{%k7} # AVX512IFMA + AVX512VL +- vgatherpf0dpd 23(%ebp,%ymm7,8){%k1} # AVX512PF +- vpermb %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI +- vpermb %xmm4, %xmm5, %xmm6{%k7} # AVX512VBMI + AVX512VL +- vpermb %ymm4, %ymm5, %ymm6{%k7} # AVX512VBMI + AVX512VL + +- .arch .noavx512vl ++ .irp isa, default, .avx10.1/256, .avx10.1/128, .noavx512vl ++ ++ .arch default ++ .arch \isa + vpabsb %zmm5, %zmm6{%k7} # AVX512BW + vpabsb %xmm5, %xmm6{%k7} # AVX512BW + AVX512VL + vpabsb %ymm5, %ymm6{%k7} # AVX512BW + AVX512VL +@@ -43,6 +26,8 @@ + vpermb %xmm4, %xmm5, %xmm6{%k7} # AVX512VBMI + AVX512VL + vpermb %ymm4, %ymm5, %ymm6{%k7} # AVX512VBMI + AVX512VL + ++ .endr ++ + vpabsb %xmm5, %xmm6 + vpabsb %ymm5, %ymm6 + vaddpd %xmm4, %xmm5, %xmm6 +diff -rupN fred/opcodes/i386-gen.c binutils-2.41/opcodes/i386-gen.c +--- fred/opcodes/i386-gen.c 2023-12-07 10:29:27.109733621 +0000 ++++ binutils-2.41/opcodes/i386-gen.c 2023-12-07 10:29:43.616741805 +0000 +@@ -451,6 +451,7 @@ static bitfield opcode_modifiers[] = + BITFIELD (StaticRounding), + BITFIELD (SAE), + BITFIELD (Disp8MemShift), ++ BITFIELD (Vsz), + BITFIELD (Optimize), + BITFIELD (ATTMnemonic), + BITFIELD (ATTSyntax), +diff -rupN fred/opcodes/i386-opc.h binutils-2.41/opcodes/i386-opc.h +--- fred/opcodes/i386-opc.h 2023-12-07 10:29:27.106733619 +0000 ++++ binutils-2.41/opcodes/i386-opc.h 2023-12-07 10:29:43.616741805 +0000 +@@ -673,6 +673,16 @@ enum + #define DISP8_SHIFT_VL 7 + Disp8MemShift, + ++ /* insn has vector size restrictions, requiring a minimum of: ++ 0: 128 bits. ++ 1: 256 bits. ++ 2: 512 bits. ++ */ ++#define VSZ128 0 /* Not to be used in templates. */ ++#define VSZ256 1 ++#define VSZ512 2 ++ Vsz, ++ + /* Support encoding optimization. */ + Optimize, + +@@ -733,6 +743,7 @@ typedef struct i386_opcode_modifier + unsigned int staticrounding:1; + unsigned int sae:1; + unsigned int disp8memshift:3; ++ unsigned int vsz:3; + unsigned int optimize:1; + unsigned int attmnemonic:1; + unsigned int attsyntax:1; +diff -rupN fred/opcodes/i386-opc.tbl binutils-2.41/opcodes/i386-opc.tbl +--- fred/opcodes/i386-opc.tbl 2023-12-07 10:29:27.106733619 +0000 ++++ binutils-2.41/opcodes/i386-opc.tbl 2023-12-07 10:29:43.617741805 +0000 +@@ -131,6 +131,9 @@ + #define EVexLIG EVex=EVEXLIG + #define EVexDYN EVex=EVEXDYN + ++#define Vsz256 Vsz=VSZ256 ++#define Vsz512 Vsz=VSZ512 ++ + // The EVEX purpose of StaticRounding appears only together with SAE. Re-use + // the bit to mark commutative VEX encodings where swapping the source + // operands may allow to switch from 3-byte to 2-byte VEX encoding. +@@ -987,9 +990,9 @@ pause, 0xf390, i186, NoSuf, {} + b:0:VexW0:Byte:AVX512DQ:66:AVX512VBMI, + + w:1:VexW1:Word:AVX512F::AVX512BW> + +- ++ + + emms, 0xf77, MMX, NoSuf, {} + // These really shouldn't allow for Reg64 (movq is the right mnemonic for +@@ -2597,22 +2600,22 @@ vpmovzxwq, 0x6634, AVX512F|AVX512VL, Mod + + // AVX512BW instructions. + +-kadd, 0x4a, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf, { RegMask, RegMask, RegMask } +-kand, 0x41, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf, { RegMask, RegMask, RegMask } +-kandn, 0x42, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf|Optimize, { RegMask, RegMask, RegMask } +-kmov, 0x90, AVX512BW, Modrm|Vex128|Space0F|VexW1|NoSuf, { RegMask||Unspecified|BaseIndex, RegMask } +-kmov, 0x91, AVX512BW, Modrm|Vex128|Space0F|VexW1|NoSuf, { RegMask, |Unspecified|BaseIndex } +-kmov, 0xf292, AVX512BW, D|Modrm|Vex128|Space0F||NoSuf, { , RegMask } +-knot, 0x44, AVX512BW, Modrm|Vex128|Space0F|VexW1|NoSuf, { RegMask, RegMask } +-kor, 0x45, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf, { RegMask, RegMask, RegMask } +-kortest, 0x98, AVX512BW, Modrm|Vex128|Space0F|VexW1|NoSuf, { RegMask, RegMask } +-ktest, 0x99, AVX512BW, Modrm|Vex128|Space0F|VexW1|NoSuf, { RegMask, RegMask } +-kxnor, 0x46, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf, { RegMask, RegMask, RegMask } +-kxor, 0x47, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf|Optimize, { RegMask, RegMask, RegMask } +-kunpckdq, 0x4B, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|NoSuf, { RegMask, RegMask, RegMask } +-kunpckwd, 0x4B, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW0|NoSuf, { RegMask, RegMask, RegMask } +-kshiftl, 0x6633, AVX512BW, Modrm|Vex128|Space0F3A||NoSuf, { Imm8, RegMask, RegMask } +-kshiftr, 0x6631, AVX512BW, Modrm|Vex128|Space0F3A||NoSuf, { Imm8, RegMask, RegMask } ++kadd, 0x4a, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1||NoSuf, { RegMask, RegMask, RegMask } ++kand, 0x41, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1||NoSuf, { RegMask, RegMask, RegMask } ++kandn, 0x42, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1||NoSuf|Optimize, { RegMask, RegMask, RegMask } ++kmov, 0x90, AVX512BW, Modrm|Vex128|Space0F|VexW1||NoSuf, { RegMask||Unspecified|BaseIndex, RegMask } ++kmov, 0x91, AVX512BW, Modrm|Vex128|Space0F|VexW1||NoSuf, { RegMask, |Unspecified|BaseIndex } ++kmov, 0xf292, AVX512BW, D|Modrm|Vex128|Space0F|||NoSuf, { , RegMask } ++knot, 0x44, AVX512BW, Modrm|Vex128|Space0F|VexW1||NoSuf, { RegMask, RegMask } ++kor, 0x45, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1||NoSuf, { RegMask, RegMask, RegMask } ++kortest, 0x98, AVX512BW, Modrm|Vex128|Space0F|VexW1||NoSuf, { RegMask, RegMask } ++ktest, 0x99, AVX512BW, Modrm|Vex128|Space0F|VexW1||NoSuf, { RegMask, RegMask } ++kxnor, 0x46, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1||NoSuf, { RegMask, RegMask, RegMask } ++kxor, 0x47, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1||NoSuf|Optimize, { RegMask, RegMask, RegMask } ++kunpckdq, 0x4B, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW1|Vsz512|NoSuf, { RegMask, RegMask, RegMask } ++kunpckwd, 0x4B, AVX512BW, Modrm|Vex256|Space0F|VexVVVV|VexW0|Vsz256|NoSuf, { RegMask, RegMask, RegMask } ++kshiftl, 0x6633, AVX512BW, Modrm|Vex128|Space0F3A|||NoSuf, { Imm8, RegMask, RegMask } ++kshiftr, 0x6631, AVX512BW, Modrm|Vex128|Space0F3A|||NoSuf, { Imm8, RegMask, RegMask } + + vdbpsadbw, 0x6642, AVX512BW, Modrm|Masking|Space0F3A|VexVVVV|VexW0|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + +diff -rupN fred/opcodes/i386-tbl.h binutils-2.41/opcodes/i386-tbl.h +--- fred/opcodes/i386-tbl.h 2023-12-07 10:29:27.106733619 +0000 ++++ binutils-2.41/opcodes/i386-tbl.h 2023-12-07 10:34:21.509935108 +0000 +@@ -26,7 +26,8 @@ static const insn_template i386_optab[] + { + { MN_mov, 0xa0, 2, SPACE_BASE, None, + { 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40,7 +41,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mov, 0xa0, 2, SPACE_BASE, None, + { 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54,7 +56,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mov, 0x88, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -68,7 +71,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_mov, 0xb0, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -82,7 +86,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mov, 0xc6, 2, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -96,7 +101,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_mov, 0xb8, 2, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -110,7 +116,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mov, 0x8c, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -124,7 +131,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mov, 0x8c, 2, SPACE_BASE, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -138,7 +146,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_mov, 0x8e, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -152,7 +161,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mov, 0x20, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -166,7 +176,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mov, 0x20, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -180,7 +191,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mov, 0x21, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -194,7 +206,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mov, 0x21, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -208,7 +221,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mov, 0x24, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -222,7 +236,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movabs, 0xa0, 2, SPACE_BASE, None, + { 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -236,7 +251,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movabs, 0xb8, 2, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -250,7 +266,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movbe, 0xf0, 2, SPACE_0F38, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +@@ -264,7 +281,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movsb, 0xbe, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -278,7 +296,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movsw, 0xbf, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -292,7 +311,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movsl, 0x63, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -306,7 +326,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movsx, 0xbe, 2, SPACE_0F, None, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -320,7 +341,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movsx, 0x63, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -334,7 +356,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movsxd, 0x63, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -348,7 +371,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movsxd, 0x63, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -362,7 +386,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movsxd, 0x63, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -376,7 +401,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movzb, 0xb6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -390,7 +416,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movzw, 0xb7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -404,7 +431,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movzx, 0xb6, 2, SPACE_0F, None, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -418,7 +446,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0x50, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -430,7 +459,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0xff, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -442,7 +472,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_push, 0x6a, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -454,7 +485,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0x68, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -466,7 +498,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0x06, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -478,7 +511,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0x50, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -490,7 +524,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0xff, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -502,7 +537,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_push, 0x6a, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -514,7 +550,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0x68, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -526,7 +563,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_push, 0xa0, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -538,7 +576,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pusha, 0x60, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -550,7 +589,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pop, 0x58, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -562,7 +602,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pop, 0x8f, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -574,7 +615,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pop, 0x07, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -586,7 +628,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pop, 0x58, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -598,7 +641,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pop, 0x8f, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -610,7 +654,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pop, 0xa1, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -622,7 +667,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_popa, 0x61, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -634,7 +680,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xchg, 0x90, 2, SPACE_BASE, None, + { 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -648,7 +695,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xchg, 0x86, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -662,7 +710,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_in, 0xe4, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -676,7 +725,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_in, 0xec, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -690,7 +740,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_in, 0xe4, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -702,7 +753,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_in, 0xec, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -714,7 +766,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_out, 0xe6, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -728,7 +781,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_out, 0xee, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -742,7 +796,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_out, 0xe6, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -754,7 +809,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_out, 0xee, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -766,7 +822,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lea, 0x8d, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -780,7 +837,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lds, 0xc5, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -794,7 +852,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_les, 0xc4, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -808,7 +867,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lfs, 0xb4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -822,7 +882,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lfs, 0xb4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -836,7 +897,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lgs, 0xb5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -850,7 +912,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lgs, 0xb5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -864,7 +927,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lss, 0xb2, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -878,7 +942,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lss, 0xb2, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -892,7 +957,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clc, 0xf8, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -904,7 +970,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cld, 0xfc, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -916,7 +983,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cli, 0xfa, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -928,7 +996,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clts, 0x06, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -940,7 +1009,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmc, 0xf5, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -952,7 +1022,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lahf, 0x9f, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -964,7 +1035,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lahf, 0x9f, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +@@ -976,7 +1048,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sahf, 0x9e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -988,7 +1061,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sahf, 0x9e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +@@ -1000,7 +1074,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pushf, 0x9c, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1012,7 +1087,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pushf, 0x9c, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1024,7 +1100,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_popf, 0x9d, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1036,7 +1113,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_popf, 0x9d, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1048,7 +1126,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_stc, 0xf9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1060,7 +1139,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_std, 0xfd, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1072,7 +1152,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sti, 0xfb, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1084,7 +1165,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_add, 0x00, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1098,7 +1180,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_add, 0x83, 2, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1112,7 +1195,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_add, 0x04, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1126,7 +1210,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_add, 0x80, 2, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1140,7 +1225,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_inc, 0x40, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1152,7 +1238,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_inc, 0xfe, 1, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1164,7 +1251,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sub, 0x28, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1178,7 +1266,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sub, 0x83, 2, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1192,7 +1281,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sub, 0x2c, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1206,7 +1296,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sub, 0x80, 2, SPACE_BASE, 5, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1220,7 +1311,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_dec, 0x48, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1232,7 +1324,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_dec, 0xfe, 1, SPACE_BASE, 1, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1244,7 +1337,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sbb, 0x18, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1258,7 +1352,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sbb, 0x83, 2, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1272,7 +1367,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sbb, 0x1c, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1286,7 +1382,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sbb, 0x80, 2, SPACE_BASE, 3, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1300,7 +1397,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmp, 0x38, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1314,7 +1412,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmp, 0x83, 2, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1328,7 +1427,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmp, 0x3c, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1342,7 +1442,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmp, 0x80, 2, SPACE_BASE, 7, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1356,7 +1457,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_test, 0x84, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1370,7 +1472,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_test, 0xa8, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1384,7 +1487,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_test, 0xf6, 2, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1398,7 +1502,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_and, 0x20, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1412,7 +1517,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_and, 0x83, 2, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1426,7 +1532,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_and, 0x24, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1440,7 +1547,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_and, 0x80, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1454,7 +1562,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_or, 0x08, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1468,7 +1577,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_or, 0x83, 2, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1482,7 +1592,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_or, 0x0c, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1496,7 +1607,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_or, 0x80, 2, SPACE_BASE, 1, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1510,7 +1622,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xor, 0x30, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1524,7 +1637,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xor, 0x83, 2, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1538,7 +1652,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xor, 0x34, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1552,7 +1667,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xor, 0x80, 2, SPACE_BASE, 6, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1566,7 +1682,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_clr, 0x30, 1, SPACE_BASE, None, + { 0, 1, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1578,7 +1695,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_adc, 0x10, 2, SPACE_BASE, None, + { 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1592,7 +1710,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_adc, 0x83, 2, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1606,7 +1725,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_adc, 0x14, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1620,7 +1740,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_adc, 0x80, 2, SPACE_BASE, 2, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1634,7 +1755,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_neg, 0xf6, 1, SPACE_BASE, 3, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1646,7 +1768,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_not, 0xf6, 1, SPACE_BASE, 2, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1658,7 +1781,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_aaa, 0x37, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1670,7 +1794,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aas, 0x3f, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1682,7 +1807,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_daa, 0x27, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1694,7 +1820,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_das, 0x2f, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1706,7 +1833,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aad, 0xd50a, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1718,7 +1846,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aad, 0xd5, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1730,7 +1859,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aam, 0xd40a, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1742,7 +1872,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aam, 0xd4, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1754,7 +1885,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cbw, 0x98, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1766,7 +1898,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cwde, 0x98, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1778,7 +1911,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cdqe, 0x98, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1790,7 +1924,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cwd, 0x99, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1802,7 +1937,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cdq, 0x99, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1814,7 +1950,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cqo, 0x99, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1826,7 +1963,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cbtw, 0x98, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1838,7 +1976,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cwtl, 0x98, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1850,7 +1989,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cltq, 0x98, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1862,7 +2002,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cwtd, 0x99, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1874,7 +2015,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cltd, 0x99, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1886,7 +2028,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cqto, 0x99, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1898,7 +2041,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mul, 0xf6, 1, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1910,7 +2054,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_imul, 0xf6, 1, SPACE_BASE, 5, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1922,7 +2067,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_imul, 0xaf, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1936,7 +2082,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_imul, 0x6b, 3, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1952,7 +2099,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_imul, 0x69, 3, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1968,7 +2116,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_imul, 0x6b, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1982,7 +2131,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_imul, 0x69, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -1996,7 +2146,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_div, 0xf6, 1, SPACE_BASE, 6, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2008,7 +2159,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_div, 0xf6, 2, SPACE_BASE, 6, + { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2022,7 +2174,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_idiv, 0xf6, 1, SPACE_BASE, 7, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2034,7 +2187,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_idiv, 0xf6, 2, SPACE_BASE, 7, + { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2048,7 +2202,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rol, 0xd0, 2, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2062,7 +2217,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rol, 0xc0, 2, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2076,7 +2232,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rol, 0xd2, 2, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2090,7 +2247,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rol, 0xd0, 1, SPACE_BASE, 0, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2102,7 +2260,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ror, 0xd0, 2, SPACE_BASE, 1, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2116,7 +2275,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ror, 0xc0, 2, SPACE_BASE, 1, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2130,7 +2290,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ror, 0xd2, 2, SPACE_BASE, 1, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2144,7 +2305,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ror, 0xd0, 1, SPACE_BASE, 1, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2156,7 +2318,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rcl, 0xd0, 2, SPACE_BASE, 2, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2170,7 +2333,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rcl, 0xc0, 2, SPACE_BASE, 2, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2184,7 +2348,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rcl, 0xd2, 2, SPACE_BASE, 2, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2198,7 +2363,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rcl, 0xd0, 1, SPACE_BASE, 2, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2210,7 +2376,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rcr, 0xd0, 2, SPACE_BASE, 3, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2224,7 +2391,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rcr, 0xc0, 2, SPACE_BASE, 3, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2238,7 +2406,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rcr, 0xd2, 2, SPACE_BASE, 3, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2252,7 +2421,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rcr, 0xd0, 1, SPACE_BASE, 3, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2264,7 +2434,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sal, 0xd0, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2278,7 +2449,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sal, 0xc0, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2292,7 +2464,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sal, 0xd2, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2306,7 +2479,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sal, 0xd0, 1, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2318,7 +2492,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shl, 0xd0, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2332,7 +2507,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shl, 0xc0, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2346,7 +2522,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shl, 0xd2, 2, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2360,7 +2537,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shl, 0xd0, 1, SPACE_BASE, 4, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2372,7 +2550,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shr, 0xd0, 2, SPACE_BASE, 5, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2386,7 +2565,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shr, 0xc0, 2, SPACE_BASE, 5, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2400,7 +2580,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shr, 0xd2, 2, SPACE_BASE, 5, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2414,7 +2595,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shr, 0xd0, 1, SPACE_BASE, 5, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2426,7 +2608,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sar, 0xd0, 2, SPACE_BASE, 7, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2440,7 +2623,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sar, 0xc0, 2, SPACE_BASE, 7, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2454,7 +2638,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sar, 0xd2, 2, SPACE_BASE, 7, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2468,7 +2653,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sar, 0xd0, 1, SPACE_BASE, 7, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2480,7 +2666,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shld, 0xa4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2496,7 +2683,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shld, 0xa5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2512,7 +2700,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shld, 0xa5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2526,7 +2715,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shrd, 0xac, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2542,7 +2732,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shrd, 0xad, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2558,7 +2749,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_shrd, 0xad, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2572,7 +2764,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_call, 0xe8, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2584,7 +2777,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_call, 0xe8, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2596,7 +2790,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_call, 0xe8, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2608,7 +2803,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_call, 0xff, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 3, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2620,7 +2816,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_call, 0xff, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 1, 3, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2632,7 +2829,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_call, 0xff, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 3, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2644,7 +2842,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_call, 0x9a, 2, SPACE_BASE, None, + { 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2658,7 +2857,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_call, 0xff, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2670,7 +2870,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_call, 0xff, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2682,7 +2883,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lcall, 0x9a, 2, SPACE_BASE, None, + { 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2696,7 +2898,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lcall, 0xff, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2708,7 +2911,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lcall, 0xff, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2720,7 +2924,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_jmp, 0xeb, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2732,7 +2937,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jmp, 0xeb, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2744,7 +2950,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jmp, 0xff, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 3, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2756,7 +2963,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_jmp, 0xff, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 3, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2768,7 +2976,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_jmp, 0xff, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 3, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2780,7 +2989,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_jmp, 0xea, 2, SPACE_BASE, None, + { 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2794,7 +3004,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jmp, 0xff, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2806,7 +3017,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jmp, 0xff, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2818,7 +3030,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ljmp, 0xea, 2, SPACE_BASE, None, + { 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2832,7 +3045,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ljmp, 0xff, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2844,7 +3058,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ljmp, 0xff, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2856,7 +3071,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ret, 0xc3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2868,7 +3084,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ret, 0xc2, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2880,7 +3097,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ret, 0xc3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2892,7 +3110,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ret, 0xc2, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 1 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2904,7 +3123,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ret, 0xc3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2916,7 +3136,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ret, 0xc2, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 2 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2928,7 +3149,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lret, 0xcb, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2940,7 +3162,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lret, 0xca, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2952,7 +3175,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_retf, 0xcb, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2964,7 +3188,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_retf, 0xca, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2976,7 +3201,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_enter, 0xc8, 2, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -2990,7 +3216,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_enter, 0xc8, 2, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3004,7 +3231,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_leave, 0xc9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3016,7 +3244,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_leave, 0xc9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3028,7 +3257,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jo, 0x70, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3040,7 +3270,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jno, 0x71, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3052,7 +3283,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jb, 0x72, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3064,7 +3296,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jc, 0x72, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3076,7 +3309,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnae, 0x72, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3088,7 +3322,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnb, 0x73, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3100,7 +3335,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnc, 0x73, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3112,7 +3348,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jae, 0x73, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3124,7 +3361,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_je, 0x74, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3136,7 +3374,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jz, 0x74, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3148,7 +3387,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jne, 0x75, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3160,7 +3400,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnz, 0x75, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3172,7 +3413,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jbe, 0x76, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3184,7 +3426,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jna, 0x76, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3196,7 +3439,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnbe, 0x77, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3208,7 +3452,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ja, 0x77, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3220,7 +3465,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_js, 0x78, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3232,7 +3478,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jns, 0x79, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3244,7 +3491,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jp, 0x7a, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3256,7 +3504,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jpe, 0x7a, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3268,7 +3517,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnp, 0x7b, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3280,7 +3530,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jpo, 0x7b, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3292,7 +3543,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jl, 0x7c, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3304,7 +3556,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnge, 0x7c, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3316,7 +3569,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnl, 0x7d, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3328,7 +3582,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jge, 0x7d, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3340,7 +3595,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jle, 0x7e, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3352,7 +3608,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jng, 0x7e, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3364,7 +3621,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jnle, 0x7f, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3376,7 +3634,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jg, 0x7f, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3388,7 +3647,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jcxz, 0xe3, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3400,7 +3660,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jecxz, 0xe3, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 2, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3412,7 +3673,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_jrcxz, 0xe3, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3424,7 +3686,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loop, 0xe2, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3436,7 +3699,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loop, 0xe2, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3448,7 +3712,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loopz, 0xe1, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3460,7 +3725,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loopz, 0xe1, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3472,7 +3738,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loope, 0xe1, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3484,7 +3751,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loope, 0xe1, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3496,7 +3764,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loopnz, 0xe0, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3508,7 +3777,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loopnz, 0xe0, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3520,7 +3790,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loopne, 0xe0, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3532,7 +3803,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_loopne, 0xe0, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3544,7 +3816,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_seto, 0x90, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3556,7 +3829,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setno, 0x91, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3568,7 +3842,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setb, 0x92, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3580,7 +3855,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setc, 0x92, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3592,7 +3868,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnae, 0x92, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3604,7 +3881,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnb, 0x93, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3616,7 +3894,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnc, 0x93, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3628,7 +3907,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setae, 0x93, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3640,7 +3920,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sete, 0x94, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3652,7 +3933,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setz, 0x94, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3664,7 +3946,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setne, 0x95, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3676,7 +3959,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnz, 0x95, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3688,7 +3972,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setbe, 0x96, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3700,7 +3985,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setna, 0x96, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3712,7 +3998,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnbe, 0x97, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3724,7 +4011,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_seta, 0x97, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3736,7 +4024,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sets, 0x98, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3748,7 +4037,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setns, 0x99, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3760,7 +4050,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setp, 0x9a, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3772,7 +4063,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setpe, 0x9a, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3784,7 +4076,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnp, 0x9b, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3796,7 +4089,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setpo, 0x9b, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3808,7 +4102,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setl, 0x9c, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3820,7 +4115,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnge, 0x9c, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3832,7 +4128,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnl, 0x9d, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3844,7 +4141,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setge, 0x9d, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3856,7 +4154,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setle, 0x9e, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3868,7 +4167,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setng, 0x9e, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3880,7 +4180,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setnle, 0x9f, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3892,7 +4193,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setg, 0x9f, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3904,7 +4206,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmps, 0xa6, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3916,7 +4219,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmps, 0xa6, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3930,7 +4234,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_scmp, 0xa6, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3942,7 +4247,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_scmp, 0xa6, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3956,7 +4262,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ins, 0x6c, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3968,7 +4275,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ins, 0x6c, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 3, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3982,7 +4290,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_outs, 0x6e, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -3994,7 +4303,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_outs, 0x6e, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4008,7 +4318,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lods, 0xac, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4020,7 +4331,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lods, 0xac, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4032,7 +4344,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lods, 0xac, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4046,7 +4359,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_slod, 0xac, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4058,7 +4372,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_slod, 0xac, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4070,7 +4385,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_slod, 0xac, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4084,7 +4400,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movs, 0xa4, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4096,7 +4413,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movs, 0xa4, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4110,7 +4428,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_smov, 0xa4, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4122,7 +4441,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_smov, 0xa4, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4136,7 +4456,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_scas, 0xae, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4148,7 +4469,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_scas, 0xae, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4160,7 +4482,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_scas, 0xae, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4174,7 +4497,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ssca, 0xae, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4186,7 +4510,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ssca, 0xae, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4198,7 +4523,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ssca, 0xae, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4212,7 +4538,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_stos, 0xaa, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4224,7 +4551,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_stos, 0xaa, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4236,7 +4564,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_stos, 0xaa, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4250,7 +4579,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ssto, 0xaa, 0, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4262,7 +4592,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ssto, 0xaa, 1, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4274,7 +4605,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ssto, 0xaa, 2, SPACE_BASE, None, + { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4288,7 +4620,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xlat, 0xd7, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4300,7 +4633,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xlat, 0xd7, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4312,7 +4646,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_bsf, 0xbc, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4326,7 +4661,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bsr, 0xbd, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4340,7 +4676,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bt, 0xa3, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4354,7 +4691,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_bt, 0xba, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4368,7 +4706,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_btc, 0xbb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4382,7 +4721,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_btc, 0xba, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4396,7 +4736,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_btr, 0xb3, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4410,7 +4751,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_btr, 0xba, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4424,7 +4766,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_bts, 0xab, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4438,7 +4781,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_bts, 0xba, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4452,7 +4796,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_int, 0xcd, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4464,7 +4809,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_int1, 0xf1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4476,7 +4822,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_int3, 0xcc, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4488,7 +4835,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_into, 0xce, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4500,7 +4848,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_iret, 0xcf, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4512,7 +4861,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rsm, 0xaa, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4524,7 +4874,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bound, 0x62, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4538,7 +4889,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_hlt, 0xf4, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4550,7 +4902,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_nop, 0x1f, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4562,7 +4915,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_nop, 0x90, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4574,7 +4928,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_arpl, 0x63, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4588,7 +4943,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_arpl, 0x63, 2, SPACE_BASE, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4602,7 +4958,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lar, 0x02, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4616,7 +4973,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lar, 0x02, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4630,7 +4988,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lgdt, 0x01, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4642,7 +5001,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lgdt, 0x01, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4654,7 +5014,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lidt, 0x01, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4666,7 +5027,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lidt, 0x01, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4678,7 +5040,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lldt, 0x00, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4690,7 +5053,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lldt, 0x00, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4702,7 +5066,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lmsw, 0x01, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4714,7 +5079,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lsl, 0x03, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4728,7 +5094,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lsl, 0x03, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4742,7 +5109,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ltr, 0x00, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4754,7 +5122,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ltr, 0x00, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4766,7 +5135,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sgdt, 0x01, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4778,7 +5148,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sgdt, 0x01, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4790,7 +5161,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sidt, 0x01, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4802,7 +5174,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sidt, 0x01, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4814,7 +5187,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sldt, 0x00, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4826,7 +5200,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sldt, 0x00, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4838,7 +5213,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_smsw, 0x01, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4850,7 +5226,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_smsw, 0x01, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4862,7 +5239,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_str, 0x00, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4874,7 +5252,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_str, 0x00, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4886,7 +5265,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_verr, 0x00, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4898,7 +5278,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_verr, 0x00, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4910,7 +5291,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_verw, 0x00, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4922,7 +5304,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_verw, 0x00, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4934,7 +5317,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fld, 0xd9, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4946,7 +5330,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fld, 0xd9, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4958,7 +5343,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fld, 0xd9, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 3, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4970,7 +5356,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fld, 0xdb, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4982,7 +5369,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fild, 0xdf, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -4994,7 +5382,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fild, 0xdf, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5006,7 +5395,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fildll, 0xdf, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5018,7 +5408,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fldt, 0xdb, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5030,7 +5421,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fbld, 0xdf, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5042,7 +5434,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fst, 0xdd, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5054,7 +5447,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fst, 0xd9, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5066,7 +5460,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fst, 0xdd, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 3, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5078,7 +5473,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fist, 0xdf, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5090,7 +5486,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fstp, 0xdd, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5102,7 +5499,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fstp, 0xd9, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5114,7 +5512,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fstp, 0xdd, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 3, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5126,7 +5525,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fstp, 0xdb, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5138,7 +5538,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fistp, 0xdf, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5150,7 +5551,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fistp, 0xdf, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5162,7 +5564,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fistpll, 0xdf, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5174,7 +5577,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fstpt, 0xdb, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5186,7 +5590,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fbstp, 0xdf, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5198,7 +5603,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fxch, 0xd9, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5210,7 +5616,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fxch, 0xd9c9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5222,7 +5629,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcom, 0xd8, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5234,7 +5642,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcom, 0xd8d1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5246,7 +5655,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcom, 0xd8, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5258,7 +5668,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fcom, 0xd8, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 3, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5270,7 +5681,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ficom, 0xde, 1, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5282,7 +5694,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fcomp, 0xd8, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5294,7 +5707,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomp, 0xd8d9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5306,7 +5720,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomp, 0xd8, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5318,7 +5733,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fcomp, 0xd8, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 3, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5330,7 +5746,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ficomp, 0xde, 1, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5342,7 +5759,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fcompp, 0xded9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5354,7 +5772,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucom, 0xdd, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5366,7 +5785,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucom, 0xdde1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5378,7 +5798,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomp, 0xdd, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5390,7 +5811,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomp, 0xdde9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5402,7 +5824,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucompp, 0xdae9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5414,7 +5837,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ftst, 0xd9e4, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5426,7 +5850,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fxam, 0xd9e5, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5438,7 +5863,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fld1, 0xd9e8, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5450,7 +5876,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldl2t, 0xd9e9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5462,7 +5889,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldl2e, 0xd9ea, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5474,7 +5902,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldpi, 0xd9eb, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5486,7 +5915,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldlg2, 0xd9ec, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5498,7 +5928,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldln2, 0xd9ed, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5510,7 +5941,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldz, 0xd9ee, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5522,7 +5954,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fadd, 0xd8, 2, SPACE_BASE, 0, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5536,7 +5969,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fadd, 0xd8, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5548,7 +5982,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fadd, 0xdec1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5560,7 +5995,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fadd, 0xd8, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5572,7 +6008,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fiadd, 0xde, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5584,7 +6021,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_faddp, 0xde, 2, SPACE_BASE, 0, + { 1, 0, 0, 1, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5598,7 +6036,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_faddp, 0xde, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5610,7 +6049,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_faddp, 0xdec1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5622,7 +6062,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsub, 0xd8, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5634,7 +6075,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsub, 0xd8, 2, SPACE_BASE, 4, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5648,7 +6090,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsub, 0xdee1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5660,7 +6103,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsub, 0xdee9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5672,7 +6116,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsub, 0xd8, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5684,7 +6129,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fisub, 0xde, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5696,7 +6142,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fsubp, 0xde, 2, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5710,7 +6157,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubp, 0xde, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5722,7 +6170,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubp, 0xdee1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5734,7 +6183,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubp, 0xde, 2, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5748,7 +6198,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubp, 0xde, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5760,7 +6211,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubp, 0xdee9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5772,7 +6224,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubr, 0xd8, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5784,7 +6237,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubr, 0xd8, 2, SPACE_BASE, 5, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5798,7 +6252,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubr, 0xdee9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5810,7 +6265,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubr, 0xdee1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5822,7 +6278,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubr, 0xd8, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5834,7 +6291,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fisubr, 0xde, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5846,7 +6304,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fsubrp, 0xde, 2, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5860,7 +6319,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubrp, 0xde, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5872,7 +6332,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubrp, 0xdee9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5884,7 +6345,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubrp, 0xde, 2, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5898,7 +6360,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubrp, 0xde, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5910,7 +6373,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsubrp, 0xdee1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5922,7 +6386,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fmul, 0xd8, 2, SPACE_BASE, 1, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5936,7 +6401,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fmul, 0xd8, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5948,7 +6414,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fmul, 0xdec9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5960,7 +6427,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fmul, 0xd8, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5972,7 +6440,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fimul, 0xde, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5984,7 +6453,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fmulp, 0xde, 2, SPACE_BASE, 1, + { 1, 0, 0, 1, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -5998,7 +6468,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fmulp, 0xde, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6010,7 +6481,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fmulp, 0xdec9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6022,7 +6494,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdiv, 0xd8, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6034,7 +6507,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdiv, 0xd8, 2, SPACE_BASE, 6, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6048,7 +6522,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdiv, 0xdef1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6060,7 +6535,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdiv, 0xdef9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6072,7 +6548,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdiv, 0xd8, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6084,7 +6561,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fidiv, 0xde, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6096,7 +6574,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fdivp, 0xde, 2, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6110,7 +6589,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivp, 0xde, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6122,7 +6602,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivp, 0xdef1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6134,7 +6615,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivp, 0xde, 2, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6148,7 +6630,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivp, 0xde, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6160,7 +6643,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivp, 0xdef9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6172,7 +6656,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivr, 0xd8, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6184,7 +6669,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivr, 0xd8, 2, SPACE_BASE, 7, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6198,7 +6684,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivr, 0xdef9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6210,7 +6697,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivr, 0xdef1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6222,7 +6710,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivr, 0xd8, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6234,7 +6723,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fidivr, 0xde, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6246,7 +6736,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fdivrp, 0xde, 2, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6260,7 +6751,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivrp, 0xde, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6272,7 +6764,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivrp, 0xdef9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6284,7 +6777,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivrp, 0xde, 2, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6298,7 +6792,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivrp, 0xde, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6310,7 +6805,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdivrp, 0xdef1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6322,7 +6818,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_f2xm1, 0xd9f0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6334,7 +6831,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fyl2x, 0xd9f1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6346,7 +6844,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fptan, 0xd9f2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6358,7 +6857,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fpatan, 0xd9f3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6370,7 +6870,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fxtract, 0xd9f4, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6382,7 +6883,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fprem1, 0xd9f5, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6394,7 +6896,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdecstp, 0xd9f6, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6406,7 +6909,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fincstp, 0xd9f7, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6418,7 +6922,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fprem, 0xd9f8, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6430,7 +6935,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fyl2xp1, 0xd9f9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6442,7 +6948,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsqrt, 0xd9fa, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6454,7 +6961,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsincos, 0xd9fb, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6466,7 +6974,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_frndint, 0xd9fc, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6478,7 +6987,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fscale, 0xd9fd, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6490,7 +7000,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsin, 0xd9fe, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6502,7 +7013,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcos, 0xd9ff, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6514,7 +7026,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fchs, 0xd9e0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6526,7 +7039,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fabs, 0xd9e1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6538,7 +7052,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fninit, 0xdbe3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6550,7 +7065,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_finit, 0xdbe3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6562,7 +7078,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fldcw, 0xd9, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6574,7 +7091,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fnstcw, 0xd9, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6586,7 +7104,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fstcw, 0xd9, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6598,7 +7117,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fnstsw, 0xdfe0, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6610,7 +7130,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fnstsw, 0xdd, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6622,7 +7143,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fnstsw, 0xdfe0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6634,7 +7156,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fstsw, 0xdfe0, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6646,7 +7169,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fstsw, 0xdd, 1, SPACE_BASE, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6658,7 +7182,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fstsw, 0xdfe0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6670,7 +7195,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fnclex, 0xdbe2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6682,7 +7208,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fclex, 0xdbe2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6694,7 +7221,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fnstenv, 0xd9, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6706,7 +7234,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fstenv, 0xd9, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6718,7 +7247,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fldenv, 0xd9, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6730,7 +7260,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fnsave, 0xdd, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6742,7 +7273,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fsave, 0xdd, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6754,7 +7286,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_frstor, 0xdd, 1, SPACE_BASE, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6766,7 +7299,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fneni, 0xdbe0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6778,7 +7312,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_feni, 0xdbe0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6790,7 +7325,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fndisi, 0xdbe1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6802,7 +7338,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fdisi, 0xdbe1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6814,7 +7351,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fnsetpm, 0xdbe4, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6826,7 +7364,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fsetpm, 0xdbe4, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6838,7 +7377,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_frstpm, 0xdbe5, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6850,7 +7390,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ffree, 0xdd, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6862,7 +7403,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ffreep, 0xdf, 1, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6874,7 +7416,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fnop, 0xd9d0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6886,7 +7429,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fwait, 0x9b, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6898,7 +7442,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_addr16, 0x67, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6910,7 +7455,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_addr32, 0x67, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6922,7 +7468,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aword, 0x67, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6934,7 +7481,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_adword, 0x67, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6946,7 +7494,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_data16, 0x66, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6958,7 +7507,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_data32, 0x66, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6970,7 +7520,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_word, 0x66, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6982,7 +7533,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_dword, 0x66, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -6994,7 +7546,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lock, 0xf0, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7006,7 +7559,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wait, 0x9b, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7018,7 +7572,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cs, 0x2e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7030,7 +7585,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ds, 0x3e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7042,7 +7598,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_es, 0x26, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7054,7 +7611,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fs, 0x64, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7066,7 +7624,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_gs, 0x65, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7078,7 +7637,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ss, 0x36, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7090,7 +7650,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rep, 0xf3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7102,7 +7663,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_repe, 0xf3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7114,7 +7676,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_repz, 0xf3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7126,7 +7689,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_repne, 0xf2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7138,7 +7702,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_repnz, 0xf2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7150,7 +7715,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ht, 0x3e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7162,7 +7728,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_hnt, 0x2e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7174,7 +7741,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex, 0x40, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7186,7 +7754,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexz, 0x41, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7198,7 +7767,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexy, 0x42, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7210,7 +7780,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexyz, 0x43, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7222,7 +7793,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexx, 0x44, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7234,7 +7806,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexxz, 0x45, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7246,7 +7819,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexxy, 0x46, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7258,7 +7832,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rexxyz, 0x47, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7270,7 +7845,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64, 0x48, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7282,7 +7858,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64z, 0x49, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7294,7 +7871,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64y, 0x4a, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7306,7 +7884,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64yz, 0x4b, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7318,7 +7897,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64x, 0x4c, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7330,7 +7910,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64xz, 0x4d, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7342,7 +7923,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64xy, 0x4e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7354,7 +7936,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex64xyz, 0x4f, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7366,7 +7949,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_b, 0x41, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7378,7 +7962,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_x, 0x42, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7390,7 +7975,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_xb, 0x43, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7402,7 +7988,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_r, 0x44, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7414,7 +8001,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_rb, 0x45, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7426,7 +8014,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_rx, 0x46, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7438,7 +8027,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_rxb, 0x47, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7450,7 +8040,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_w, 0x48, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7462,7 +8053,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wb, 0x49, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7474,7 +8066,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wx, 0x4a, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7486,7 +8079,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wxb, 0x4b, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7498,7 +8092,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wr, 0x4c, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7510,7 +8105,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wrb, 0x4d, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7522,7 +8118,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wrx, 0x4e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7534,7 +8131,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rex_wrxb, 0x4f, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7546,7 +8144,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN__disp8_, 0x00, 0, SPACE_BASE, Prefix_Disp8, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7558,7 +8157,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN__disp16_, 0x00, 0, SPACE_BASE, Prefix_Disp16, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7570,7 +8170,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN__disp32_, 0x00, 0, SPACE_BASE, Prefix_Disp32, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7582,7 +8183,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN__load_, 0x00, 0, SPACE_BASE, Prefix_Load, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7594,7 +8196,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN__store_, 0x00, 0, SPACE_BASE, Prefix_Store, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7606,7 +8209,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN__vex_, 0x00, 0, SPACE_BASE, Prefix_VEX, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7618,7 +8222,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN__vex2_, 0x00, 0, SPACE_BASE, Prefix_VEX, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7630,7 +8235,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN__vex3_, 0x00, 0, SPACE_BASE, Prefix_VEX3, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7642,7 +8248,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN__evex_, 0x00, 0, SPACE_BASE, Prefix_EVEX, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7654,7 +8261,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN__rex_, 0x00, 0, SPACE_BASE, Prefix_REX, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7666,7 +8274,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN__nooptimize_, 0x00, 0, SPACE_BASE, Prefix_NoOptimize, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7678,7 +8287,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bswap, 0xc8, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7690,7 +8300,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xadd, 0xc0, 2, SPACE_0F, None, + { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7704,7 +8315,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpxchg, 0xb0, 2, SPACE_0F, None, + { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7718,7 +8330,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_invd, 0x08, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7730,7 +8343,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wbinvd, 0x09, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7742,7 +8356,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invlpg, 0x01, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7754,7 +8369,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cpuid, 0xa2, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7766,7 +8382,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wrmsr, 0x30, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7778,7 +8395,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdtsc, 0x31, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7790,7 +8408,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdmsr, 0x32, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7802,7 +8421,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmpxchg8b, 0xc7, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 5, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7814,7 +8434,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sysenter, 0x34, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 3 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7826,7 +8447,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sysenter, 0x34, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7838,7 +8460,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sysexit, 0x35, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 3 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7850,7 +8473,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sysexit, 0x35, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7862,7 +8486,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fxsave, 0xae, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7874,7 +8499,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fxsave64, 0xae, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7886,7 +8512,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fxrstor, 0xae, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7898,7 +8525,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fxrstor64, 0xae, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7910,7 +8538,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_rdpmc, 0x33, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7922,7 +8551,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ud2, 0x0b, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7934,7 +8564,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ud2a, 0x0b, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7946,7 +8577,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ud1, 0xb9, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7960,7 +8592,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ud2b, 0xb9, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7974,7 +8607,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ud0, 0xff, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -7988,7 +8622,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovo, 0x40, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8002,7 +8637,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovno, 0x41, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8016,7 +8652,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovb, 0x42, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8030,7 +8667,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovc, 0x42, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8044,7 +8682,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnae, 0x42, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8058,7 +8697,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnb, 0x43, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8072,7 +8712,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnc, 0x43, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8086,7 +8727,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovae, 0x43, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8100,7 +8742,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmove, 0x44, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8114,7 +8757,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovz, 0x44, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8128,7 +8772,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovne, 0x45, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8142,7 +8787,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnz, 0x45, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8156,7 +8802,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovbe, 0x46, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8170,7 +8817,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovna, 0x46, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8184,7 +8832,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnbe, 0x47, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8198,7 +8847,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmova, 0x47, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8212,7 +8862,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovs, 0x48, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8226,7 +8877,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovns, 0x49, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8240,7 +8892,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovp, 0x4a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8254,7 +8907,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovpe, 0x4a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8268,7 +8922,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnp, 0x4b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8282,7 +8937,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovpo, 0x4b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8296,7 +8952,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovl, 0x4c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8310,7 +8967,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnge, 0x4c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8324,7 +8982,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnl, 0x4d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8338,7 +8997,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovge, 0x4d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8352,7 +9012,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovle, 0x4e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8366,7 +9027,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovng, 0x4e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8380,7 +9042,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovnle, 0x4f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8394,7 +9057,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmovg, 0x4f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8408,7 +9072,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcmovb, 0xda, 2, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8422,7 +9087,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcmovnae, 0xda, 2, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8436,7 +9102,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcmove, 0xda, 2, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8450,7 +9117,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcmovbe, 0xda, 2, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8464,7 +9132,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcmovna, 0xda, 2, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8478,7 +9147,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcmovu, 0xda, 2, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8492,7 +9162,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcmovae, 0xdb, 2, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8506,7 +9177,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcmovnb, 0xdb, 2, SPACE_BASE, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8520,7 +9192,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcmovne, 0xdb, 2, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8534,7 +9207,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcmova, 0xdb, 2, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8548,7 +9222,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcmovnbe, 0xdb, 2, SPACE_BASE, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8562,7 +9237,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcmovnu, 0xdb, 2, SPACE_BASE, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8576,7 +9252,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomi, 0xdb, 2, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8590,7 +9267,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomi, 0xdbf1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8602,7 +9280,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomi, 0xdb, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8614,7 +9293,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomi, 0xdb, 2, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8628,7 +9308,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomi, 0xdbe9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8640,7 +9321,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomi, 0xdb, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8652,7 +9334,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomip, 0xdf, 2, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8666,7 +9349,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomip, 0xdff1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8678,7 +9362,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcomip, 0xdf, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8690,7 +9375,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcompi, 0xdf, 2, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8704,7 +9390,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcompi, 0xdff1, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8716,7 +9403,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fcompi, 0xdf, 1, SPACE_BASE, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8728,7 +9416,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomip, 0xdf, 2, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8742,7 +9431,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomip, 0xdfe9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8754,7 +9444,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucomip, 0xdf, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8766,7 +9457,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucompi, 0xdf, 2, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8780,7 +9472,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucompi, 0xdfe9, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8792,7 +9485,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_fucompi, 0xdf, 1, SPACE_BASE, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8804,7 +9498,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movnti, 0xc3, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8818,7 +9513,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_clflush, 0xae, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8830,7 +9526,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lfence, 0xaee8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8842,7 +9539,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mfence, 0xaef0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8854,7 +9552,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pause, 0x90, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8866,7 +9565,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_emms, 0x77, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8878,7 +9578,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movd, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8892,7 +9593,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movd, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8906,7 +9608,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movd, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8920,7 +9623,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movd, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8934,7 +9638,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movd, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8948,7 +9653,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movd, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8962,7 +9668,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movq, 0x7e, 2, SPACE_0F, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8976,7 +9683,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movq, 0xd6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -8990,7 +9698,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_movq, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9004,7 +9713,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movq, 0x7e, 2, SPACE_0F, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9018,7 +9728,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movq, 0xd6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9032,7 +9743,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_movq, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9046,7 +9758,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movq, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9060,7 +9773,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movq, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9074,7 +9788,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_packssdw, 0x6b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9088,7 +9803,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_packssdw, 0x6b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9102,7 +9818,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_packssdw, 0x6b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9116,7 +9833,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_packsswb, 0x63, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9130,7 +9848,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_packsswb, 0x63, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9144,7 +9863,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_packsswb, 0x63, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9158,7 +9878,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_packuswb, 0x67, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9172,7 +9893,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_packuswb, 0x67, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9186,7 +9908,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_packuswb, 0x67, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9200,7 +9923,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddb, 0xfc | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9214,7 +9938,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddb, 0xfc | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9228,7 +9953,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddb, 0xfc | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9242,7 +9968,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddw, 0xfc | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9256,7 +9983,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddw, 0xfc | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9270,7 +9998,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddw, 0xfc | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9284,7 +10013,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddd, 0xfe, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9298,7 +10028,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddd, 0xfe, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9312,7 +10043,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddd, 0xfe, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9326,7 +10058,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddq, 0xd4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9340,7 +10073,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddq, 0xd4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9354,7 +10088,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddq, 0xd4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9368,7 +10103,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddsb, 0xec | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9382,7 +10118,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddsb, 0xec | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9396,7 +10133,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddsb, 0xec | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9410,7 +10148,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddsw, 0xec | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9424,7 +10163,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddsw, 0xec | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9438,7 +10178,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddsw, 0xec | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9452,7 +10193,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddusb, 0xdc | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9466,7 +10208,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddusb, 0xdc | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9480,7 +10223,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddusb, 0xdc | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9494,7 +10238,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_paddusw, 0xdc | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9508,7 +10253,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddusw, 0xdc | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9522,7 +10268,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_paddusw, 0xdc | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9536,7 +10283,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pand, 0xdb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9550,7 +10298,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pand, 0xdb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9564,7 +10313,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pand, 0xdb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9578,7 +10328,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pandn, 0xdf, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9592,7 +10343,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pandn, 0xdf, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9606,7 +10358,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pandn, 0xdf, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9620,7 +10373,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqb, 0x74 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9634,7 +10388,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqb, 0x74 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9648,7 +10403,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqb, 0x74 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9662,7 +10418,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqw, 0x74 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9676,7 +10433,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqw, 0x74 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9690,7 +10448,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqw, 0x74 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9704,7 +10463,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqd, 0x76, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9718,7 +10478,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqd, 0x76, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9732,7 +10493,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqd, 0x76, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9746,7 +10508,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtb, 0x64 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9760,7 +10523,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtb, 0x64 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9774,7 +10538,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtb, 0x64 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9788,7 +10553,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtw, 0x64 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9802,7 +10568,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtw, 0x64 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9816,7 +10583,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtw, 0x64 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9830,7 +10598,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtd, 0x66, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9844,7 +10613,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtd, 0x66, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9858,7 +10628,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtd, 0x66, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9872,7 +10643,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmaddwd, 0xf5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9886,7 +10658,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaddwd, 0xf5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9900,7 +10673,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaddwd, 0xf5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9914,7 +10688,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhw, 0xe5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9928,7 +10703,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhw, 0xe5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9942,7 +10718,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhw, 0xe5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9956,7 +10733,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmullw, 0xd5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9970,7 +10748,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmullw, 0xd5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9984,7 +10763,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmullw, 0xd5, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -9998,7 +10778,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_por, 0xeb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10012,7 +10793,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_por, 0xeb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10026,7 +10808,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_por, 0xeb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10040,7 +10823,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psllw, 0xf1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10054,7 +10838,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psllw, 0xf1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10068,7 +10853,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psllw, 0xf1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10082,7 +10868,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psllw, 0x71, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10096,7 +10883,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psllw, 0x71, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10110,7 +10898,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psllw, 0x71, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10124,7 +10913,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pslld, 0xf2 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10138,7 +10928,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pslld, 0xf2 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10152,7 +10943,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pslld, 0xf2 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10166,7 +10958,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pslld, 0x72 | 0, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10180,7 +10973,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pslld, 0x72 | 0, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10194,7 +10988,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pslld, 0x72 | 0, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10208,7 +11003,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psllq, 0xf2 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10222,7 +11018,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psllq, 0xf2 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10236,7 +11033,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psllq, 0xf2 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10250,7 +11048,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psllq, 0x72 | 1, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10264,7 +11063,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psllq, 0x72 | 1, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10278,7 +11078,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psllq, 0x72 | 1, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10292,7 +11093,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psraw, 0xe1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10306,7 +11108,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psraw, 0xe1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10320,7 +11123,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psraw, 0xe1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10334,7 +11138,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psraw, 0x71, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10348,7 +11153,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psraw, 0x71, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10362,7 +11168,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psraw, 0x71, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10376,7 +11183,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrad, 0xe2, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10390,7 +11198,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrad, 0xe2, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10404,7 +11213,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrad, 0xe2, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10418,7 +11228,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrad, 0x72, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10432,7 +11243,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrad, 0x72, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10446,7 +11258,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrad, 0x72, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10460,7 +11273,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrlw, 0xd1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10474,7 +11288,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrlw, 0xd1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10488,7 +11303,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrlw, 0xd1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10502,7 +11318,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrlw, 0x71, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10516,7 +11333,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrlw, 0x71, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10530,7 +11348,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrlw, 0x71, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10544,7 +11363,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrld, 0xd2 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10558,7 +11378,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrld, 0xd2 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10572,7 +11393,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrld, 0xd2 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10586,7 +11408,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrld, 0x72 | 0, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10600,7 +11423,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrld, 0x72 | 0, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10614,7 +11438,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrld, 0x72 | 0, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10628,7 +11453,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrlq, 0xd2 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10642,7 +11468,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrlq, 0xd2 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10656,7 +11483,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrlq, 0xd2 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10670,7 +11498,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psrlq, 0x72 | 1, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10684,7 +11513,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrlq, 0x72 | 1, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10698,7 +11528,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrlq, 0x72 | 1, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10712,7 +11543,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubb, 0xf8 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10726,7 +11558,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubb, 0xf8 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10740,7 +11573,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubb, 0xf8 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10754,7 +11588,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubw, 0xf8 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10768,7 +11603,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubw, 0xf8 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10782,7 +11618,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubw, 0xf8 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10796,7 +11633,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubd, 0xfa, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10810,7 +11648,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubd, 0xfa, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10824,7 +11663,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubd, 0xfa, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10838,7 +11678,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubq, 0xfb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10852,7 +11693,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubq, 0xfb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10866,7 +11708,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubq, 0xfb, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10880,7 +11723,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubsb, 0xe8 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10894,7 +11738,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubsb, 0xe8 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10908,7 +11753,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubsb, 0xe8 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10922,7 +11768,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubsw, 0xe8 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10936,7 +11783,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubsw, 0xe8 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10950,7 +11798,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubsw, 0xe8 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10964,7 +11813,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubusb, 0xd8 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10978,7 +11828,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubusb, 0xd8 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -10992,7 +11843,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubusb, 0xd8 | 0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11006,7 +11858,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psubusw, 0xd8 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11020,7 +11873,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubusw, 0xd8 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11034,7 +11888,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psubusw, 0xd8 | 1, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11048,7 +11903,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhbw, 0x68, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11062,7 +11918,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhbw, 0x68, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11076,7 +11933,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhbw, 0x68, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11090,7 +11948,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhwd, 0x69, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11104,7 +11963,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhwd, 0x69, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11118,7 +11978,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhwd, 0x69, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11132,7 +11993,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhdq, 0x6a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11146,7 +12008,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhdq, 0x6a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11160,7 +12023,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhdq, 0x6a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11174,7 +12038,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_punpcklbw, 0x60, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11188,7 +12053,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpcklbw, 0x60, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11202,7 +12068,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpcklbw, 0x60, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11216,7 +12083,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_punpcklwd, 0x61, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11230,7 +12098,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpcklwd, 0x61, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11244,7 +12113,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpcklwd, 0x61, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11258,7 +12128,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_punpckldq, 0x62, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11272,7 +12143,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpckldq, 0x62, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11286,7 +12158,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpckldq, 0x62, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11300,7 +12173,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pxor, 0xef, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11314,7 +12188,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pxor, 0xef, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11328,7 +12203,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pxor, 0xef, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11342,7 +12218,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_addps, 0x58, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11356,7 +12233,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addps, 0x58, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11370,7 +12248,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addss, 0x58, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11384,7 +12263,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addss, 0x58, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11398,7 +12278,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_andnps, 0x55, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11412,7 +12293,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_andnps, 0x55, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11426,7 +12308,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_andps, 0x54, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11440,7 +12323,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_andps, 0x54, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11454,7 +12338,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpeqps, 0xc2, 2, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11468,7 +12353,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpeqps, 0xc2, 2, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11482,7 +12368,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpltps, 0xc2, 2, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11496,7 +12383,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpltps, 0xc2, 2, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11510,7 +12398,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpleps, 0xc2, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11524,7 +12413,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpleps, 0xc2, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11538,7 +12428,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpunordps, 0xc2, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11552,7 +12443,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpunordps, 0xc2, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11566,7 +12458,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpneqps, 0xc2, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11580,7 +12473,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpneqps, 0xc2, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11594,7 +12488,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnltps, 0xc2, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11608,7 +12503,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnltps, 0xc2, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11622,7 +12518,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnleps, 0xc2, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11636,7 +12533,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnleps, 0xc2, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11650,7 +12548,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpordps, 0xc2, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11664,7 +12563,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpordps, 0xc2, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11678,7 +12578,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpeqss, 0xc2, 2, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11692,7 +12593,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpeqss, 0xc2, 2, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11706,7 +12608,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpltss, 0xc2, 2, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11720,7 +12623,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpltss, 0xc2, 2, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11734,7 +12638,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpless, 0xc2, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11748,7 +12653,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpless, 0xc2, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11762,7 +12668,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpunordss, 0xc2, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11776,7 +12683,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpunordss, 0xc2, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11790,7 +12698,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpneqss, 0xc2, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11804,7 +12713,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpneqss, 0xc2, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11818,7 +12728,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnltss, 0xc2, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11832,7 +12743,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnltss, 0xc2, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11846,7 +12758,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnless, 0xc2, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11860,7 +12773,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnless, 0xc2, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11874,7 +12788,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpordss, 0xc2, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11888,7 +12803,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpordss, 0xc2, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11902,7 +12818,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpps, 0xc2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11918,7 +12835,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpps, 0xc2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11934,7 +12852,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpss, 0xc2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11950,7 +12869,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpss, 0xc2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11966,7 +12886,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_comiss, 0x2f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11980,7 +12901,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_comiss, 0x2f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -11994,7 +12916,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtpi2ps, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12008,7 +12931,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtps2pi, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12022,7 +12946,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12036,7 +12961,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12050,7 +12976,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 3, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12064,7 +12991,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 3, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12078,7 +13006,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12092,7 +13021,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12106,7 +13036,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtss2si, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12120,7 +13051,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvtss2si, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12134,7 +13066,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvttps2pi, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12148,7 +13081,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvttss2si, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12162,7 +13096,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvttss2si, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12176,7 +13111,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_divps, 0x5e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12190,7 +13126,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_divps, 0x5e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12204,7 +13141,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_divss, 0x5e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12218,7 +13156,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_divss, 0x5e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12232,7 +13171,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_ldmxcsr, 0xae, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12244,7 +13184,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ldmxcsr, 0xae, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12256,7 +13197,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_maskmovq, 0xf7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12270,7 +13212,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_maxps, 0x5f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12284,7 +13227,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maxps, 0x5f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12298,7 +13242,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maxss, 0x5f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12312,7 +13257,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maxss, 0x5f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12326,7 +13272,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_minps, 0x5d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12340,7 +13287,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_minps, 0x5d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12354,7 +13302,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_minss, 0x5d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12368,7 +13317,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_minss, 0x5d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12382,7 +13332,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movaps, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12396,7 +13347,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movaps, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12410,7 +13362,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movhlps, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12424,7 +13377,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movhlps, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12438,7 +13392,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movhps, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12452,7 +13407,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movhps, 0x17, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12466,7 +13422,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_movhps, 0x16, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12480,7 +13437,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movlhps, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12494,7 +13452,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movlhps, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12508,7 +13467,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movlps, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12522,7 +13482,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movlps, 0x13, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12536,7 +13497,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_movlps, 0x12, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12550,7 +13512,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movmskps, 0x50, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12564,7 +13527,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movmskps, 0x50, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12578,7 +13542,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movntps, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12592,7 +13557,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_movntps, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12606,7 +13572,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_movntq, 0xe7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12620,7 +13587,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_movntdq, 0xe7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12634,7 +13602,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_movntdq, 0xe7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12648,7 +13617,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_movss, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12662,7 +13632,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movss, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12676,7 +13647,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movss, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12690,7 +13662,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movups, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12704,7 +13677,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movups, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12718,7 +13692,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mulps, 0x59, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12732,7 +13707,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mulps, 0x59, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12746,7 +13722,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mulss, 0x59, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12760,7 +13737,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mulss, 0x59, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12774,7 +13752,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_orps, 0x56, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12788,7 +13767,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_orps, 0x56, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12802,7 +13782,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pavgb, 0xe0 | (3 * 0), 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12816,7 +13797,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pavgb, 0xe0 | (3 * 0), 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12830,7 +13812,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pavgb, 0xe0 | (3 * 0), 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12844,7 +13827,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pavgw, 0xe0 | (3 * 1), 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12858,7 +13842,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pavgw, 0xe0 | (3 * 1), 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12872,7 +13857,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pavgw, 0xe0 | (3 * 1), 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12886,7 +13872,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pextrw, 0xc5, 3, SPACE_0F, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12902,7 +13889,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pextrw, 0xc5, 3, SPACE_0F, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12918,7 +13906,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pextrw, 0xc5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12934,7 +13923,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12950,7 +13940,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12966,7 +13957,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12982,7 +13974,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -12998,7 +13991,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pinsrw, 0xc4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13014,7 +14008,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrw, 0xc4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13030,7 +14025,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrw, 0xc4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13046,7 +14042,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrw, 0xc4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13062,7 +14059,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrw, 0xc4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13078,7 +14076,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrw, 0xc4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13094,7 +14093,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxsw, 0xee, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13108,7 +14108,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxsw, 0xee, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13122,7 +14123,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxsw, 0xee, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13136,7 +14138,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxub, 0xde, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13150,7 +14153,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxub, 0xde, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13164,7 +14168,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxub, 0xde, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13178,7 +14183,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pminsw, 0xea, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13192,7 +14198,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminsw, 0xea, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13206,7 +14213,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminsw, 0xea, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13220,7 +14228,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pminub, 0xda, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13234,7 +14243,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminub, 0xda, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13248,7 +14258,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminub, 0xda, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13262,7 +14273,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmovmskb, 0xd7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13276,7 +14288,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmovmskb, 0xd7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13290,7 +14303,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmovmskb, 0xd7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13304,7 +14318,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhuw, 0xe4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13318,7 +14333,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhuw, 0xe4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13332,7 +14348,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhuw, 0xe4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13346,7 +14363,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_prefetchnta, 0x18, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13358,7 +14376,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_prefetcht0, 0x18, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13370,7 +14389,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_prefetcht1, 0x18, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13382,7 +14402,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_prefetcht2, 0x18, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13394,7 +14415,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psadbw, 0xf6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13408,7 +14430,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psadbw, 0xf6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13422,7 +14445,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psadbw, 0xf6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13436,7 +14460,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pshufw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13452,7 +14477,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rcpps, 0x53, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13466,7 +14492,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_rcpps, 0x53, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13480,7 +14507,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_rcpss, 0x53, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13494,7 +14522,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_rcpss, 0x53, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13508,7 +14537,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_rsqrtps, 0x52, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13522,7 +14552,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_rsqrtps, 0x52, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13536,7 +14567,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_rsqrtss, 0x52, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13550,7 +14582,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_rsqrtss, 0x52, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13564,7 +14597,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sfence, 0xaef8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13576,7 +14610,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_shufps, 0xc6, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13592,7 +14627,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_shufps, 0xc6, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13608,7 +14644,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sqrtps, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13622,7 +14659,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sqrtps, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13636,7 +14674,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sqrtss, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13650,7 +14689,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sqrtss, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13664,7 +14704,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_stmxcsr, 0xae, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13676,7 +14717,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_stmxcsr, 0xae, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13688,7 +14730,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_subps, 0x5c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13702,7 +14745,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_subps, 0x5c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13716,7 +14760,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_subss, 0x5c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13730,7 +14775,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_subss, 0x5c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13744,7 +14790,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_ucomiss, 0x2e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13758,7 +14805,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_ucomiss, 0x2e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13772,7 +14820,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_unpckhps, 0x15, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13786,7 +14835,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_unpckhps, 0x15, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13800,7 +14850,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_unpcklps, 0x14, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13814,7 +14865,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_unpcklps, 0x14, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13828,7 +14880,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_xorps, 0x57, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13842,7 +14895,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_xorps, 0x57, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13856,7 +14910,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addpd, 0x58, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13870,7 +14925,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addpd, 0x58, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13884,7 +14940,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addsd, 0x58, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13898,7 +14955,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addsd, 0x58, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13912,7 +14970,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_andnpd, 0x55, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13926,7 +14985,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_andnpd, 0x55, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13940,7 +15000,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_andpd, 0x54, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13954,7 +15015,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_andpd, 0x54, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13968,7 +15030,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpeqpd, 0xc2, 2, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13982,7 +15045,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpeqpd, 0xc2, 2, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -13996,7 +15060,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpltpd, 0xc2, 2, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14010,7 +15075,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpltpd, 0xc2, 2, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14024,7 +15090,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmplepd, 0xc2, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14038,7 +15105,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmplepd, 0xc2, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14052,7 +15120,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpunordpd, 0xc2, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14066,7 +15135,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpunordpd, 0xc2, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14080,7 +15150,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpneqpd, 0xc2, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14094,7 +15165,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpneqpd, 0xc2, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14108,7 +15180,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnltpd, 0xc2, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14122,7 +15195,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnltpd, 0xc2, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14136,7 +15210,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnlepd, 0xc2, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14150,7 +15225,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnlepd, 0xc2, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14164,7 +15240,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpordpd, 0xc2, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14178,7 +15255,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpordpd, 0xc2, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14192,7 +15270,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpeqsd, 0xc2, 2, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14206,7 +15285,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpeqsd, 0xc2, 2, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14220,7 +15300,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpltsd, 0xc2, 2, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14234,7 +15315,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpltsd, 0xc2, 2, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14248,7 +15330,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmplesd, 0xc2, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14262,7 +15345,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmplesd, 0xc2, 2, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14276,7 +15360,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpunordsd, 0xc2, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14290,7 +15375,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpunordsd, 0xc2, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14304,7 +15390,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpneqsd, 0xc2, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14318,7 +15405,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpneqsd, 0xc2, 2, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14332,7 +15420,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnltsd, 0xc2, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14346,7 +15435,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnltsd, 0xc2, 2, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14360,7 +15450,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnlesd, 0xc2, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14374,7 +15465,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpnlesd, 0xc2, 2, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14388,7 +15480,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpordsd, 0xc2, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14402,7 +15495,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpordsd, 0xc2, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14416,7 +15510,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmppd, 0xc2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14432,7 +15527,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmppd, 0xc2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14448,7 +15544,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpsd, 0xc2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14464,7 +15561,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cmpsd, 0xc2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14480,7 +15578,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_comisd, 0x2f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14494,7 +15593,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_comisd, 0x2f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14508,7 +15608,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtpi2pd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14522,7 +15623,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtpi2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14536,7 +15638,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtpi2pd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14550,7 +15653,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14564,7 +15668,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14578,7 +15683,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 3, 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14592,7 +15698,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 3, 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14606,7 +15713,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14620,7 +15728,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14634,7 +15743,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_divpd, 0x5e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14648,7 +15758,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_divpd, 0x5e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14662,7 +15773,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_divsd, 0x5e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14676,7 +15788,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_divsd, 0x5e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14690,7 +15803,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maxpd, 0x5f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14704,7 +15818,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maxpd, 0x5f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14718,7 +15833,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maxsd, 0x5f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14732,7 +15848,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maxsd, 0x5f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14746,7 +15863,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_minpd, 0x5d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14760,7 +15878,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_minpd, 0x5d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14774,7 +15893,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_minsd, 0x5d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14788,7 +15908,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_minsd, 0x5d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14802,7 +15923,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movapd, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14816,7 +15938,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movapd, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14830,7 +15953,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movhpd, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14844,7 +15968,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movhpd, 0x17, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14858,7 +15983,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_movhpd, 0x16, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14872,7 +15998,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movlpd, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14886,7 +16013,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movlpd, 0x13, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14900,7 +16028,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_movlpd, 0x12, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14914,7 +16043,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movmskpd, 0x50, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14928,7 +16058,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movmskpd, 0x50, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14942,7 +16073,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movntpd, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14956,7 +16088,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_movntpd, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14970,7 +16103,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_movsd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14984,7 +16118,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movsd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -14998,7 +16133,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movsd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15012,7 +16148,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movupd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15026,7 +16163,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movupd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15040,7 +16178,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mulpd, 0x59, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15054,7 +16193,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mulpd, 0x59, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15068,7 +16208,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mulsd, 0x59, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15082,7 +16223,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mulsd, 0x59, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15096,7 +16238,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_orpd, 0x56, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15110,7 +16253,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_orpd, 0x56, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15124,7 +16268,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_shufpd, 0xc6, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15140,7 +16285,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_shufpd, 0xc6, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15156,7 +16302,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sqrtpd, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15170,7 +16317,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sqrtpd, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15184,7 +16332,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sqrtsd, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15198,7 +16347,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sqrtsd, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15212,7 +16362,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_subpd, 0x5c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15226,7 +16377,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_subpd, 0x5c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15240,7 +16392,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_subsd, 0x5c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15254,7 +16407,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_subsd, 0x5c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15268,7 +16422,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_ucomisd, 0x2e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15282,7 +16437,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_ucomisd, 0x2e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15296,7 +16452,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_unpckhpd, 0x15, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15310,7 +16467,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_unpckhpd, 0x15, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15324,7 +16482,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_unpcklpd, 0x14, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15338,7 +16497,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_unpcklpd, 0x14, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15352,7 +16512,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_xorpd, 0x57, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15366,7 +16527,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_xorpd, 0x57, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15380,7 +16542,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtdq2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15394,7 +16557,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtdq2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15408,7 +16572,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15422,7 +16587,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15436,7 +16602,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtdq2ps, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15450,7 +16617,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtdq2ps, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15464,7 +16632,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtpd2pi, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15478,7 +16647,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvtpd2ps, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15492,7 +16662,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtpd2ps, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15506,7 +16677,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtps2pd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15520,7 +16692,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtps2pd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15534,7 +16707,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15548,7 +16722,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15562,7 +16737,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsd2si, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15576,7 +16752,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsd2si, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15590,7 +16767,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsd2ss, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15604,7 +16782,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtsd2ss, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15618,7 +16797,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtss2sd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15632,7 +16812,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvtss2sd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15646,7 +16827,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvttpd2pi, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15660,7 +16842,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvttsd2si, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15674,7 +16857,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvttsd2si, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15688,7 +16872,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cvttpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15702,7 +16887,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvttpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15716,7 +16902,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvttps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15730,7 +16917,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_cvttps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15744,7 +16932,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maskmovdqu, 0xf7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15758,7 +16947,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_maskmovdqu, 0xf7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15772,7 +16962,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movdqa, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15786,7 +16977,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movdqa, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15800,7 +16992,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movdqu, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15814,7 +17007,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movdqu, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15828,7 +17022,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movdq2q, 0xd6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15842,7 +17037,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movq2dq, 0xd6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15856,7 +17052,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmuludq, 0xf4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15870,7 +17067,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmuludq, 0xf4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15884,7 +17082,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmuludq, 0xf4, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15898,7 +17097,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pshufd, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15914,7 +17114,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pshufd, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15930,7 +17131,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pshufhw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15946,7 +17148,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pshufhw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15962,7 +17165,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pshuflw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15978,7 +17182,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pshuflw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -15994,7 +17199,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pslldq, 0x73, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16008,7 +17214,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pslldq, 0x73, 2, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16022,7 +17229,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrldq, 0x73, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16036,7 +17244,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psrldq, 0x73, 2, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16050,7 +17259,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhqdq, 0x6d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16064,7 +17274,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpckhqdq, 0x6d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16078,7 +17289,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpcklqdq, 0x6c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16092,7 +17304,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_punpcklqdq, 0x6c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16106,7 +17319,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addsubpd, 0xd0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16120,7 +17334,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addsubpd, 0xd0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16134,7 +17349,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addsubps, 0xd0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16148,7 +17364,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_addsubps, 0xd0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16162,7 +17379,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_haddpd, 0x7c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16176,7 +17394,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_haddpd, 0x7c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16190,7 +17409,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_haddps, 0x7c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16204,7 +17424,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_haddps, 0x7c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16218,7 +17439,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_hsubpd, 0x7d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16232,7 +17454,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_hsubpd, 0x7d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16246,7 +17469,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_hsubps, 0x7d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16260,7 +17484,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_hsubps, 0x7d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16274,7 +17499,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_lddqu, 0xf0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16288,7 +17514,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_lddqu, 0xf0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16302,7 +17529,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movddup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16316,7 +17544,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movddup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16330,7 +17559,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movshdup, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16344,7 +17574,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movshdup, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16358,7 +17589,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movsldup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16372,7 +17604,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movsldup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16386,7 +17619,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_fisttp, 0xdf, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16398,7 +17632,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fisttp, 0xdd, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16410,7 +17645,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_fisttpll, 0xdd, 1, SPACE_BASE, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16422,7 +17658,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpxchg16b, 0xc7, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 4, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, +@@ -16434,7 +17671,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_monitor, 0x01c8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16446,7 +17684,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_monitor, 0x01c8, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16462,7 +17701,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_monitor, 0x01c8, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16478,7 +17718,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mwait, 0x01c9, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16490,7 +17731,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mwait, 0x01c9, 2, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16504,7 +17746,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmcall, 0x01c1, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16516,7 +17759,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmclear, 0xc7, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16528,7 +17772,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmlaunch, 0x01c2, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16540,7 +17785,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmresume, 0x01c3, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16552,7 +17798,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmptrld, 0xc7, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16564,7 +17811,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmptrst, 0xc7, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16576,7 +17824,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmread, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16590,7 +17839,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmread, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16604,7 +17854,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmwrite, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16618,7 +17869,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmwrite, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16632,7 +17884,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmxoff, 0x01c4, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16644,7 +17897,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmxon, 0xc7, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16656,7 +17910,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmfunc, 0x01d4, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16668,7 +17923,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_getsec, 0x37, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16680,7 +17936,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invept, 0x80, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -16694,7 +17951,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invept, 0x80, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -16708,7 +17966,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invvpid, 0x81, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -16722,7 +17981,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invvpid, 0x81, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +@@ -16736,7 +17996,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invpcid, 0x82, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16750,7 +18011,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invpcid, 0x82, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16764,7 +18026,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_phaddw, 0x01, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16778,7 +18041,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phaddw, 0x01, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16792,7 +18056,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phaddw, 0x01, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16806,7 +18071,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_phaddd, 0x02, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16820,7 +18086,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phaddd, 0x02, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16834,7 +18101,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phaddd, 0x02, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16848,7 +18116,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_phaddsw, 0x03, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16862,7 +18131,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phaddsw, 0x03, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16876,7 +18146,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phaddsw, 0x03, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16890,7 +18161,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_phsubw, 0x05, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16904,7 +18176,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phsubw, 0x05, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16918,7 +18191,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phsubw, 0x05, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16932,7 +18206,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_phsubd, 0x06, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16946,7 +18221,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phsubd, 0x06, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16960,7 +18236,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phsubd, 0x06, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16974,7 +18251,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_phsubsw, 0x07, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -16988,7 +18266,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phsubsw, 0x07, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17002,7 +18281,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phsubsw, 0x07, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17016,7 +18296,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmaddubsw, 0x04, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17030,7 +18311,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaddubsw, 0x04, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17044,7 +18326,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaddubsw, 0x04, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17058,7 +18341,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhrsw, 0x0b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17072,7 +18356,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhrsw, 0x0b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17086,7 +18371,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhrsw, 0x0b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17100,7 +18386,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pshufb, 0x00, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17114,7 +18401,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pshufb, 0x00, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17128,7 +18416,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pshufb, 0x00, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17142,7 +18431,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psignb, 0x08 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17156,7 +18446,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psignb, 0x08 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17170,7 +18461,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psignb, 0x08 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17184,7 +18476,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psignw, 0x08 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17198,7 +18491,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psignw, 0x08 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17212,7 +18506,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psignw, 0x08 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17226,7 +18521,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psignd, 0x0a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17240,7 +18536,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psignd, 0x0a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17254,7 +18551,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_psignd, 0x0a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17268,7 +18566,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_palignr, 0x0f, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17284,7 +18583,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_palignr, 0x0f, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17300,7 +18600,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_palignr, 0x0f, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17316,7 +18617,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pabsb, 0x1c | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17330,7 +18632,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pabsb, 0x1c | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17344,7 +18647,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pabsb, 0x1c | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17358,7 +18662,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pabsw, 0x1c | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17372,7 +18677,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pabsw, 0x1c | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17386,7 +18692,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pabsw, 0x1c | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17400,7 +18707,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pabsd, 0x1e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17414,7 +18722,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pabsd, 0x1e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17428,7 +18737,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pabsd, 0x1e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17442,7 +18752,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blendps, 0x0c | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17458,7 +18769,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendps, 0x0c | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17474,7 +18786,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendpd, 0x0c | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17490,7 +18803,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendpd, 0x0c | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17506,7 +18820,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvps, 0x4a | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17522,7 +18837,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvps, 0x4a | 0, 2, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17536,7 +18852,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvps, 0x14 | 0, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17552,7 +18869,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvps, 0x14 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17566,7 +18884,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvpd, 0x4a | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17582,7 +18901,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvpd, 0x4a | 1, 2, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17596,7 +18916,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvpd, 0x14 | 1, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17612,7 +18933,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_blendvpd, 0x14 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17626,7 +18948,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_dpps, 0x40 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17642,7 +18965,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_dpps, 0x40 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17658,7 +18982,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_dppd, 0x40 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17674,7 +18999,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_dppd, 0x40 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17690,7 +19016,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_extractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17706,7 +19033,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_extractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17722,7 +19050,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_extractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17738,7 +19067,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_extractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17754,7 +19084,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_insertps, 0x21, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17770,7 +19101,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_insertps, 0x21, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17786,7 +19118,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movntdqa, 0x2a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17800,7 +19133,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_movntdqa, 0x2a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17814,7 +19148,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mpsadbw, 0x42, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17830,7 +19165,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_mpsadbw, 0x42, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17846,7 +19182,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_packusdw, 0x2b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17860,7 +19197,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_packusdw, 0x2b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17874,7 +19212,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pblendvb, 0x4c, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17890,7 +19229,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pblendvb, 0x4c, 2, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17904,7 +19244,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pblendvb, 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17920,7 +19261,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pblendvb, 0x10, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17934,7 +19276,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pblendw, 0x0e, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17950,7 +19293,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pblendw, 0x0e, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17966,7 +19310,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqq, 0x29, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17980,7 +19325,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpeqq, 0x29, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -17994,7 +19340,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18010,7 +19357,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18026,7 +19374,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18042,7 +19391,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18058,7 +19408,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pextrd, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18074,7 +19425,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pextrd, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18090,7 +19442,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pextrq, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18106,7 +19459,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_pextrq, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18122,7 +19476,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_phminposuw, 0x41, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18136,7 +19491,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_phminposuw, 0x41, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18150,7 +19506,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrb, 0x20, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18166,7 +19523,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrb, 0x20, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18182,7 +19540,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrb, 0x20, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18198,7 +19557,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrb, 0x20, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18214,7 +19574,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrd, 0x22, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18230,7 +19591,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrd, 0x22, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18246,7 +19608,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrq, 0x22, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18262,7 +19625,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pinsrq, 0x22, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18278,7 +19642,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxsb, 0x3c, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18292,7 +19657,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxsb, 0x3c, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18306,7 +19672,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxsd, 0x3d, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18320,7 +19687,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxsd, 0x3d, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18334,7 +19702,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxud, 0x3f, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18348,7 +19717,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxud, 0x3f, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18362,7 +19732,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxuw, 0x3e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18376,7 +19747,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmaxuw, 0x3e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18390,7 +19762,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminsb, 0x38, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18404,7 +19777,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminsb, 0x38, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18418,7 +19792,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminsd, 0x39, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18432,7 +19807,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminsd, 0x39, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18446,7 +19822,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminud, 0x3b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18460,7 +19837,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminud, 0x3b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18474,7 +19852,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminuw, 0x3a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18488,7 +19867,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pminuw, 0x3a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18502,7 +19882,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxbw, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18516,7 +19897,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxbw, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18530,7 +19912,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxbd, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18544,7 +19927,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxbd, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18558,7 +19942,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxbq, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18572,7 +19957,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxbq, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18586,7 +19972,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxwd, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18600,7 +19987,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxwd, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18614,7 +20002,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxwq, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18628,7 +20017,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxwq, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18642,7 +20032,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxdq, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18656,7 +20047,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovsxdq, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18670,7 +20062,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxbw, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18684,7 +20077,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxbw, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18698,7 +20092,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxbd, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18712,7 +20107,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxbd, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18726,7 +20122,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxbq, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18740,7 +20137,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxbq, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18754,7 +20152,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxwd, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18768,7 +20167,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxwd, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18782,7 +20182,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxwq, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18796,7 +20197,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxwq, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18810,7 +20212,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxdq, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18824,7 +20227,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmovzxdq, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18838,7 +20242,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmuldq, 0x28, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18852,7 +20257,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmuldq, 0x28, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18866,7 +20272,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmulld, 0x40, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18880,7 +20287,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pmulld, 0x40, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18894,7 +20302,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_ptest, 0x17, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18908,7 +20317,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_ptest, 0x17, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18922,7 +20332,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundps, 0x08 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18938,7 +20349,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundps, 0x08 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18954,7 +20366,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundpd, 0x08 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18970,7 +20383,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundpd, 0x08 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -18986,7 +20400,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundss, 0x0a | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19002,7 +20417,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundss, 0x0a | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19018,7 +20434,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundsd, 0x0a | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19034,7 +20451,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_roundsd, 0x0a | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19050,7 +20468,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtq, 0x37, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19064,7 +20483,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpgtq, 0x37, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19078,7 +20498,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestri, 0x61, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19094,7 +20515,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestri, 0x61, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19110,7 +20532,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestri, 0x61, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19126,7 +20549,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestri, 0x61, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19142,7 +20566,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestrm, 0x60, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19158,7 +20583,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestrm, 0x60, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19174,7 +20600,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestrm, 0x60, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19190,7 +20617,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpestrm, 0x60, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19206,7 +20634,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpistri, 0x63, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19222,7 +20651,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpistri, 0x63, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19238,7 +20668,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpistrm, 0x62, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19254,7 +20685,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pcmpistrm, 0x62, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19270,7 +20702,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_crc32, 0xf0, 2, SPACE_0F38, None, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19284,7 +20717,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_crc32, 0xf0, 2, SPACE_0F38, None, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19298,7 +20732,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xsave, 0xae, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19310,7 +20745,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xsave64, 0xae, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19322,7 +20758,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xrstor, 0xae, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19334,7 +20771,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xrstor64, 0xae, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19346,7 +20784,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xgetbv, 0x01d0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19358,7 +20797,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xsetbv, 0x01d1, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19370,7 +20810,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xsaveopt, 0xae, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19382,7 +20823,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xsaveopt64, 0xae, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19394,7 +20836,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_aesdec, 0xde, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19408,7 +20851,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesdec, 0xde, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19422,7 +20866,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesdeclast, 0xdf, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19436,7 +20881,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesdeclast, 0xdf, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19450,7 +20896,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesenc, 0xdc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19464,7 +20911,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesenc, 0xdc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19478,7 +20926,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesenclast, 0xdd, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19492,7 +20941,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesenclast, 0xdd, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19506,7 +20956,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesimc, 0xdb, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19520,7 +20971,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesimc, 0xdb, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19534,7 +20986,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aeskeygenassist, 0xdf, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19550,7 +21003,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aeskeygenassist, 0xdf, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19566,7 +21020,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmulqdq, 0x44, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19582,7 +21037,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmulqdq, 0x44, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19598,7 +21054,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmullqlqdq, 0x44, 2, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19612,7 +21069,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmullqlqdq, 0x44, 2, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19626,7 +21084,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmulhqlqdq, 0x44, 2, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19640,7 +21099,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmulhqlqdq, 0x44, 2, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19654,7 +21114,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmullqhqdq, 0x44, 2, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19668,7 +21129,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmullqhqdq, 0x44, 2, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19682,7 +21144,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmulhqhqdq, 0x44, 2, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19696,7 +21159,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_pclmulhqhqdq, 0x44, 2, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19710,7 +21174,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_gf2p8affineqb, 0xce, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19726,7 +21191,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_gf2p8affineqb, 0xce, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19742,7 +21208,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_gf2p8affineinvqb, 0xcf, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19758,7 +21225,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_gf2p8affineinvqb, 0xcf, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19774,7 +21242,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_gf2p8mulb, 0xcf, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19788,7 +21257,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_gf2p8mulb, 0xcf, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19802,7 +21272,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaddps, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19818,7 +21289,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vaddps, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19834,7 +21306,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaddpd, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19850,7 +21323,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vaddpd, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19866,7 +21340,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaddss, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19882,7 +21357,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaddss, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19898,7 +21374,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaddsd, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19914,7 +21391,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaddsd, 0x58, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19930,7 +21408,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaddsubpd, 0xd0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19946,7 +21425,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vaddsubps, 0xd0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19962,7 +21442,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vandnps, 0x55, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19978,7 +21459,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vandnps, 0x55, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -19994,7 +21476,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vandnpd, 0x55, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20010,7 +21493,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vandnpd, 0x55, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20026,7 +21510,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vandps, 0x54, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20042,7 +21527,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vandps, 0x54, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20058,7 +21544,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vandpd, 0x54, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20074,7 +21561,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vandpd, 0x54, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20090,7 +21578,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vblendps, 0x0c | 0, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20108,7 +21597,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vblendpd, 0x0c | 1, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20126,7 +21616,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vblendvps, 0x4a | 0, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20144,7 +21635,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vblendvpd, 0x4a | 1, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20162,7 +21654,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vbroadcastf128, 0x1a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20176,7 +21669,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vbroadcastsd, 0x19, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20190,7 +21684,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vbroadcastsd, 0x19, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20204,7 +21699,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vbroadcastsd, 0x19, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20218,7 +21714,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vbroadcastss, 0x18, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20232,7 +21729,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vbroadcastss, 0x18, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20246,7 +21744,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vbroadcastss, 0x18, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20260,7 +21759,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcmpeqps, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20276,7 +21776,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeqps, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20292,7 +21793,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeqpd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20308,7 +21810,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeqpd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20324,7 +21827,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqps, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20340,7 +21844,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqps, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20356,7 +21861,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqpd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20372,7 +21878,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqpd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20388,7 +21895,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltps, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20404,7 +21912,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpltps, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20420,7 +21929,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltpd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20436,7 +21946,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpltpd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20452,7 +21963,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_osps, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20468,7 +21980,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmplt_osps, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20484,7 +21997,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_ospd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20500,7 +22014,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmplt_ospd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20516,7 +22031,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpleps, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20532,7 +22048,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpleps, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20548,7 +22065,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplepd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20564,7 +22082,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmplepd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20580,7 +22099,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_osps, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20596,7 +22116,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmple_osps, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20612,7 +22133,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_ospd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20628,7 +22150,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmple_ospd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20644,7 +22167,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordps, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20660,7 +22184,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpunordps, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20676,7 +22201,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordpd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20692,7 +22218,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpunordpd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20708,7 +22235,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qps, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20724,7 +22252,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qps, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20740,7 +22269,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qpd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20756,7 +22286,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qpd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20772,7 +22303,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqps, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20788,7 +22320,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneqps, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20804,7 +22337,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqpd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20820,7 +22354,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneqpd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20836,7 +22371,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqps, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20852,7 +22388,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqps, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20868,7 +22405,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqpd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20884,7 +22422,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqpd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20900,7 +22439,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltps, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20916,7 +22456,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnltps, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20932,7 +22473,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltpd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20948,7 +22490,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnltpd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20964,7 +22507,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_usps, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20980,7 +22524,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_usps, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -20996,7 +22541,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uspd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21012,7 +22558,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uspd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21028,7 +22575,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnleps, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21044,7 +22592,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnleps, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21060,7 +22609,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlepd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21076,7 +22626,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnlepd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21092,7 +22643,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_usps, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21108,7 +22660,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_usps, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21124,7 +22677,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uspd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21140,7 +22694,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uspd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21156,7 +22711,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordps, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21172,7 +22728,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpordps, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21188,7 +22745,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordpd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21204,7 +22762,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpordpd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21220,7 +22779,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qps, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21236,7 +22796,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qps, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21252,7 +22813,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qpd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21268,7 +22830,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qpd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21284,7 +22847,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqps, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21300,7 +22864,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqps, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21316,7 +22881,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqpd, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21332,7 +22898,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqpd, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21348,7 +22915,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngeps, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21364,7 +22932,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngeps, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21380,7 +22949,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngepd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21396,7 +22966,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngepd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21412,7 +22983,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_usps, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21428,7 +23000,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_usps, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21444,7 +23017,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uspd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21460,7 +23034,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uspd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21476,7 +23051,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtps, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21492,7 +23068,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngtps, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21508,7 +23085,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtpd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21524,7 +23102,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngtpd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21540,7 +23119,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_usps, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21556,7 +23136,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_usps, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21572,7 +23153,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uspd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21588,7 +23170,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uspd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21604,7 +23187,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalseps, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21620,7 +23204,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpfalseps, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21636,7 +23221,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalsepd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21652,7 +23238,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpfalsepd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21668,7 +23255,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqps, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21684,7 +23272,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqps, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21700,7 +23289,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqpd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21716,7 +23306,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqpd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21732,7 +23323,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqps, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21748,7 +23340,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqps, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21764,7 +23357,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqpd, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21780,7 +23374,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqpd, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21796,7 +23391,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgeps, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21812,7 +23408,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgeps, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21828,7 +23425,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgepd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21844,7 +23442,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgepd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21860,7 +23459,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_osps, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21876,7 +23476,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpge_osps, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21892,7 +23493,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_ospd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21908,7 +23510,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpge_ospd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21924,7 +23527,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtps, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21940,7 +23544,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgtps, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21956,7 +23561,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtpd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21972,7 +23578,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgtpd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -21988,7 +23595,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_osps, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22004,7 +23612,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_osps, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22020,7 +23629,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_ospd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22036,7 +23646,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_ospd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22052,7 +23663,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrueps, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22068,7 +23680,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmptrueps, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22084,7 +23697,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptruepd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22100,7 +23714,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmptruepd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22116,7 +23731,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqps, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22132,7 +23748,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqps, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22148,7 +23765,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqpd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22164,7 +23782,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqpd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22180,7 +23799,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_osps, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22196,7 +23816,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_osps, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22212,7 +23833,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_ospd, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22228,7 +23850,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_ospd, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22244,7 +23867,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqps, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22260,7 +23884,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqps, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22276,7 +23901,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqpd, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22292,7 +23918,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqpd, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22308,7 +23935,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqps, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22324,7 +23952,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqps, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22340,7 +23969,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqpd, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22356,7 +23986,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqpd, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22372,7 +24003,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_sps, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22388,7 +24020,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_sps, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22404,7 +24037,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_spd, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22420,7 +24054,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_spd, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22436,7 +24071,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_usps, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22452,7 +24088,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_usps, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22468,7 +24105,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uspd, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22484,7 +24122,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uspd, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22500,7 +24139,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqps, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22516,7 +24156,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqps, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22532,7 +24173,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqpd, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22548,7 +24190,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqpd, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22564,7 +24207,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqps, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22580,7 +24224,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqps, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22596,7 +24241,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqpd, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22612,7 +24258,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqpd, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22628,7 +24275,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_sps, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22644,7 +24292,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpord_sps, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22660,7 +24309,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_spd, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22676,7 +24326,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpord_spd, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22692,7 +24343,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_usps, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22708,7 +24360,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_usps, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22724,7 +24377,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uspd, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22740,7 +24394,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uspd, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22756,7 +24411,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqps, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22772,7 +24428,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqps, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22788,7 +24445,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqpd, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22804,7 +24462,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqpd, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22820,7 +24479,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqps, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22836,7 +24496,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqps, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22852,7 +24513,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqpd, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22868,7 +24530,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqpd, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22884,7 +24547,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_osps, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22900,7 +24564,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_osps, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22916,7 +24581,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_ospd, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22932,7 +24598,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_ospd, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22948,7 +24615,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_osps, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22964,7 +24632,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_osps, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22980,7 +24649,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_ospd, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -22996,7 +24666,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_ospd, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23012,7 +24683,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqps, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23028,7 +24700,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqps, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23044,7 +24717,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqpd, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23060,7 +24734,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqpd, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23076,7 +24751,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqps, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23092,7 +24768,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqps, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23108,7 +24785,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqpd, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23124,7 +24802,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqpd, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23140,7 +24819,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_usps, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23156,7 +24836,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_usps, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23172,7 +24853,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uspd, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23188,7 +24870,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uspd, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23204,7 +24887,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeqss, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23220,7 +24904,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeqss, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23236,7 +24921,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeqsd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23252,7 +24938,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeqsd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23268,7 +24955,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqss, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23284,7 +24972,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqss, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23300,7 +24989,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqsd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23316,7 +25006,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqsd, 0xc2, 3, SPACE_0F, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23332,7 +25023,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltss, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23348,7 +25040,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltss, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23364,7 +25057,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltsd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23380,7 +25074,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltsd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23396,7 +25091,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_osss, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23412,7 +25108,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_osss, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23428,7 +25125,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_ossd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23444,7 +25142,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_ossd, 0xc2, 3, SPACE_0F, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23460,7 +25159,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpless, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23476,7 +25176,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpless, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23492,7 +25193,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplesd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23508,7 +25210,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplesd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23524,7 +25227,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_osss, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23540,7 +25244,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_osss, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23556,7 +25261,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_ossd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23572,7 +25278,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_ossd, 0xc2, 3, SPACE_0F, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23588,7 +25295,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordss, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23604,7 +25312,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordss, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23620,7 +25329,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordsd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23636,7 +25346,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordsd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23652,7 +25363,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qss, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23668,7 +25380,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qss, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23684,7 +25397,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qsd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23700,7 +25414,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qsd, 0xc2, 3, SPACE_0F, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23716,7 +25431,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqss, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23732,7 +25448,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqss, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23748,7 +25465,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqsd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23764,7 +25482,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqsd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23780,7 +25499,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqss, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23796,7 +25516,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqss, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23812,7 +25533,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqsd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23828,7 +25550,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqsd, 0xc2, 3, SPACE_0F, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23844,7 +25567,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltss, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23860,7 +25584,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltss, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23876,7 +25601,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltsd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23892,7 +25618,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltsd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23908,7 +25635,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_usss, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23924,7 +25652,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_usss, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23940,7 +25669,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_ussd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23956,7 +25686,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_ussd, 0xc2, 3, SPACE_0F, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23972,7 +25703,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnless, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -23988,7 +25720,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnless, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24004,7 +25737,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlesd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24020,7 +25754,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlesd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24036,7 +25771,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_usss, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24052,7 +25788,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_usss, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24068,7 +25805,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_ussd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24084,7 +25822,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_ussd, 0xc2, 3, SPACE_0F, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24100,7 +25839,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordss, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24116,7 +25856,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordss, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24132,7 +25873,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordsd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24148,7 +25890,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordsd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24164,7 +25907,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qss, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24180,7 +25924,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qss, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24196,7 +25941,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qsd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24212,7 +25958,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qsd, 0xc2, 3, SPACE_0F, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24228,7 +25975,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqss, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24244,7 +25992,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqss, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24260,7 +26009,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqsd, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24276,7 +26026,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqsd, 0xc2, 3, SPACE_0F, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24292,7 +26043,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngess, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24308,7 +26060,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngess, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24324,7 +26077,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngesd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24340,7 +26094,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngesd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24356,7 +26111,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_usss, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24372,7 +26128,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_usss, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24388,7 +26145,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_ussd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24404,7 +26162,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_ussd, 0xc2, 3, SPACE_0F, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24420,7 +26179,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtss, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24436,7 +26196,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtss, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24452,7 +26213,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtsd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24468,7 +26230,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtsd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24484,7 +26247,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_usss, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24500,7 +26264,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_usss, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24516,7 +26281,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_ussd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24532,7 +26298,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_ussd, 0xc2, 3, SPACE_0F, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24548,7 +26315,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalsess, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24564,7 +26332,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalsess, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24580,7 +26349,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalsesd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24596,7 +26366,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalsesd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24612,7 +26383,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqss, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24628,7 +26400,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqss, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24644,7 +26417,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqsd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24660,7 +26434,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqsd, 0xc2, 3, SPACE_0F, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24676,7 +26451,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqss, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24692,7 +26468,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqss, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24708,7 +26485,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqsd, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24724,7 +26502,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqsd, 0xc2, 3, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24740,7 +26519,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgess, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24756,7 +26536,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgess, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24772,7 +26553,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgesd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24788,7 +26570,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgesd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24804,7 +26587,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_osss, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24820,7 +26604,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_osss, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24836,7 +26621,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_ossd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24852,7 +26638,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_ossd, 0xc2, 3, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24868,7 +26655,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtss, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24884,7 +26672,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtss, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24900,7 +26689,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtsd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24916,7 +26706,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtsd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24932,7 +26723,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_osss, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24948,7 +26740,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_osss, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24964,7 +26757,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_ossd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24980,7 +26774,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_ossd, 0xc2, 3, SPACE_0F, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -24996,7 +26791,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptruess, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25012,7 +26808,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptruess, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25028,7 +26825,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptruesd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25044,7 +26842,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptruesd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25060,7 +26859,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqss, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25076,7 +26876,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqss, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25092,7 +26893,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqsd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25108,7 +26910,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqsd, 0xc2, 3, SPACE_0F, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25124,7 +26927,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_osss, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25140,7 +26944,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_osss, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25156,7 +26961,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_ossd, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25172,7 +26978,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_ossd, 0xc2, 3, SPACE_0F, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25188,7 +26995,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqss, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25204,7 +27012,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqss, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25220,7 +27029,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqsd, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25236,7 +27046,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqsd, 0xc2, 3, SPACE_0F, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25252,7 +27063,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqss, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25268,7 +27080,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqss, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25284,7 +27097,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqsd, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25300,7 +27114,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqsd, 0xc2, 3, SPACE_0F, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25316,7 +27131,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_sss, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25332,7 +27148,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_sss, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25348,7 +27165,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_ssd, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25364,7 +27182,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_ssd, 0xc2, 3, SPACE_0F, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25380,7 +27199,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_usss, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25396,7 +27216,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_usss, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25412,7 +27233,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_ussd, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25428,7 +27250,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_ussd, 0xc2, 3, SPACE_0F, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25444,7 +27267,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqss, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25460,7 +27284,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqss, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25476,7 +27301,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqsd, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25492,7 +27318,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqsd, 0xc2, 3, SPACE_0F, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25508,7 +27335,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqss, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25524,7 +27352,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqss, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25540,7 +27369,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqsd, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25556,7 +27386,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqsd, 0xc2, 3, SPACE_0F, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25572,7 +27403,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_sss, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25588,7 +27420,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_sss, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25604,7 +27437,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_ssd, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25620,7 +27454,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_ssd, 0xc2, 3, SPACE_0F, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25636,7 +27471,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_usss, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25652,7 +27488,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_usss, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25668,7 +27505,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_ussd, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25684,7 +27522,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_ussd, 0xc2, 3, SPACE_0F, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25700,7 +27539,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqss, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25716,7 +27556,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqss, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25732,7 +27573,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqsd, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25748,7 +27590,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqsd, 0xc2, 3, SPACE_0F, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25764,7 +27607,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqss, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25780,7 +27624,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqss, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25796,7 +27641,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqsd, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25812,7 +27658,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqsd, 0xc2, 3, SPACE_0F, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25828,7 +27675,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_osss, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25844,7 +27692,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_osss, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25860,7 +27709,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_ossd, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25876,7 +27726,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_ossd, 0xc2, 3, SPACE_0F, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25892,7 +27743,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_osss, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25908,7 +27760,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_osss, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25924,7 +27777,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_ossd, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25940,7 +27794,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_ossd, 0xc2, 3, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25956,7 +27811,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqss, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25972,7 +27828,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqss, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -25988,7 +27845,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqsd, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26004,7 +27862,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqsd, 0xc2, 3, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26020,7 +27879,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqss, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26036,7 +27896,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqss, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26052,7 +27913,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqsd, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26068,7 +27930,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqsd, 0xc2, 3, SPACE_0F, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26084,7 +27947,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_usss, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26100,7 +27964,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_usss, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26116,7 +27981,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_ussd, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26132,7 +27998,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_ussd, 0xc2, 3, SPACE_0F, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26148,7 +28015,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpps, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26166,7 +28034,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmpps, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26184,7 +28053,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmppd, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26202,7 +28072,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcmppd, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26220,7 +28091,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpss, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26238,7 +28110,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpss, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26256,7 +28129,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpsd, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26274,7 +28148,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpsd, 0xc2, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26292,7 +28167,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcomiss, 0x2f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26306,7 +28182,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcomiss, 0x2f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26320,7 +28197,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcomisd, 0x2f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26334,7 +28212,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcomisd, 0x2f, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26348,7 +28227,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26362,7 +28242,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26376,7 +28257,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 3, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 3, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26390,7 +28272,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtdq2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26404,7 +28287,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26418,7 +28302,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2ps, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26432,7 +28317,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2ps, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26446,7 +28332,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26460,7 +28347,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26474,7 +28362,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26488,7 +28377,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26502,7 +28392,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26516,7 +28407,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dqx, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26530,7 +28422,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dqx, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26544,7 +28437,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dqy, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26558,7 +28452,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2dqy, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26572,7 +28467,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26586,7 +28482,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26600,7 +28497,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26614,7 +28512,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26628,7 +28527,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26642,7 +28542,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2psx, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26656,7 +28557,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2psx, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26670,7 +28572,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2psy, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26684,7 +28587,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2psy, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26698,7 +28602,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26712,7 +28617,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26726,7 +28632,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26740,7 +28647,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26754,7 +28662,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 0, 1, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 0, 1, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26768,7 +28677,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26782,7 +28692,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26796,7 +28707,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtss2si, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26810,7 +28722,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtss2si, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26824,7 +28737,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsd2si, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26838,7 +28752,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsd2si, 0x2d, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26852,7 +28767,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsd2ss, 0x5a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26868,7 +28784,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsd2ss, 0x5a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26884,7 +28801,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2ss, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 3, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26900,7 +28818,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2ss, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 3, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26916,7 +28835,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2ss, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26932,7 +28852,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2ss, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26948,7 +28869,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 3, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26964,7 +28886,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 3, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26980,7 +28903,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -26996,7 +28920,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27012,7 +28937,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27028,7 +28954,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27044,7 +28971,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtss2sd, 0x5a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27060,7 +28988,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtss2sd, 0x5a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27076,7 +29005,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27090,7 +29020,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27104,7 +29035,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27118,7 +29050,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27132,7 +29065,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27146,7 +29080,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dqx, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27160,7 +29095,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dqx, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27174,7 +29110,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dqy, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27188,7 +29125,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2dqy, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27202,7 +29140,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27216,7 +29155,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvttps2dq, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27230,7 +29170,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvttss2si, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27244,7 +29185,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttss2si, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27258,7 +29200,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttsd2si, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27272,7 +29215,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttsd2si, 0x2c, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27286,7 +29230,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vdivps, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27302,7 +29247,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vdivps, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27318,7 +29264,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vdivpd, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27334,7 +29281,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vdivpd, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27350,7 +29298,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vdivss, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27366,7 +29315,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vdivss, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27382,7 +29332,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vdivsd, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27398,7 +29349,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vdivsd, 0x5e, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27414,7 +29366,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vdppd, 0x41, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27432,7 +29385,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vdpps, 0x40, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27450,7 +29404,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vextractf128, 0x19, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27466,7 +29421,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vextractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27482,7 +29438,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vextractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27498,7 +29455,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vextractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27514,7 +29472,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vextractps, 0x17, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27530,7 +29489,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vhaddpd, 0x7c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27546,7 +29506,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vhaddps, 0x7c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27562,7 +29523,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vhsubpd, 0x7d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27578,7 +29540,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vhsubps, 0x7d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27594,7 +29557,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vinsertf128, 0x18, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27612,7 +29576,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vinsertps, 0x21, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27630,7 +29595,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vinsertps, 0x21, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27648,7 +29614,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vlddqu, 0xf0, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27662,7 +29629,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vldmxcsr, 0xae, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27674,7 +29642,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmaskmovdqu, 0xf7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27688,7 +29657,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmaskmovps, 0x2e | 0, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27704,7 +29674,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vmaskmovps, 0x2c | 0, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27720,7 +29691,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmaskmovpd, 0x2e | 1, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27736,7 +29708,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vmaskmovpd, 0x2c | 1, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27752,7 +29725,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmaxps, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27768,7 +29742,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmaxps, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27784,7 +29759,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmaxpd, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27800,7 +29776,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmaxpd, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27816,7 +29793,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmaxss, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27832,7 +29810,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmaxss, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27848,7 +29827,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmaxsd, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27864,7 +29844,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmaxsd, 0x5f, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27880,7 +29861,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vminps, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27896,7 +29878,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vminps, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27912,7 +29895,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vminpd, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27928,7 +29912,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vminpd, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27944,7 +29929,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vminss, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27960,7 +29946,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vminss, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27976,7 +29963,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vminsd, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -27992,7 +29980,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vminsd, 0x5d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28008,7 +29997,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovaps, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28022,7 +30012,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovaps, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28036,7 +30027,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovapd, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28050,7 +30042,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovapd, 0x28, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28064,7 +30057,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovd, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28078,7 +30072,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovd, 0x7e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28092,7 +30087,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmovd, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28106,7 +30102,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovddup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28120,7 +30117,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovddup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28134,7 +30132,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vmovddup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28148,7 +30147,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vmovddup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28162,7 +30162,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovdqa, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28176,7 +30177,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovdqu, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28190,7 +30192,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovhlps, 0x12, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28206,7 +30209,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovhlps, 0x12, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28222,7 +30226,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovhps, 0x16, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28238,7 +30243,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovhps, 0x17, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28252,7 +30258,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmovhps, 0x16, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28268,7 +30275,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovhps, 0x17, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28282,7 +30290,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmovhpd, 0x16, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28298,7 +30307,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovhpd, 0x17, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28312,7 +30322,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmovhpd, 0x16, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28328,7 +30339,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovhpd, 0x17, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28342,7 +30354,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmovlhps, 0x16, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28358,7 +30371,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovlhps, 0x16, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28374,7 +30388,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovlps, 0x12, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28390,7 +30405,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovlps, 0x13, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28404,7 +30420,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmovlps, 0x12, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28420,7 +30437,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovlps, 0x13, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28434,7 +30452,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmovlpd, 0x12, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28450,7 +30469,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovlpd, 0x13, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28464,7 +30484,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmovlpd, 0x12, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28480,7 +30501,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovlpd, 0x13, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28494,7 +30516,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vmovmskps, 0x50, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28508,7 +30531,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmovmskpd, 0x50, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28522,7 +30546,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmovntdq, 0xe7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28536,7 +30561,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vmovntdq, 0xe7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28550,7 +30576,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vmovntdqa, 0x2a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28564,7 +30591,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovntdqa, 0x2a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28578,7 +30606,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovntps, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28592,7 +30621,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vmovntps, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28606,7 +30636,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vmovntpd, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28620,7 +30651,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vmovntpd, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28634,7 +30666,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vmovq, 0x7e, 2, SPACE_0F, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28648,7 +30681,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovq, 0xd6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28662,7 +30696,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vmovq, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28676,7 +30711,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovq, 0x6e, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28690,7 +30726,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovq, 0x7e, 2, SPACE_0F, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 2, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 2, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28704,7 +30741,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovq, 0xd6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28718,7 +30756,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vmovss, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28732,7 +30771,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovss, 0x10, 3, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28748,7 +30788,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovss, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28762,7 +30803,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovss, 0x10, 3, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28778,7 +30820,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovsd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28792,7 +30835,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovsd, 0x10, 3, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28808,7 +30852,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovsd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 4, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 4, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28822,7 +30867,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovsd, 0x10, 3, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28838,7 +30884,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovshdup, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28852,7 +30899,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovshdup, 0x16, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28866,7 +30914,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovsldup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28880,7 +30929,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovsldup, 0x12, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28894,7 +30944,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovups, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28908,7 +30959,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovups, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28922,7 +30974,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovupd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28936,7 +30989,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmovupd, 0x10, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28950,7 +31004,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmpsadbw, 0x42, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28968,7 +31023,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmulps, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -28984,7 +31040,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmulps, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29000,7 +31057,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmulpd, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29016,7 +31074,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vmulpd, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29032,7 +31091,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmulss, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29048,7 +31108,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmulss, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29064,7 +31125,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmulsd, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29080,7 +31142,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmulsd, 0x59, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29096,7 +31159,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vorps, 0x56, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29112,7 +31176,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vorps, 0x56, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29128,7 +31193,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vorpd, 0x56, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29144,7 +31210,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vorpd, 0x56, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29160,7 +31227,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpabsb, 0x1c | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29174,7 +31242,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpabsb, 0x1c | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29188,7 +31257,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpabsw, 0x1c | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29202,7 +31272,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpabsw, 0x1c | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29216,7 +31287,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpabsd, 0x1e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29230,7 +31302,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpabsd, 0x1e | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29244,7 +31317,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpackssdw, 0x6b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29260,7 +31334,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpackssdw, 0x6b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29276,7 +31351,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpacksswb, 0x63, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29292,7 +31368,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpacksswb, 0x63, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29308,7 +31385,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpackusdw, 0x2b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29324,7 +31402,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpackusdw, 0x2b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29340,7 +31419,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpackuswb, 0x67, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29356,7 +31436,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpackuswb, 0x67, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29372,7 +31453,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddsb, 0xec | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29388,7 +31470,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddsb, 0xec | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29404,7 +31487,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddsw, 0xec | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29420,7 +31504,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddsw, 0xec | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29436,7 +31521,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddb, 0xfc | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29452,7 +31538,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddb, 0xfc | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29468,7 +31555,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddw, 0xfc | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29484,7 +31572,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddw, 0xfc | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29500,7 +31589,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddd, 0xfe, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29516,7 +31606,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddd, 0xfe, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29532,7 +31623,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddq, 0xd4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29548,7 +31640,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddq, 0xd4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29564,7 +31657,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddusb, 0xdc | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29580,7 +31674,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddusb, 0xdc | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29596,7 +31691,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpaddusw, 0xdc | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29612,7 +31708,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpaddusw, 0xdc | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29628,7 +31725,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpalignr, 0x0f, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29646,7 +31744,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpalignr, 0x0f, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29664,7 +31763,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpand, 0xdb, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29680,7 +31780,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpandn, 0xdf, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29696,7 +31797,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpavgb, 0xe0 | (3 * 0), 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29712,7 +31814,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpavgb, 0xe0 | (3 * 0), 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29728,7 +31831,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpavgw, 0xe0 | (3 * 1), 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29744,7 +31848,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpavgw, 0xe0 | (3 * 1), 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29760,7 +31865,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpblendvb, 0x4c, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29778,7 +31884,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpblendw, 0x0e, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29796,7 +31903,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqb, 0x74 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29812,7 +31920,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqb, 0x74 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29828,7 +31937,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqb, 0x3f, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29844,7 +31954,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqw, 0x74 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29860,7 +31971,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqw, 0x74 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29876,7 +31988,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqw, 0x3f, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29892,7 +32005,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqd, 0x76, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29908,7 +32022,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqd, 0x76, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29924,7 +32039,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqd, 0x1f, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29940,7 +32056,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqq, 0x29, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29956,7 +32073,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqq, 0x29, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29972,7 +32090,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpeqq, 0x1f, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -29988,7 +32107,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpestri, 0x61, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30004,7 +32124,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpestri, 0x61, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30020,7 +32141,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpestrm, 0x60, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30036,7 +32158,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpestrm, 0x60, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30052,7 +32175,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtb, 0x64 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30068,7 +32192,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtb, 0x64 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30084,7 +32209,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtw, 0x64 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30100,7 +32226,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtw, 0x64 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30116,7 +32243,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtd, 0x66, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30132,7 +32260,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtd, 0x66, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30148,7 +32277,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtq, 0x37, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30164,7 +32294,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcmpgtq, 0x37, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30180,7 +32311,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpistri, 0x63, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30196,7 +32328,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpistrm, 0x62, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30212,7 +32345,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vperm2f128, 0x06, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30230,7 +32364,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpermilps, 0x0c | 0, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30246,7 +32381,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpermilps, 0x04 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30262,7 +32398,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpermilps, 0x04 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30278,7 +32415,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermilps, 0x0c | 0, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30294,7 +32432,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermilpd, 0x0c | 1, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30310,7 +32449,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpermilpd, 0x04 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30326,7 +32466,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpermilpd, 0x04 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30342,7 +32483,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermilpd, 0x0c | 1, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30358,7 +32500,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpextrd, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30374,7 +32517,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpextrd, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30390,7 +32534,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpextrq, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30406,7 +32551,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpextrq, 0x16, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30422,7 +32568,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpextrw, 0xc5, 3, SPACE_0F, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30438,7 +32585,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30454,7 +32602,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30470,7 +32619,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpextrw, 0xc5, 3, SPACE_0F, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30486,7 +32636,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30502,7 +32653,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpextrw, 0x14 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30518,7 +32670,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30534,7 +32687,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30550,7 +32704,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30566,7 +32721,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpextrb, 0x14 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30582,7 +32738,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vphaddd, 0x02, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30598,7 +32755,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vphaddsw, 0x03, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30614,7 +32772,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vphaddw, 0x01, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30630,7 +32789,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vphminposuw, 0x41, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30644,7 +32804,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphsubd, 0x06, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30660,7 +32821,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vphsubsw, 0x07, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30676,7 +32838,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vphsubw, 0x05, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30692,7 +32855,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpinsrb, 0x20, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30710,7 +32874,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrb, 0x20, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30728,7 +32893,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrb, 0x20, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30746,7 +32912,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrb, 0x20, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30764,7 +32931,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrd, 0x22, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30782,7 +32950,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrd, 0x22, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30800,7 +32969,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrq, 0x22, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30818,7 +32988,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrq, 0x22, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30836,7 +33007,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrw, 0xc4, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30854,7 +33026,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrw, 0xc4, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30872,7 +33045,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrw, 0xc4, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30890,7 +33064,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpinsrw, 0xc4, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30908,7 +33083,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmaddubsw, 0x04, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30924,7 +33100,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaddubsw, 0x04, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30940,7 +33117,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaddwd, 0xf5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30956,7 +33134,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaddwd, 0xf5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30972,7 +33151,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxsb, 0x3c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -30988,7 +33168,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaxsb, 0x3c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31004,7 +33185,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxsd, 0x3d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31020,7 +33202,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaxsd, 0x3d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31036,7 +33219,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxsw, 0xee, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31052,7 +33236,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaxsw, 0xee, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31068,7 +33253,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxub, 0xde, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31084,7 +33270,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaxub, 0xde, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31100,7 +33287,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxud, 0x3f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31116,7 +33304,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaxud, 0x3f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31132,7 +33321,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxuw, 0x3e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31148,7 +33338,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaxuw, 0x3e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31164,7 +33355,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminsb, 0x38, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31180,7 +33372,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpminsb, 0x38, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31196,7 +33389,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminsd, 0x39, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31212,7 +33406,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpminsd, 0x39, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31228,7 +33423,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminsw, 0xea, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31244,7 +33440,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpminsw, 0xea, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31260,7 +33457,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminub, 0xda, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31276,7 +33474,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpminub, 0xda, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31292,7 +33491,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminud, 0x3b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31308,7 +33508,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpminud, 0x3b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31324,7 +33525,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminuw, 0x3a, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31340,7 +33542,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpminuw, 0x3a, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31356,7 +33559,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmovmskb, 0xd7, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31370,7 +33574,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbd, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31384,7 +33589,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbd, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31398,7 +33604,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbd, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31412,7 +33619,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpmovsxbd, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31426,7 +33634,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbd, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31440,7 +33649,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbq, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31454,7 +33664,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbq, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31468,7 +33679,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbq, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31482,7 +33694,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpmovsxbq, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31496,7 +33709,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbq, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31510,7 +33724,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbw, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31524,7 +33739,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbw, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31538,7 +33754,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbw, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31552,7 +33769,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpmovsxbw, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31566,7 +33784,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxbw, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31580,7 +33799,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxdq, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31594,7 +33814,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxdq, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31608,7 +33829,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxdq, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31622,7 +33844,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpmovsxdq, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31636,7 +33859,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxdq, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31650,7 +33874,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxwd, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31664,7 +33889,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxwd, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31678,7 +33904,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxwd, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31692,7 +33919,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpmovsxwd, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31706,7 +33934,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxwd, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31720,7 +33949,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxwq, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31734,7 +33964,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxwq, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31748,7 +33979,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovsxwq, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31762,7 +33994,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpmovsxwq, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31776,7 +34009,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovsxwq, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31790,7 +34024,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbd, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31804,7 +34039,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbd, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31818,7 +34054,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbd, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31832,7 +34069,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpmovzxbd, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31846,7 +34084,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbd, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31860,7 +34099,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbq, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31874,7 +34114,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbq, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31888,7 +34129,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbq, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31902,7 +34144,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpmovzxbq, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31916,7 +34159,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbq, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31930,7 +34174,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbw, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31944,7 +34189,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbw, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31958,7 +34204,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbw, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31972,7 +34219,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpmovzxbw, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -31986,7 +34234,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxbw, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32000,7 +34249,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxdq, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32014,7 +34264,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxdq, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32028,7 +34279,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxdq, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32042,7 +34294,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpmovzxdq, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32056,7 +34309,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxdq, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32070,7 +34324,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxwd, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32084,7 +34339,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxwd, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32098,7 +34354,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxwd, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32112,7 +34369,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpmovzxwd, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32126,7 +34384,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxwd, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32140,7 +34399,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxwq, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32154,7 +34414,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxwq, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32168,7 +34429,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmovzxwq, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32182,7 +34444,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpmovzxwq, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32196,7 +34459,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovzxwq, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32210,7 +34474,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmuldq, 0x28, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32226,7 +34491,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmuldq, 0x28, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32242,7 +34508,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmulhrsw, 0x0b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32258,7 +34525,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmulhrsw, 0x0b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32274,7 +34542,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmulhuw, 0xe4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32290,7 +34559,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmulhuw, 0xe4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32306,7 +34576,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmulhw, 0xe5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32322,7 +34593,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmulhw, 0xe5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32338,7 +34610,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmulld, 0x40, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32354,7 +34627,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmulld, 0x40, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32370,7 +34644,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmullw, 0xd5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32386,7 +34661,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmullw, 0xd5, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32402,7 +34678,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmuludq, 0xf4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32418,7 +34695,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmuludq, 0xf4, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32434,7 +34712,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpor, 0xeb, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32450,7 +34729,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsadbw, 0xf6, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32466,7 +34746,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsadbw, 0xf6, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32482,7 +34763,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshufb, 0x00, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32498,7 +34780,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpshufb, 0x00, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32514,7 +34797,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshufd, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32530,7 +34814,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpshufd, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32546,7 +34831,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshufhw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32562,7 +34848,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpshufhw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32578,7 +34865,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshuflw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32594,7 +34882,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpshuflw, 0x70, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32610,7 +34899,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsignb, 0x08 | 0, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32626,7 +34916,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsignw, 0x08 | 1, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32642,7 +34933,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsignd, 0x0a, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32658,7 +34950,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpslld, 0x72 | 0, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32674,7 +34967,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpslld, 0xf2 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32690,7 +34984,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpslld, 0xf2 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32706,7 +35001,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpslld, 0x72 | 0, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32722,7 +35018,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsllq, 0x72 | 1, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32738,7 +35035,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsllq, 0xf2 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32754,7 +35052,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsllq, 0xf2 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32770,7 +35069,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsllq, 0x72 | 1, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32786,7 +35086,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpslldq, 0x73, 3, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32802,7 +35103,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpslldq, 0x73, 3, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32818,7 +35120,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsllw, 0x71, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32834,7 +35137,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsllw, 0xf1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32850,7 +35154,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsllw, 0x71, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32866,7 +35171,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsllw, 0xf1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32882,7 +35188,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrad, 0x72, 3, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32898,7 +35205,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrad, 0xe2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32914,7 +35222,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrad, 0xe2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32930,7 +35239,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrad, 0x72, 3, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32946,7 +35256,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsraw, 0x71, 3, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32962,7 +35273,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsraw, 0xe1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32978,7 +35290,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsraw, 0x71, 3, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -32994,7 +35307,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsraw, 0xe1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33010,7 +35324,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrld, 0x72 | 0, 3, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33026,7 +35341,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrld, 0xd2 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33042,7 +35358,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrld, 0xd2 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33058,7 +35375,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrld, 0x72 | 0, 3, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33074,7 +35392,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlq, 0x72 | 1, 3, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33090,7 +35409,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrlq, 0xd2 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33106,7 +35426,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrlq, 0xd2 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33122,7 +35443,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlq, 0x72 | 1, 3, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33138,7 +35460,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrldq, 0x73, 3, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33154,7 +35477,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrldq, 0x73, 3, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33170,7 +35494,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlw, 0x71, 3, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33186,7 +35511,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrlw, 0xd1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33202,7 +35528,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrlw, 0x71, 3, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33218,7 +35545,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlw, 0xd1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33234,7 +35562,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubb, 0xf8 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33250,7 +35579,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubb, 0xf8 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33266,7 +35596,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubw, 0xf8 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33282,7 +35613,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubw, 0xf8 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33298,7 +35630,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubd, 0xfa | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33314,7 +35647,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubd, 0xfa | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33330,7 +35664,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubq, 0xfa | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33346,7 +35681,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubq, 0xfa | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33362,7 +35698,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubsb, 0xe8 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33378,7 +35715,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubsb, 0xe8 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33394,7 +35732,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubsw, 0xe8 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33410,7 +35749,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubsw, 0xe8 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33426,7 +35766,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubusb, 0xd8 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33442,7 +35783,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubusb, 0xd8 | 0, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33458,7 +35800,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsubusw, 0xd8 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33474,7 +35817,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsubusw, 0xd8 | 1, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33490,7 +35834,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vptest, 0x17, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33504,7 +35849,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpckhbw, 0x68, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33520,7 +35866,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpckhbw, 0x68, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33536,7 +35883,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpckhdq, 0x6a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33552,7 +35900,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpckhdq, 0x6a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33568,7 +35917,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpckhqdq, 0x6d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33584,7 +35934,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpckhqdq, 0x6d, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33600,7 +35951,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpckhwd, 0x69, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33616,7 +35968,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpckhwd, 0x69, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33632,7 +35985,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpcklbw, 0x60, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33648,7 +36002,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpcklbw, 0x60, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33664,7 +36019,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpckldq, 0x62, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33680,7 +36036,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpckldq, 0x62, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33696,7 +36053,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpcklqdq, 0x6c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33712,7 +36070,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpcklqdq, 0x6c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33728,7 +36087,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpunpcklwd, 0x61, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33744,7 +36104,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpunpcklwd, 0x61, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33760,7 +36121,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpxor, 0xef, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33776,7 +36138,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vrcpps, 0x53, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33790,7 +36153,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vrcpss, 0x53, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33806,7 +36170,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vroundps, 0x08 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33822,7 +36187,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vroundpd, 0x08 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33838,7 +36204,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vroundss, 0x0a | 0, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33856,7 +36223,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vroundsd, 0x0a | 1, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33874,7 +36242,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrsqrtps, 0x52, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33888,7 +36257,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vrsqrtss, 0x52, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33904,7 +36274,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vshufps, 0xc6, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33922,7 +36293,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vshufps, 0xc6, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33940,7 +36312,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vshufpd, 0xc6, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33958,7 +36331,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vshufpd, 0xc6, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33976,7 +36350,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsqrtps, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -33990,7 +36365,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vsqrtps, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34004,7 +36380,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsqrtpd, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34018,7 +36395,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vsqrtpd, 0x51, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34032,7 +36410,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsqrtss, 0x51, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34048,7 +36427,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vsqrtss, 0x51, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34064,7 +36444,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vsqrtsd, 0x51, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34080,7 +36461,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vsqrtsd, 0x51, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34096,7 +36478,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vstmxcsr, 0xae, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34108,7 +36491,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vsubps, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34124,7 +36508,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vsubps, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34140,7 +36525,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsubpd, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34156,7 +36542,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vsubpd, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34172,7 +36559,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsubss, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34188,7 +36576,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vsubss, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34204,7 +36593,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vsubsd, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34220,7 +36610,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vsubsd, 0x5c, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34236,7 +36627,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vtestps, 0x0e | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34250,7 +36642,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vtestpd, 0x0e | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34264,7 +36657,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vucomiss, 0x2e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34278,7 +36672,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vucomiss, 0x2e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34292,7 +36687,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vucomisd, 0x2e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34306,7 +36702,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vucomisd, 0x2e, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34320,7 +36717,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vunpckhps, 0x15, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34336,7 +36734,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vunpckhps, 0x15, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34352,7 +36751,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vunpckhpd, 0x15, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34368,7 +36768,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vunpckhpd, 0x15, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34384,7 +36785,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vunpcklps, 0x14, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34400,7 +36802,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vunpcklps, 0x14, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34416,7 +36819,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vunpcklpd, 0x14, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34432,7 +36836,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vunpcklpd, 0x14, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34448,7 +36853,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vxorps, 0x57, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34464,7 +36870,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vxorps, 0x57, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34480,7 +36887,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vxorpd, 0x57, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34496,7 +36904,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vxorpd, 0x57, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34512,7 +36921,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vzeroall, 0x77, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34524,7 +36934,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vzeroupper, 0x77, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34536,7 +36947,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vbroadcasti128, 0x5a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34550,7 +36962,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpblendd, 0x02, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34568,7 +36981,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpbroadcastb, 0x78 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34582,7 +36996,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpbroadcastb, 0x78 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34596,7 +37011,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastb, 0x7a | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34610,7 +37026,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastw, 0x78 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34624,7 +37041,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpbroadcastw, 0x78 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34638,7 +37056,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastw, 0x7a | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34652,7 +37071,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastd, 0x58 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34666,7 +37086,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpbroadcastd, 0x58 | 0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34680,7 +37101,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastd, 0x7c, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34694,7 +37116,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastq, 0x58 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34708,7 +37131,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpbroadcastq, 0x58 | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34722,7 +37146,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastq, 0x7c, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34736,7 +37161,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vperm2i128, 0x46, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34754,7 +37180,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpermd, 0x36, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34770,7 +37197,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpermd, 0x36, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34786,7 +37214,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vpermpd, 0x01, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34802,7 +37231,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpermpd, 0x01, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34818,7 +37248,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vpermpd, 0x16, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34834,7 +37265,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vpermps, 0x16, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34850,7 +37282,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpermps, 0x16, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34866,7 +37299,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vpermq, 0x00, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34882,7 +37316,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpermq, 0x00, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34898,7 +37333,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vpermq, 0x36, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34914,7 +37350,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vextracti128, 0x39, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34930,7 +37367,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vinserti128, 0x38, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34948,7 +37386,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaskmovd, 0x8e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34964,7 +37403,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vpmaskmovd, 0x8c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34980,7 +37420,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmaskmovq, 0x8e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -34996,7 +37437,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 1, 0 } } } }, + { MN_vpmaskmovq, 0x8c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35012,7 +37454,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsllvd, 0x47, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35028,7 +37471,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsllvd, 0x47, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35044,7 +37488,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsllvq, 0x47, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35060,7 +37505,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsllvq, 0x47, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35076,7 +37522,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsravd, 0x46, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35092,7 +37539,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsravd, 0x46, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35108,7 +37556,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlvd, 0x45, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35124,7 +37573,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrlvd, 0x45, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35140,7 +37590,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlvq, 0x45, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35156,7 +37607,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpsrlvq, 0x45, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35172,7 +37624,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgatherdpd, 0x92, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35188,7 +37641,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vgatherdpd, 0x92, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35202,7 +37656,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vgatherdpd, 0x92, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35216,7 +37671,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vgatherdps, 0x92, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35232,7 +37688,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherdps, 0x92, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35248,7 +37705,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vgatherdps, 0x92, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35262,7 +37720,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vgatherdps, 0x92, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35276,7 +37735,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherdps, 0x92, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35290,7 +37750,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vgatherqps, 0x93, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35306,7 +37767,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherqps, 0x93, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35322,7 +37784,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherqps, 0x93, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35336,7 +37799,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vgatherqps, 0x93, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35350,7 +37814,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherqps, 0x93, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35364,7 +37829,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherqpd, 0x93, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35380,7 +37846,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherqpd, 0x93, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35396,7 +37863,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vgatherqpd, 0x93, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35410,7 +37878,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vgatherqpd, 0x93, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35424,7 +37893,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherqpd, 0x93, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 2, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 2, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35438,7 +37908,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpgatherdd, 0x90, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35454,7 +37925,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpgatherdd, 0x90, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35470,7 +37942,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpgatherdd, 0x90, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35484,7 +37957,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpgatherdd, 0x90, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35498,7 +37972,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpgatherdd, 0x90, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35512,7 +37987,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpgatherdq, 0x90, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35528,7 +38004,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpgatherdq, 0x90, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35542,7 +38019,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpgatherdq, 0x90, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35556,7 +38034,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpgatherqd, 0x91, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35572,7 +38051,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpgatherqd, 0x91, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35588,7 +38068,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpgatherqd, 0x91, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35602,7 +38083,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpgatherqd, 0x91, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35616,7 +38098,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpgatherqd, 0x91, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35630,7 +38113,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpgatherqq, 0x91, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35646,7 +38130,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpgatherqq, 0x91, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35662,7 +38147,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vpgatherqq, 0x91, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35676,7 +38162,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpgatherqq, 0x91, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35690,7 +38177,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpgatherqq, 0x91, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 2, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 2, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35704,7 +38192,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vaesdec, 0xde, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35720,7 +38209,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaesdec, 0xde, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35736,7 +38226,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vaesdec, 0xde, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35752,7 +38243,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35768,7 +38260,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35784,7 +38277,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35800,7 +38294,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaesenc, 0xdc, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35816,7 +38311,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaesenc, 0xdc, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35832,7 +38328,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vaesenc, 0xdc, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35848,7 +38345,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaesenclast, 0xdd, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35864,7 +38362,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaesenclast, 0xdd, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35880,7 +38379,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vaesenclast, 0xdd, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35896,7 +38396,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaesimc, 0xdb, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35910,7 +38411,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vaeskeygenassist, 0xdf, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35926,7 +38428,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmulqdq, 0x44, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35944,7 +38447,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmulqdq, 0x44, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35962,7 +38466,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpclmulqdq, 0x44, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35980,7 +38485,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpclmullqlqdq, 0x44, 3, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -35996,7 +38502,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmullqlqdq, 0x44, 3, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36012,7 +38519,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpclmullqlqdq, 0x44, 3, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36028,7 +38536,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpclmulhqlqdq, 0x44, 3, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36044,7 +38553,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmulhqlqdq, 0x44, 3, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36060,7 +38570,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpclmulhqlqdq, 0x44, 3, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36076,7 +38587,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpclmullqhqdq, 0x44, 3, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36092,7 +38604,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmullqhqdq, 0x44, 3, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36108,7 +38621,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpclmullqhqdq, 0x44, 3, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36124,7 +38638,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpclmulhqhqdq, 0x44, 3, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36140,7 +38655,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpclmulhqhqdq, 0x44, 3, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36156,7 +38672,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpclmulhqhqdq, 0x44, 3, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36172,7 +38689,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgf2p8affineinvqb, 0xcf, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36190,7 +38708,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vgf2p8affineinvqb, 0xcf, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36208,7 +38727,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgf2p8affineqb, 0xce, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36226,7 +38746,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vgf2p8affineqb, 0xce, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36244,7 +38765,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgf2p8mulb, 0xcf, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36260,7 +38782,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vgf2p8mulb, 0xcf, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36276,7 +38799,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_rdfsbase, 0xae, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -36288,7 +38812,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdgsbase, 0xae, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -36300,7 +38825,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdrand, 0xc7, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +@@ -36312,7 +38838,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wrfsbase, 0xae, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -36324,7 +38851,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wrgsbase, 0xae, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +@@ -36336,7 +38864,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtph2ps, 0x13, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36350,7 +38879,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtph2ps, 0x13, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36364,7 +38894,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtph2ps, 0x13, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36378,7 +38909,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtph2ps, 0x13, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36392,7 +38924,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtph2ps, 0x13, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36406,7 +38939,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtps2ph, 0x1d, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36422,7 +38956,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vcvtps2ph, 0x1d, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36438,7 +38973,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vcvtps2ph, 0x1d, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36454,7 +38990,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vcvtps2ph, 0x1d, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36470,7 +39007,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vcvtps2ph, 0x1d, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36486,7 +39024,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vfmadd132ps, 0x88 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36502,7 +39041,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmadd132ps, 0x88 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36518,7 +39058,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd132pd, 0x88 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36534,7 +39075,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmadd132pd, 0x88 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36550,7 +39092,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd213ps, 0x88 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36566,7 +39109,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmadd213ps, 0x88 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36582,7 +39126,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd213pd, 0x88 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36598,7 +39143,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmadd213pd, 0x88 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36614,7 +39160,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd231ps, 0x88 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36630,7 +39177,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmadd231ps, 0x88 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36646,7 +39194,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd231pd, 0x88 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36662,7 +39211,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmadd231pd, 0x88 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36678,7 +39228,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd132ss, 0x89 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36694,7 +39245,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd132ss, 0x89 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36710,7 +39262,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd132sd, 0x89 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36726,7 +39279,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd132sd, 0x89 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36742,7 +39296,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd213ss, 0x89 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36758,7 +39313,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd213ss, 0x89 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36774,7 +39330,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd213sd, 0x89 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36790,7 +39347,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd213sd, 0x89 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36806,7 +39364,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd231ss, 0x89 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36822,7 +39381,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd231ss, 0x89 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36838,7 +39398,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd231sd, 0x89 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36854,7 +39415,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd231sd, 0x89 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36870,7 +39432,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmaddsub132ps, 0x86 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36886,7 +39449,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmaddsub132ps, 0x86 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36902,7 +39466,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddsub132pd, 0x86 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36918,7 +39483,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmaddsub132pd, 0x86 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36934,7 +39500,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddsub213ps, 0x86 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36950,7 +39517,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmaddsub213ps, 0x86 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36966,7 +39534,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddsub213pd, 0x86 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36982,7 +39551,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmaddsub213pd, 0x86 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -36998,7 +39568,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddsub231ps, 0x86 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37014,7 +39585,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmaddsub231ps, 0x86 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37030,7 +39602,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddsub231pd, 0x86 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37046,7 +39619,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmaddsub231pd, 0x86 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37062,7 +39636,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub132ps, 0x8a | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37078,7 +39653,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsub132ps, 0x8a | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37094,7 +39670,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub132pd, 0x8a | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37110,7 +39687,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsub132pd, 0x8a | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37126,7 +39704,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub213ps, 0x8a | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37142,7 +39721,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsub213ps, 0x8a | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37158,7 +39738,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub213pd, 0x8a | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37174,7 +39755,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsub213pd, 0x8a | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37190,7 +39772,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub231ps, 0x8a | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37206,7 +39789,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsub231ps, 0x8a | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37222,7 +39806,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub231pd, 0x8a | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37238,7 +39823,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsub231pd, 0x8a | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37254,7 +39840,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub132ss, 0x8b | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37270,7 +39857,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub132ss, 0x8b | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37286,7 +39874,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub132sd, 0x8b | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37302,7 +39891,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub132sd, 0x8b | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37318,7 +39908,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub213ss, 0x8b | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37334,7 +39925,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub213ss, 0x8b | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37350,7 +39942,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub213sd, 0x8b | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37366,7 +39959,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub213sd, 0x8b | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37382,7 +39976,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub231ss, 0x8b | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37398,7 +39993,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub231ss, 0x8b | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37414,7 +40010,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub231sd, 0x8b | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37430,7 +40027,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub231sd, 0x8b | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37446,7 +40044,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsubadd132ps, 0x87 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37462,7 +40061,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubadd132ps, 0x87 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37478,7 +40078,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsubadd132pd, 0x87 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37494,7 +40095,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubadd132pd, 0x87 | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37510,7 +40112,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsubadd213ps, 0x87 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37526,7 +40129,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubadd213ps, 0x87 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37542,7 +40146,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsubadd213pd, 0x87 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37558,7 +40163,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubadd213pd, 0x87 | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37574,7 +40180,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsubadd231ps, 0x87 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37590,7 +40197,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubadd231ps, 0x87 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37606,7 +40214,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsubadd231pd, 0x87 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37622,7 +40231,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubadd231pd, 0x87 | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37638,7 +40248,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd132ps, 0x8c | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37654,7 +40265,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmadd132ps, 0x8c | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37670,7 +40282,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd132pd, 0x8c | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37686,7 +40299,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmadd132pd, 0x8c | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37702,7 +40316,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd213ps, 0x8c | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37718,7 +40333,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmadd213ps, 0x8c | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37734,7 +40350,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd213pd, 0x8c | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37750,7 +40367,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmadd213pd, 0x8c | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37766,7 +40384,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd231ps, 0x8c | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37782,7 +40401,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmadd231ps, 0x8c | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37798,7 +40418,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd231pd, 0x8c | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37814,7 +40435,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmadd231pd, 0x8c | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37830,7 +40452,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd132ss, 0x8d | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37846,7 +40469,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd132ss, 0x8d | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37862,7 +40486,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd132sd, 0x8d | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37878,7 +40503,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd132sd, 0x8d | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37894,7 +40520,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd213ss, 0x8d | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37910,7 +40537,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd213ss, 0x8d | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37926,7 +40554,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd213sd, 0x8d | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37942,7 +40571,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd213sd, 0x8d | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37958,7 +40588,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd231ss, 0x8d | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37974,7 +40605,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd231ss, 0x8d | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -37990,7 +40622,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd231sd, 0x8d | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38006,7 +40639,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd231sd, 0x8d | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38022,7 +40656,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub132ps, 0x8e | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38038,7 +40673,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmsub132ps, 0x8e | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38054,7 +40690,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub132pd, 0x8e | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38070,7 +40707,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmsub132pd, 0x8e | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38086,7 +40724,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub213ps, 0x8e | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38102,7 +40741,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmsub213ps, 0x8e | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38118,7 +40758,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub213pd, 0x8e | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38134,7 +40775,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmsub213pd, 0x8e | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38150,7 +40792,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub231ps, 0x8e | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38166,7 +40809,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmsub231ps, 0x8e | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38182,7 +40826,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub231pd, 0x8e | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38198,7 +40843,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmsub231pd, 0x8e | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38214,7 +40860,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub132ss, 0x8f | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38230,7 +40877,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub132ss, 0x8f | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38246,7 +40894,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub132sd, 0x8f | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38262,7 +40911,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub132sd, 0x8f | 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38278,7 +40928,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub213ss, 0x8f | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38294,7 +40945,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub213ss, 0x8f | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38310,7 +40962,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub213sd, 0x8f | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38326,7 +40979,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub213sd, 0x8f | 0x20, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38342,7 +40996,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub231ss, 0x8f | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38358,7 +41013,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub231ss, 0x8f | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38374,7 +41030,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub231sd, 0x8f | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38390,7 +41047,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub231sd, 0x8f | 0x30, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38406,7 +41064,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_xacquire, 0xf2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38418,7 +41077,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xrelease, 0xf3, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38430,7 +41090,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xabort, 0xc6f8, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38442,7 +41103,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xbegin, 0xc7f8, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38454,7 +41116,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xend, 0x01d5, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38466,7 +41129,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xtest, 0x01d6, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38478,7 +41142,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bzhi, 0xf5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38494,7 +41159,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mulx, 0xf6, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38510,7 +41176,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pdep, 0xf5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38526,7 +41193,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pext, 0xf5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38542,7 +41210,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rorx, 0xf0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38558,7 +41227,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sarx, 0xf7, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38574,7 +41244,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_shlx, 0xf7, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38590,7 +41261,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_shrx, 0xf7, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38606,7 +41278,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfmaddps, 0x68 | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38624,7 +41297,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmaddpd, 0x68 | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38642,7 +41316,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmaddss, 0x6a | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38660,7 +41335,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmaddsd, 0x6a | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38678,7 +41354,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmaddsubps, 0x5c | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38696,7 +41373,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmaddsubpd, 0x5c | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38714,7 +41392,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubaddps, 0x5e | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38732,7 +41411,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubaddpd, 0x5e | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38750,7 +41430,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubps, 0x6c | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38768,7 +41449,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubpd, 0x6c | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38786,7 +41468,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfmsubss, 0x6e | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38804,7 +41487,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsubsd, 0x6e | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38822,7 +41506,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmaddps, 0x78 | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38840,7 +41525,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmaddpd, 0x78 | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38858,7 +41544,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmaddss, 0x7a | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38876,7 +41563,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmaddsd, 0x7a | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38894,7 +41582,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsubps, 0x7c | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38912,7 +41601,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmsubpd, 0x7c | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38930,7 +41620,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfnmsubss, 0x7e | 0, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38948,7 +41639,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsubsd, 0x7e | 1, 4, SPACE_0F3A, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38966,7 +41658,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfrczps, 0x80 | 0, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38980,7 +41673,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfrczpd, 0x80 | 1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -38994,7 +41688,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vfrczss, 0x82 | 0, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39008,7 +41703,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfrczsd, 0x82 | 1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39022,7 +41718,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmov, 0xa2, 4, SPACE_XOP08, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39040,7 +41737,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpcomb, 0xcc | 0x00 | 0, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39058,7 +41756,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomw, 0xcc | 0x00 | 1, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39076,7 +41775,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomd, 0xcc | 0x00 | 2, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39094,7 +41794,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomq, 0xcc | 0x00 | 3, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39112,7 +41813,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomub, 0xcc | 0x20 | 0, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39130,7 +41832,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomuw, 0xcc | 0x20 | 1, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39148,7 +41851,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomud, 0xcc | 0x20 | 2, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39166,7 +41870,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomuq, 0xcc | 0x20 | 3, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39184,7 +41889,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39200,7 +41906,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltw, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39216,7 +41923,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltd, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39232,7 +41940,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39248,7 +41957,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39264,7 +41974,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39280,7 +41991,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39296,7 +42008,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomltuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39312,7 +42025,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomleb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39328,7 +42042,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomlew, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39344,7 +42059,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomled, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39360,7 +42076,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomleq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39376,7 +42093,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomleub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39392,7 +42110,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomleuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39408,7 +42127,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomleud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39424,7 +42144,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomleuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39440,7 +42161,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39456,7 +42178,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtw, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39472,7 +42195,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtd, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39488,7 +42212,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39504,7 +42229,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39520,7 +42246,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39536,7 +42263,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39552,7 +42280,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgtuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39568,7 +42297,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgeb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39584,7 +42314,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgew, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39600,7 +42331,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomged, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39616,7 +42348,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgeq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39632,7 +42365,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgeub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39648,7 +42382,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgeuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39664,7 +42399,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgeud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39680,7 +42416,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomgeuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39696,7 +42433,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomeqb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39712,7 +42450,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomeqw, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39728,7 +42467,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomeqd, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39744,7 +42484,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomeqq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39760,7 +42501,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomequb, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39776,7 +42518,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomequw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39792,7 +42535,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomequd, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39808,7 +42552,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomequq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39824,7 +42569,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomneqb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39840,7 +42586,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomneqw, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39856,7 +42603,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomneqd, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39872,7 +42620,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomneqq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39888,7 +42637,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomnequb, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39904,7 +42654,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomnequw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39920,7 +42671,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomnequd, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39936,7 +42688,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomnequq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39952,7 +42705,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalseb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39968,7 +42722,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalsew, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -39984,7 +42739,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalsed, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40000,7 +42756,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalseq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40016,7 +42773,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalseub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40032,7 +42790,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalseuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40048,7 +42807,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalseud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40064,7 +42824,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomfalseuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40080,7 +42841,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrueb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40096,7 +42858,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtruew, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40112,7 +42875,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrued, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40128,7 +42892,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrueq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40144,7 +42909,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrueub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40160,7 +42926,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrueuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40176,7 +42943,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrueud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40192,7 +42960,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpcomtrueuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40208,7 +42977,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpermil2ps, 0x48 | 0, 5, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40228,7 +42998,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpermil2ps, 0x48 | 0, 5, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40248,7 +43019,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpermil2pd, 0x48 | 1, 5, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40268,7 +43040,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpermil2pd, 0x48 | 1, 5, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40288,7 +43061,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vphaddbd, 0xc2 | 0, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40302,7 +43076,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddbq, 0xc2 | 1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40316,7 +43091,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddbw, 0xc1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40330,7 +43106,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphadddq, 0xcb, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40344,7 +43121,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddubd, 0xd2 | 0, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40358,7 +43136,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddubq, 0xd2 | 1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40372,7 +43151,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddubw, 0xd1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40386,7 +43166,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddudq, 0xdb, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40400,7 +43181,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphadduwd, 0xd6 | 0, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40414,7 +43196,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphadduwq, 0xd6 | 1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40428,7 +43211,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddwd, 0xc6 | 0, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40442,7 +43226,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphaddwq, 0xc6 | 1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40456,7 +43241,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphsubbw, 0xe1, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40470,7 +43256,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphsubdq, 0xe3, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40484,7 +43271,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vphsubwd, 0xe2, 2, SPACE_XOP09, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40498,7 +43286,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacsdd, 0x9e, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40516,7 +43305,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacsdqh, 0x9f, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40534,7 +43324,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacsdql, 0x97, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40552,7 +43343,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacssdd, 0x8e, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40570,7 +43362,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacssdqh, 0x8f, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40588,7 +43381,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacssdql, 0x87, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40606,7 +43400,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacsswd, 0x86, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40624,7 +43419,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacssww, 0x85, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40642,7 +43438,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacswd, 0x96, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40660,7 +43457,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmacsww, 0x95, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40678,7 +43476,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmadcsswd, 0xa6, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40696,7 +43495,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpmadcswd, 0xb6, 4, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40714,7 +43514,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpperm, 0xa3, 4, SPACE_XOP08, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40732,7 +43533,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotb, 0x90 | 0, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40748,7 +43550,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotb, 0xc0 | 0, 3, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40764,7 +43567,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotw, 0x90 | 1, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40780,7 +43584,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotw, 0xc0 | 1, 3, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40796,7 +43601,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotd, 0x90 | 2, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40812,7 +43618,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotd, 0xc0 | 2, 3, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40828,7 +43635,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotq, 0x90 | 3, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40844,7 +43652,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vprotq, 0xc0 | 3, 3, SPACE_XOP08, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40860,7 +43669,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshab, 0x98 | 0, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40876,7 +43686,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshaw, 0x98 | 1, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40892,7 +43703,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshad, 0x98 | 2, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40908,7 +43720,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshaq, 0x98 | 3, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40924,7 +43737,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshlb, 0x94 | 0, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40940,7 +43754,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshlw, 0x94 | 1, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40956,7 +43771,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshld, 0x94 | 2, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40972,7 +43788,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpshlq, 0x94 | 3, 3, SPACE_XOP09, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -40988,7 +43805,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_llwpcb, 0x12, 1, SPACE_XOP09, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41000,7 +43818,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_slwpcb, 0x12, 1, SPACE_XOP09, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41012,7 +43831,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lwpval, 0x12, 3, SPACE_XOP0A, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41028,7 +43848,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lwpins, 0x12, 3, SPACE_XOP0A, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41044,7 +43865,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_andn, 0xf2, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41060,7 +43882,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bextr, 0xf7, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41076,7 +43899,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bextr, 0x10, 3, SPACE_XOP0A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +@@ -41092,7 +43916,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blsi, 0xf3, 2, SPACE_0F38, 3, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41106,7 +43931,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blsmsk, 0xf3, 2, SPACE_0F38, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41120,7 +43946,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blsr, 0xf3, 2, SPACE_0F38, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41134,7 +43961,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_tzcnt, 0xbc, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41148,7 +43976,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blcfill, 0x01, 2, SPACE_XOP09, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +@@ -41162,7 +43991,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blci, 0x02, 2, SPACE_XOP09, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +@@ -41176,7 +44006,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blcic, 0x01, 2, SPACE_XOP09, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +@@ -41190,7 +44021,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blcmsk, 0x02, 2, SPACE_XOP09, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +@@ -41204,7 +44036,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blcs, 0x01, 2, SPACE_XOP09, 3, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +@@ -41218,7 +44051,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blsfill, 0x01, 2, SPACE_XOP09, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +@@ -41232,7 +44066,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_blsic, 0x01, 2, SPACE_XOP09, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +@@ -41246,7 +44081,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_t1mskc, 0x01, 2, SPACE_XOP09, 7, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +@@ -41260,7 +44096,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_tzmsk, 0x01, 2, SPACE_XOP09, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +@@ -41274,7 +44111,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_prefetch, 0x0d, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41286,7 +44124,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_prefetchw, 0x0d, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41298,7 +44137,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_femms, 0x0e, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41310,7 +44150,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pavgusb, 0x0f, 2, SPACE_0F, 0xbf, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41324,7 +44165,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pf2id, 0x0f, 2, SPACE_0F, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41338,7 +44180,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pf2iw, 0x0f, 2, SPACE_0F, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41352,7 +44195,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfacc, 0x0f, 2, SPACE_0F, 0xae, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41366,7 +44210,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfadd, 0x0f, 2, SPACE_0F, 0x9e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41380,7 +44225,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfcmpeq, 0x0f, 2, SPACE_0F, 0xb0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41394,7 +44240,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfcmpge, 0x0f, 2, SPACE_0F, 0x90, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41408,7 +44255,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfcmpgt, 0x0f, 2, SPACE_0F, 0xa0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41422,7 +44270,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfmax, 0x0f, 2, SPACE_0F, 0xa4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41436,7 +44285,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfmin, 0x0f, 2, SPACE_0F, 0x94, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41450,7 +44300,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfmul, 0x0f, 2, SPACE_0F, 0xb4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41464,7 +44315,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfnacc, 0x0f, 2, SPACE_0F, 0x8a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41478,7 +44330,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfpnacc, 0x0f, 2, SPACE_0F, 0x8e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41492,7 +44345,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfrcp, 0x0f, 2, SPACE_0F, 0x96, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41506,7 +44360,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfrcpit1, 0x0f, 2, SPACE_0F, 0xa6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41520,7 +44375,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfrcpit2, 0x0f, 2, SPACE_0F, 0xb6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41534,7 +44390,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfrsqit1, 0x0f, 2, SPACE_0F, 0xa7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41548,7 +44405,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfrsqrt, 0x0f, 2, SPACE_0F, 0x97, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41562,7 +44420,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfsub, 0x0f, 2, SPACE_0F, 0x9a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41576,7 +44435,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pfsubr, 0x0f, 2, SPACE_0F, 0xaa, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41590,7 +44450,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pi2fd, 0x0f, 2, SPACE_0F, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41604,7 +44465,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pi2fw, 0x0f, 2, SPACE_0F, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41618,7 +44480,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pmulhrw, 0x0f, 2, SPACE_0F, 0xb7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41632,7 +44495,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pswapd, 0x0f, 2, SPACE_0F, 0xbb, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41646,7 +44510,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_syscall, 0x05, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41658,7 +44523,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sysret, 0x07, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41670,7 +44536,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_swapgs, 0x01f8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41682,7 +44549,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdtscp, 0x01f9, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, +@@ -41694,7 +44562,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clgi, 0x01dd, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41706,7 +44575,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invlpga, 0x01df, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41718,7 +44588,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invlpga, 0x01df, 2, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41732,7 +44603,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_skinit, 0x01de, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41744,7 +44616,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_skinit, 0x01de, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41756,7 +44629,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_stgi, 0x01dc, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41768,7 +44642,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmgexit, 0x01d9, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41780,7 +44655,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmload, 0x01da, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41792,7 +44668,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmload, 0x01da, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41804,7 +44681,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmmcall, 0x01d9, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41816,7 +44694,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmrun, 0x01d8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41828,7 +44707,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmrun, 0x01d8, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41840,7 +44720,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmsave, 0x01db, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41852,7 +44733,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmsave, 0x01db, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41864,7 +44746,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movntsd, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41878,7 +44761,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_movntss, 0x2b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41892,7 +44776,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_extrq, 0x78, 3, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41908,7 +44793,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_extrq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41922,7 +44808,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_insertq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41936,7 +44823,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_insertq, 0x78, 4, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41954,7 +44842,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_lzcnt, 0xbd, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41968,7 +44857,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_popcnt, 0xb8, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41982,7 +44872,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xstore_rng, 0xa7c0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -41994,7 +44885,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcrypt_ecb, 0xa7c8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42006,7 +44898,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcrypt_cbc, 0xa7d0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42018,7 +44911,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcrypt_ctr, 0xa7d8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42030,7 +44924,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcrypt_cfb, 0xa7e0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42042,7 +44937,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcrypt_ofb, 0xa7e8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42054,7 +44950,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_montmul, 0xa6c0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42066,7 +44963,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xsha1, 0xa6c8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42078,7 +44976,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xsha256, 0xa6d0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42090,7 +44989,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xstorerng, 0xa7c0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42102,7 +45002,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcryptecb, 0xa7c8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42114,7 +45015,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcryptcbc, 0xa7d0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42126,7 +45028,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcryptctr, 0xa7d8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42138,7 +45041,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcryptcfb, 0xa7e0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42150,7 +45054,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xcryptofb, 0xa7e8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42162,7 +45067,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xstore, 0xa7c0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42174,7 +45080,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_adcx, 0xf6, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42188,7 +45095,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_adox, 0xf6, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42202,7 +45110,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdseed, 0xc7, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42214,7 +45123,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clac, 0x01ca, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42226,7 +45136,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_stac, 0x01cb, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42238,7 +45149,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bnd, 0xf2, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42250,7 +45162,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bndmk, 0x1b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42264,7 +45177,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bndmov, 0x1a, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42278,7 +45192,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bndcl, 0x1a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42292,7 +45207,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bndcl, 0x1a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42306,7 +45222,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bndcu, 0x1a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42320,7 +45237,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bndcu, 0x1a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42334,7 +45252,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bndcn, 0x1b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42348,7 +45267,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bndcn, 0x1b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42362,7 +45282,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bndstx, 0x1b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42376,7 +45297,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_bndldx, 0x1a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42390,7 +45312,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_sha1rnds4, 0xcc, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42406,7 +45329,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha1nexte, 0xc8, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42420,7 +45344,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha1msg1, 0xc9, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42434,7 +45359,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha1msg2, 0xca, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42448,7 +45374,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha256rnds2, 0xcb, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42464,7 +45391,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha256rnds2, 0xcb, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42478,7 +45406,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha256msg1, 0xcc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42492,7 +45421,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_sha256msg2, 0xcd, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42506,7 +45436,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_kandb, 0x41, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42522,7 +45453,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandw, 0x41, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42538,7 +45470,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandnb, 0x42, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42554,7 +45487,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandnw, 0x42, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42570,7 +45504,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_korb, 0x45, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42586,7 +45521,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_korw, 0x45, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42602,7 +45538,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxnorb, 0x46, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42618,7 +45555,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxnorw, 0x46, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42634,7 +45572,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxorb, 0x47, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42650,7 +45589,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxorw, 0x47, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42666,7 +45606,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovb, 0x90, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42680,7 +45621,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovb, 0x91, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42694,7 +45636,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_kmovb, 0x92, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42708,7 +45651,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovw, 0x90, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42722,7 +45666,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovw, 0x91, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42736,7 +45681,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_kmovw, 0x92, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42750,7 +45696,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_knotb, 0x44, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42764,7 +45711,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_knotw, 0x44, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42778,7 +45726,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kortestb, 0x98, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42792,7 +45741,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kortestw, 0x98, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42806,7 +45756,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftlb, 0x32, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42822,7 +45773,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftlw, 0x32, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42838,7 +45790,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftrb, 0x30, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42854,7 +45807,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftrw, 0x30, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42870,7 +45824,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kunpckbw, 0x4b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42886,7 +45841,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vaddph, 0x58, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42902,7 +45858,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vdivph, 0x5e, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42918,7 +45875,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmulph, 0x59, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42934,7 +45892,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsqrtph, 0x51, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42948,7 +45907,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vsubph, 0x5c, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42964,7 +45924,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vaddsh, 0x58, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42980,7 +45941,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vdivsh, 0x5e, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -42996,7 +45958,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmulsh, 0x59, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43012,7 +45975,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vsqrtsh, 0x51, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43028,7 +45992,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vsubsh, 0x5c, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43044,7 +46009,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_valignd, 0x03, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43062,7 +46028,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_valignq, 0x03, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43080,7 +46047,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vblendmps, 0x65, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43096,7 +46064,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vblendmpd, 0x65, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43112,7 +46081,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpblendmd, 0x64, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43128,7 +46098,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpblendmq, 0x64, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43144,7 +46115,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermi2d, 0x76, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43160,7 +46132,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermi2q, 0x76, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43176,7 +46149,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermi2ps, 0x77, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43192,7 +46166,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermi2pd, 0x77, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43208,7 +46183,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermt2d, 0x7e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43224,7 +46200,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermt2q, 0x7e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43240,7 +46217,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermt2ps, 0x7f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43256,7 +46234,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermt2pd, 0x7f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43272,7 +46251,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxsq, 0x3d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43288,7 +46268,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmaxuq, 0x3f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43304,7 +46285,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminsq, 0x39, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43320,7 +46302,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpminuq, 0x3b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43336,7 +46319,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprolvd, 0x15, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43352,7 +46336,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprolvq, 0x15, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43368,7 +46353,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprorvd, 0x14, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43384,7 +46370,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprorvq, 0x14, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43400,7 +46387,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsravq, 0x46, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43416,7 +46404,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpternlogd, 0x25, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43434,7 +46423,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpternlogq, 0x25, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43452,7 +46442,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vbroadcastf32x4, 0x1a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43466,7 +46457,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vbroadcasti32x4, 0x5a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43480,7 +46472,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vbroadcastf64x4, 0x1b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43494,7 +46487,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vbroadcasti64x4, 0x5b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43508,7 +46502,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcomish, 0x2f, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43522,7 +46517,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vucomish, 0x2e, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43536,7 +46532,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcompresspd, 0x8a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43550,7 +46547,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vcompressps, 0x8a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43564,7 +46562,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vpcompressq, 0x8b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43578,7 +46577,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vpcompressd, 0x8b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43592,7 +46592,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vpscatterdd, 0xa0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43606,7 +46607,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpscatterdd, 0xa0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43620,7 +46622,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpscatterdd, 0xa0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43634,7 +46637,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpscatterdq, 0xa0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43648,7 +46652,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpscatterdq, 0xa0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43662,7 +46667,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpscatterqd, 0xa1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43676,7 +46682,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpscatterqd, 0xa1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43690,7 +46697,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpscatterqd, 0xa1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43704,7 +46712,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpscatterqq, 0xa1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43718,7 +46727,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpscatterqq, 0xa1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43732,7 +46742,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vpscatterqq, 0xa1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 2, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 2, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43746,7 +46757,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterdpd, 0xa2, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43760,7 +46772,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterdpd, 0xa2, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43774,7 +46787,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterdps, 0xa2, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43788,7 +46802,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterdps, 0xa2, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43802,7 +46817,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterdps, 0xa2, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43816,7 +46832,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterqpd, 0xa3, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43830,7 +46847,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterqpd, 0xa3, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43844,7 +46862,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterqpd, 0xa3, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 2, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 2, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43858,7 +46877,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterqps, 0xa3, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43872,7 +46892,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterqps, 0xa3, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43886,7 +46907,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterqps, 0xa3, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43900,7 +46922,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vcvtudq2pd, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 3, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 3, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43914,7 +46937,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtudq2pd, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43928,7 +46952,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtudq2pd, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43942,7 +46967,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtps2udq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43956,7 +46982,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtpd2udq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43970,7 +46997,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2udq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43984,7 +47012,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2udq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -43998,7 +47027,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2udqx, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44012,7 +47042,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2udqy, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44026,7 +47057,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtss2usi, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44040,7 +47072,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsd2usi, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44054,7 +47087,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsh2usi, 0x79, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44068,7 +47102,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2sd, 0x7b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44084,7 +47119,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2sd, 0x7b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44100,7 +47136,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2sd, 0x7b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44116,7 +47153,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2sd, 0x7b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44132,7 +47170,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2ss, 0x7b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44148,7 +47187,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2ss, 0x7b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44164,7 +47204,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2udq, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44178,7 +47219,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2udq, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44192,7 +47234,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2udq, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44206,7 +47249,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2udqx, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44220,7 +47264,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2udqy, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44234,7 +47279,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttps2udq, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44248,7 +47294,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvttss2usi, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44262,7 +47309,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttsd2usi, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44276,7 +47324,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttsh2usi, 0x78, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44290,7 +47339,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtudq2ps, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44304,7 +47354,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vexpandpd, 0x88, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44318,7 +47369,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpexpandq, 0x89, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44332,7 +47384,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vexpandps, 0x88, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44346,7 +47399,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpexpandd, 0x89, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44360,7 +47414,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vextractf32x4, 0x19, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44376,7 +47431,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vextracti32x4, 0x39, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44392,7 +47448,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vextractf64x4, 0x1b, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44408,7 +47465,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vextracti64x4, 0x3b, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44424,7 +47482,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vfixupimmps, 0x54, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44442,7 +47501,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfixupimmpd, 0x54, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44460,7 +47520,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfixupimmss, 0x55, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44478,7 +47539,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfixupimmsd, 0x55, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44496,7 +47558,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgetmantps, 0x26, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44512,7 +47575,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgetmantpd, 0x26, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44528,7 +47592,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgetmantph, 0x26, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44544,7 +47609,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgetmantss, 0x27, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44562,7 +47628,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgetmantsd, 0x27, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44580,7 +47647,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgetmantsh, 0x27, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44598,7 +47666,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrndscaleps, 0x08 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44614,7 +47683,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrndscalepd, 0x08 | 1, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44630,7 +47700,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrndscaleph, 0x08 | 0, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44646,7 +47717,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrndscaless, 0x0a | 0, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44664,7 +47736,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrndscalesd, 0x0a | 1, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44682,7 +47755,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrndscalesh, 0x0a | 0, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44700,7 +47774,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd132ph, 0x88 | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44716,7 +47791,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd213ph, 0x88 | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44732,7 +47808,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd231ph, 0x88 | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44748,7 +47825,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmadd132sh, 0x89 | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44764,7 +47842,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd213sh, 0x89 | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44780,7 +47859,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmadd231sh, 0x89 | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44796,7 +47876,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmaddsub132ph, 0x86 | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44812,7 +47893,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddsub213ph, 0x86 | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44828,7 +47910,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddsub231ph, 0x86 | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44844,7 +47927,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub132ph, 0x8a | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44860,7 +47944,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub213ph, 0x8a | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44876,7 +47961,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub231ph, 0x8a | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44892,7 +47978,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsub132sh, 0x8b | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44908,7 +47995,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub213sh, 0x8b | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44924,7 +48012,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsub231sh, 0x8b | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44940,7 +48029,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmsubadd132ph, 0x87 | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44956,7 +48046,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsubadd213ph, 0x87 | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44972,7 +48063,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmsubadd231ph, 0x87 | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -44988,7 +48080,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd132ph, 0x8c | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45004,7 +48097,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd213ph, 0x8c | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45020,7 +48114,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd231ph, 0x8c | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45036,7 +48131,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmadd132sh, 0x8d | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45052,7 +48148,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd213sh, 0x8d | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45068,7 +48165,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmadd231sh, 0x8d | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45084,7 +48182,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub132ph, 0x8e | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45100,7 +48199,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub213ph, 0x8e | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45116,7 +48216,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub231ph, 0x8e | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45132,7 +48233,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfnmsub132sh, 0x8f | 0x10, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45148,7 +48250,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub213sh, 0x8f | 0x20, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45164,7 +48267,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfnmsub231sh, 0x8f | 0x30, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45180,7 +48284,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vscalefps, 0x2c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45196,7 +48301,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vscalefpd, 0x2c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45212,7 +48318,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vscalefph, 0x2c, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45228,7 +48335,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vscalefss, 0x2d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45244,7 +48352,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vscalefsd, 0x2d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45260,7 +48369,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vscalefsh, 0x2d, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45276,7 +48386,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgetexpps, 0x42, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45290,7 +48401,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgetexppd, 0x42, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45304,7 +48416,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgetexpph, 0x42, 2, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45318,7 +48431,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vgetexpss, 0x43, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45334,7 +48448,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgetexpsd, 0x43, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45350,7 +48465,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgetexpsh, 0x43, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45366,7 +48482,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vinsertf32x4, 0x18, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45384,7 +48501,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vinserti32x4, 0x38, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45402,7 +48520,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vinsertf64x4, 0x1a, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45420,7 +48539,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vinserti64x4, 0x3a, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45438,7 +48558,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vmaxph, 0x5f, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45454,7 +48575,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmaxsh, 0x5f, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45470,7 +48592,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vminph, 0x5d, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45486,7 +48609,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vminsh, 0x5d, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45502,7 +48626,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovdqa64, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45516,7 +48641,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovdqa32, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45530,7 +48656,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovdqu32, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45544,7 +48671,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovdqu64, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45558,7 +48686,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovsh, 0x10, 2, SPACE_EVEXMAP5, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45572,7 +48701,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovsh, 0x10, 3, SPACE_EVEXMAP5, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45588,7 +48718,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vpabsq, 0x1e | 1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45602,7 +48733,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpandd, 0xdb, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45618,7 +48750,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpandq, 0xdb, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45634,7 +48767,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpandnd, 0xdf, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45650,7 +48784,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpandnq, 0xdf, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45666,7 +48801,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpord, 0xeb, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45682,7 +48818,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vporq, 0xeb, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45698,7 +48835,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpxord, 0xef, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45714,7 +48852,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpxorq, 0xef, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45730,7 +48869,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpcmpd, 0x1f, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45748,7 +48888,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpq, 0x1f, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45766,7 +48907,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpud, 0x1e, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45784,7 +48926,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpuq, 0x1e, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45802,7 +48945,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltd, 0x1f, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45818,7 +48962,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltq, 0x1f, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45834,7 +48979,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpled, 0x1f, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45850,7 +48996,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpleq, 0x1f, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45866,7 +49013,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpneqd, 0x1f, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45882,7 +49030,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpneqq, 0x1f, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45898,7 +49047,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltd, 0x1f, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45914,7 +49064,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltq, 0x1f, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45930,7 +49081,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnled, 0x1f, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45946,7 +49098,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnleq, 0x1f, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45962,7 +49115,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpequd, 0x1e, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45978,7 +49132,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpequq, 0x1e, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -45994,7 +49149,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltud, 0x1e, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46010,7 +49166,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltuq, 0x1e, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46026,7 +49183,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpleud, 0x1e, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46042,7 +49200,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpleuq, 0x1e, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46058,7 +49217,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnequd, 0x1e, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46074,7 +49234,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnequq, 0x1e, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46090,7 +49251,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltud, 0x1e, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46106,7 +49268,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltuq, 0x1e, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46122,7 +49285,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnleud, 0x1e, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46138,7 +49302,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnleuq, 0x1e, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46154,7 +49319,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestmd, 0x27, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46170,7 +49336,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestmq, 0x27, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46186,7 +49353,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestnmd, 0x27, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46202,7 +49370,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestnmq, 0x27, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46218,7 +49387,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovdb, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46232,7 +49402,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovdb, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46246,7 +49417,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovdb, 0x31, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46260,7 +49432,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsdb, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46274,7 +49447,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsdb, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46288,7 +49462,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsdb, 0x21, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46302,7 +49477,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusdb, 0x11, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46316,7 +49492,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusdb, 0x11, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46330,7 +49507,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusdb, 0x11, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46344,7 +49522,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovdw, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46358,7 +49537,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vpmovdw, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46372,7 +49552,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovdw, 0x33, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46386,7 +49567,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsdw, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46400,7 +49582,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vpmovsdw, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46414,7 +49597,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsdw, 0x23, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46428,7 +49612,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusdw, 0x13, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46442,7 +49627,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vpmovusdw, 0x13, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46456,7 +49642,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusdw, 0x13, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46470,7 +49657,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovqb, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46484,7 +49672,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovqb, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46498,7 +49687,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovqb, 0x32, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46512,7 +49702,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsqb, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46526,7 +49717,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsqb, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46540,7 +49732,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsqb, 0x22, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46554,7 +49747,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusqb, 0x12, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46568,7 +49762,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusqb, 0x12, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46582,7 +49777,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusqb, 0x12, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46596,7 +49792,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovqd, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46610,7 +49807,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vpmovqd, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46624,7 +49822,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovqd, 0x35, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46638,7 +49837,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsqd, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46652,7 +49852,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vpmovsqd, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46666,7 +49867,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsqd, 0x25, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46680,7 +49882,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusqd, 0x15, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46694,7 +49897,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vpmovusqd, 0x15, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46708,7 +49912,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusqd, 0x15, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46722,7 +49927,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovqw, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46736,7 +49942,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovqw, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46750,7 +49957,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovqw, 0x34, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46764,7 +49972,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsqw, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46778,7 +49987,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsqw, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46792,7 +50002,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovsqw, 0x24, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46806,7 +50017,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusqw, 0x14, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46820,7 +50032,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusqw, 0x14, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46834,7 +50047,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovusqw, 0x14, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46848,7 +50062,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vprold, 0x72, 3, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46864,7 +50079,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprolq, 0x72, 3, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46880,7 +50096,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprord, 0x72, 3, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46896,7 +50113,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vprorq, 0x72, 3, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46912,7 +50130,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsraq, 0xe2, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46928,7 +50147,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsraq, 0x72, 3, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46944,7 +50164,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrcp14ps, 0x4c, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46958,7 +50179,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrcp14pd, 0x4c, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46972,7 +50194,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrcp14ss, 0x4d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -46988,7 +50211,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrcp14sd, 0x4d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47004,7 +50228,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrsqrt14ps, 0x4e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47018,7 +50243,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrsqrt14pd, 0x4e, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47032,7 +50258,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrsqrt14ss, 0x4f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47048,7 +50275,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrsqrt14sd, 0x4f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47064,7 +50292,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vshuff32x4, 0x23, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47082,7 +50311,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vshufi32x4, 0x43, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47100,7 +50330,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vshuff64x2, 0x23, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47118,7 +50349,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vshufi64x2, 0x43, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47136,7 +50368,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastmb2q, 0x2a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47150,7 +50383,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpbroadcastmw2d, 0x3a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47164,7 +50398,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpconflictd, 0xc4, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47178,7 +50413,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpconflictq, 0xc4, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47192,7 +50428,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vplzcntd, 0x44, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47206,7 +50443,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vplzcntq, 0x44, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47220,7 +50458,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vexp2ps, 0xc8, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47234,7 +50473,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vexp2pd, 0xc8, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47248,7 +50488,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vrcp28ps, 0xca, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47262,7 +50503,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vrcp28pd, 0xca, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47276,7 +50518,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vrcp28ss, 0xcb, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47292,7 +50535,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrcp28sd, 0xcb, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47308,7 +50552,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrsqrt28ps, 0xcc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47322,7 +50567,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vrsqrt28pd, 0xcc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47336,7 +50582,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vrsqrt28ss, 0xcd, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47352,7 +50599,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrsqrt28sd, 0xcd, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47368,7 +50616,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vgatherpf0dpd, 0xc6, 1, SPACE_0F38, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47380,7 +50629,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf0dps, 0xc6, 1, SPACE_0F38, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47392,7 +50642,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf0qps, 0xc7, 1, SPACE_0F38, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47404,7 +50655,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf0qpd, 0xc7, 1, SPACE_0F38, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47416,7 +50668,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf1dpd, 0xc6, 1, SPACE_0F38, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47428,7 +50681,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf1dps, 0xc6, 1, SPACE_0F38, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47440,7 +50694,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf1qps, 0xc7, 1, SPACE_0F38, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47452,7 +50707,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vgatherpf1qpd, 0xc7, 1, SPACE_0F38, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47464,7 +50720,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf0dpd, 0xc6, 1, SPACE_0F38, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47476,7 +50733,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf0dps, 0xc6, 1, SPACE_0F38, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47488,7 +50746,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf0qps, 0xc7, 1, SPACE_0F38, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47500,7 +50759,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf0qpd, 0xc7, 1, SPACE_0F38, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47512,7 +50772,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf1dpd, 0xc6, 1, SPACE_0F38, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47524,7 +50785,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf1dps, 0xc6, 1, SPACE_0F38, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47536,7 +50798,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf1qps, 0xc7, 1, SPACE_0F38, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47548,7 +50811,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_vscatterpf1qpd, 0xc7, 1, SPACE_0F38, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 3, 0, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47560,7 +50824,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_prefetchwt1, 0x0d, 1, SPACE_0F, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47572,7 +50837,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clflushopt, 0xae, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47584,7 +50850,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xrstors, 0xc7, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47596,7 +50863,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xrstors64, 0xc7, 1, SPACE_0F, 3, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47608,7 +50876,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xsaves, 0xc7, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47620,7 +50889,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xsaves64, 0xc7, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47632,7 +50902,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xsavec, 0xc7, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47644,7 +50915,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_xsavec64, 0xc7, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47656,7 +50928,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_encls, 0x01cf, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47668,7 +50941,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_enclu, 0x01d7, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47680,7 +50954,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_enclv, 0x01c0, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47692,7 +50967,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kaddd, 0x4a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47708,7 +50984,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kaddq, 0x4a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47724,7 +51001,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandd, 0x41, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47740,7 +51018,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandq, 0x41, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47756,7 +51035,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandnd, 0x42, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47772,7 +51052,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kandnq, 0x42, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47788,7 +51069,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovd, 0x90, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47802,7 +51084,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovd, 0x91, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47816,7 +51099,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_kmovd, 0x92, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47830,7 +51114,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovq, 0x90, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47844,7 +51129,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kmovq, 0x91, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47858,7 +51144,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_kmovq, 0x92, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47872,7 +51159,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_knotd, 0x44, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47886,7 +51174,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_knotq, 0x44, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47900,7 +51189,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kord, 0x45, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47916,7 +51206,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_korq, 0x45, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47932,7 +51223,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kortestd, 0x98, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47946,7 +51238,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kortestq, 0x98, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47960,7 +51253,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ktestd, 0x99, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47974,7 +51268,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ktestq, 0x99, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -47988,7 +51283,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxnord, 0x46, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48004,7 +51300,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxnorq, 0x46, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48020,7 +51317,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxord, 0x47, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48036,7 +51334,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kxorq, 0x47, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48052,7 +51351,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kunpckdq, 0x4b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48068,7 +51368,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kunpckwd, 0x4b, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48084,7 +51385,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftld, 0x33, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48100,7 +51402,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftlq, 0x33, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48116,7 +51419,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftrd, 0x31, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48132,7 +51436,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kshiftrq, 0x31, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48148,7 +51453,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vdbpsadbw, 0x42, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48166,7 +51472,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovdqu8, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48180,7 +51487,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vmovdqu16, 0x6f, 2, SPACE_0F, None, + { 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 0, 0, 0, 7, 1, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 0, 0, 0, 7, 0, 1, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48194,7 +51502,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpblendmb, 0x66, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48210,7 +51519,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpblendmw, 0x66, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48226,7 +51536,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermi2b, 0x75, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48242,7 +51553,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermi2w, 0x75, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48258,7 +51570,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermt2b, 0x7d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48274,7 +51587,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermt2w, 0x7d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48290,7 +51604,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermb, 0x8d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48306,7 +51621,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpermw, 0x8d, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48322,7 +51638,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsllvw, 0x12, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48338,7 +51655,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsravw, 0x11, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48354,7 +51672,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpsrlvw, 0x10, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48370,7 +51689,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpcmpb, 0x3f, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48388,7 +51708,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpw, 0x3f, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48406,7 +51727,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpub, 0x3e, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48424,7 +51746,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpuw, 0x3e, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48442,7 +51765,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltb, 0x3f, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48458,7 +51782,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltw, 0x3f, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48474,7 +51799,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpleb, 0x3f, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48490,7 +51816,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmplew, 0x3f, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48506,7 +51833,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpneqb, 0x3f, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48522,7 +51850,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpneqw, 0x3f, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48538,7 +51867,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltb, 0x3f, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48554,7 +51884,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltw, 0x3f, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48570,7 +51901,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnleb, 0x3f, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48586,7 +51918,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnlew, 0x3f, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48602,7 +51935,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpequb, 0x3e, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48618,7 +51952,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpequw, 0x3e, 3, SPACE_0F3A, 0, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48634,7 +51969,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltub, 0x3e, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48650,7 +51986,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpltuw, 0x3e, 3, SPACE_0F3A, 1, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48666,7 +52003,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpleub, 0x3e, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48682,7 +52020,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpleuw, 0x3e, 3, SPACE_0F3A, 2, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48698,7 +52037,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnequb, 0x3e, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48714,7 +52054,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnequw, 0x3e, 3, SPACE_0F3A, 4, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48730,7 +52071,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltub, 0x3e, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48746,7 +52088,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnltuw, 0x3e, 3, SPACE_0F3A, 5, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48762,7 +52105,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnleub, 0x3e, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48778,7 +52122,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpcmpnleuw, 0x3e, 3, SPACE_0F3A, 6, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48794,7 +52139,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovb2m, 0x29, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48808,7 +52154,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovw2m, 0x29, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48822,7 +52169,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovm2b, 0x28, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48836,7 +52184,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmovm2w, 0x28, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48850,7 +52199,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmovswb, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48864,7 +52214,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vpmovswb, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48878,7 +52229,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovswb, 0x20, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48892,7 +52244,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovuswb, 0x10, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48906,7 +52259,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vpmovuswb, 0x10, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48920,7 +52274,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovuswb, 0x10, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48934,7 +52289,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovwb, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48948,7 +52304,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vpmovwb, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48962,7 +52319,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vpmovwb, 0x30, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48976,7 +52334,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vptestmb, 0x26, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -48992,7 +52351,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestmw, 0x26, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49008,7 +52368,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestnmb, 0x26, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49024,7 +52385,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vptestnmw, 0x26, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49040,7 +52402,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kaddb, 0x4a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49056,7 +52419,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_kaddw, 0x4a, 3, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49072,7 +52436,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ktestb, 0x99, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49086,7 +52451,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ktestw, 0x99, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49100,7 +52466,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vbroadcastf32x2, 0x19, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49114,7 +52481,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vbroadcastf32x8, 0x1b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49128,7 +52496,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vbroadcasti32x2, 0x59, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49142,7 +52511,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vbroadcasti32x8, 0x5b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49156,7 +52526,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vbroadcastf64x2, 0x1a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49170,7 +52541,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vbroadcasti64x2, 0x5a, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49184,7 +52556,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtpd2qq, 0x7b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49198,7 +52571,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtpd2uqq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49212,7 +52586,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtps2qq, 0x7b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 1, 1, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 1, 1, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49226,7 +52601,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtps2qq, 0x7b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49240,7 +52616,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2qq, 0x7b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49254,7 +52631,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtps2uqq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 1, 1, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 1, 1, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49268,7 +52646,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtps2uqq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49282,7 +52661,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2uqq, 0x79, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49296,7 +52676,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2pd, 0xe6, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49310,7 +52691,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtuqq2pd, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49324,7 +52706,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtqq2ps, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49338,7 +52721,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2ps, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49352,7 +52736,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2ps, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49366,7 +52751,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2psx, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49380,7 +52766,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2psy, 0x5b, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49394,7 +52781,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttpd2qq, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49408,7 +52796,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvttpd2uqq, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49422,7 +52811,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvttps2qq, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49436,7 +52826,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvttps2qq, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49450,7 +52841,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttps2qq, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49464,7 +52856,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvttps2uqq, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 1, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49478,7 +52871,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvttps2uqq, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49492,7 +52886,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttps2uqq, 0x78, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49506,7 +52901,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2ps, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49520,7 +52916,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2ps, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49534,7 +52931,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2ps, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49548,7 +52946,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2psx, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49562,7 +52961,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2psy, 0x7a, 2, SPACE_0F, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49576,7 +52976,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vextractf32x8, 0x1b, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49592,7 +52993,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vextracti32x8, 0x3b, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49608,7 +53010,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 1, 0 } } } }, + { MN_vinsertf32x8, 0x1a, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49626,7 +53029,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vinserti32x8, 0x3a, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49644,7 +53048,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vextractf64x2, 0x19, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49660,7 +53065,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vextracti64x2, 0x39, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49676,7 +53082,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 1, 0 } } } }, + { MN_vinsertf64x2, 0x18, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49694,7 +53101,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vinserti64x2, 0x38, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49712,7 +53120,8 @@ static const insn_template i386_optab[] + 0, 1, 1, 0, 0, 0 } } } }, + { MN_vfpclassps, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49728,7 +53137,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassps, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49744,7 +53154,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclasspd, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49760,7 +53171,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclasspd, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49776,7 +53188,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclasspsz, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 0, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 0, 0, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49792,7 +53205,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclasspdz, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 0, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 0, 0, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49808,7 +53222,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclasspsx, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49824,7 +53239,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclasspdx, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49840,7 +53256,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclasspsy, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49856,7 +53273,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclasspdy, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49872,7 +53290,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassss, 0x67, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49888,7 +53307,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclasssd, 0x67, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 4, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49904,7 +53324,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclasssh, 0x67, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49920,7 +53341,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovd2m, 0x39, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49934,7 +53356,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovq2m, 0x39, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49948,7 +53371,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpmovm2d, 0x38, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49962,7 +53386,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmovm2q, 0x38, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49976,7 +53401,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmullq, 0x40, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -49992,7 +53418,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrangeps, 0x50, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50010,7 +53437,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrangepd, 0x50, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50028,7 +53456,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrangess, 0x51, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50046,7 +53475,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrangesd, 0x51, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50064,7 +53494,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vreduceps, 0x56, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50080,7 +53511,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vreducepd, 0x56, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50096,7 +53528,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vreduceph, 0x56, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50112,7 +53545,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vreducess, 0x57, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50130,7 +53564,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vreducesd, 0x57, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50148,7 +53583,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vreducesh, 0x57, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50166,7 +53602,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_clwb, 0xae, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50178,7 +53615,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vpmadd52huq, 0xb5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50194,7 +53632,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmadd52huq, 0xb5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50210,7 +53649,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmadd52luq, 0xb4, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50226,7 +53666,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpmadd52luq, 0xb4, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50242,7 +53683,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpmultishiftqb, 0x83, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50258,7 +53700,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_v4fmaddps, 0x9a, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50274,7 +53717,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_v4fnmaddps, 0xaa, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50290,7 +53734,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_v4fmaddss, 0x9b, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 4, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 4, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50306,7 +53751,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_v4fnmaddss, 0xab, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 4, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 4, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50322,7 +53768,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vp4dpwssd, 0x52, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50338,7 +53785,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vp4dpwssds, 0x53, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 1, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50354,7 +53802,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vpopcntd, 0x55, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50368,7 +53817,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpopcntq, 0x55, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50382,7 +53832,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpcompressb, 0x63, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50396,7 +53847,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vpcompressw, 0x63, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50410,7 +53862,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 1, 0 } } } }, + { MN_vpexpandb, 0x62, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50424,7 +53877,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpexpandw, 0x62, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50438,7 +53892,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshldvd, 0x71, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50454,7 +53909,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshldvq, 0x71, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50470,7 +53926,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshldvw, 0x70, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50486,7 +53943,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshrdvd, 0x73, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50502,7 +53960,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshrdvq, 0x73, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50518,7 +53977,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshrdvw, 0x72, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50534,7 +53994,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshldd, 0x71, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50552,7 +54013,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshldq, 0x71, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50570,7 +54032,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshldw, 0x70, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50588,7 +54051,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshrdd, 0x73, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50606,7 +54070,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshrdq, 0x73, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50624,7 +54089,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshrdw, 0x72, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50642,7 +54108,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpdpbusd, 0x50, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50658,7 +54125,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpdpbusd, 0x50, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50674,7 +54142,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpwssd, 0x52, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50690,7 +54159,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpdpwssd, 0x52, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50706,7 +54176,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbusds, 0x51, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50722,7 +54193,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpdpbusds, 0x51, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50738,7 +54210,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpwssds, 0x53, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50754,7 +54227,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpdpwssds, 0x53, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50770,7 +54244,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbuud, 0x50, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50786,7 +54261,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbuuds, 0x51, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50802,7 +54278,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbssd, 0x50, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50818,7 +54295,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbssds, 0x51, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50834,7 +54312,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbsud, 0x50, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50850,7 +54329,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpdpbsuds, 0x51, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50866,7 +54346,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vpopcntb, 0x54, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50880,7 +54361,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpopcntw, 0x54, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50894,7 +54376,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vpshufbitqmb, 0x8f, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50910,7 +54393,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invlpgb, 0x01fe, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50922,7 +54406,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_invlpgb, 0x01fe, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50938,7 +54423,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_tlbsync, 0x01ff, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50950,7 +54436,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clzero, 0x01fc, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50962,7 +54449,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clzero, 0x01fc, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50974,7 +54462,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_monitorx, 0x01fa, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -50986,7 +54475,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_monitorx, 0x01fa, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51002,7 +54492,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_monitorx, 0x01fa, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51018,7 +54509,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mwaitx, 0x01fb, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51030,7 +54522,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mwaitx, 0x01fb, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51046,7 +54539,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdpkru, 0x01ee, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51058,7 +54552,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wrpkru, 0x01ef, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51070,7 +54565,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdpid, 0xc7, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51082,7 +54578,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdpid, 0xc7, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51094,7 +54591,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ptwrite, 0xae, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51106,7 +54604,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_ptwrite, 0xae, 1, SPACE_0F, 4, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51118,7 +54617,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_incsspd, 0xae, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51130,7 +54630,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_incsspq, 0xae, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51142,7 +54643,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdsspd, 0x1e, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51154,7 +54656,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdsspq, 0x1e, 1, SPACE_0F, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51166,7 +54669,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_saveprevssp, 0x01ea, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51178,7 +54682,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rstorssp, 0x01, 1, SPACE_0F, 5, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51190,7 +54695,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_wrssd, 0xf6, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51204,7 +54710,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_wrssq, 0xf6, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51218,7 +54725,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_wrussd, 0xf5, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51232,7 +54740,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_wrussq, 0xf5, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51246,7 +54755,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_setssbsy, 0x01e8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51258,7 +54768,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clrssbsy, 0xae, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51270,7 +54781,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_endbr64, 0x1efa, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51282,7 +54794,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_endbr32, 0x1efb, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51294,7 +54807,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_notrack, 0x3e, 0, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51306,7 +54820,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wbnoinvd, 0x09, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51318,7 +54833,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pconfig, 0x01c5, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51330,7 +54846,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_umonitor, 0xae, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51342,7 +54859,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_tpause, 0xae, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51354,7 +54872,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_tpause, 0xae, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51370,7 +54889,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_umwait, 0xae, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51382,7 +54902,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_umwait, 0xae, 3, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51398,7 +54919,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cldemote, 0x1c, 1, SPACE_0F, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51410,7 +54932,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_movdiri, 0xf9, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51424,7 +54947,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_movdir64b, 0xf8, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51438,7 +54962,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtne2ps2bf16, 0x72, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51454,7 +54979,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 3, 0, 0, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 3, 0, 0, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51468,7 +54994,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51482,7 +55009,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51496,7 +55024,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51510,7 +55039,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51524,7 +55054,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16x, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51538,7 +55069,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16x, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51552,7 +55084,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16y, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51566,7 +55099,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtneps2bf16y, 0x72, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51580,7 +55114,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vdpbf16ps, 0x52, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51596,7 +55131,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vbcstnebf162ps, 0xb1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51610,7 +55146,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vbcstnesh2ps, 0xb1, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51624,7 +55161,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtneebf162ps, 0xb0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51638,7 +55176,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtneeph2ps, 0xb0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51652,7 +55191,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtneobf162ps, 0xb0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51666,7 +55206,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtneoph2ps, 0xb0, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51680,7 +55221,8 @@ static const insn_template i386_optab[] + 1, 1, 0, 0, 0, 0 } } } }, + { MN_enqcmd, 0xf8, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51694,7 +55236,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_enqcmds, 0xf8, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51708,7 +55251,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vp2intersectd, 0x68, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 3, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 3, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51724,7 +55268,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vp2intersectq, 0x68, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 4, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 4, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51740,7 +55285,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_mcommit, 0x01fa, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51752,7 +55298,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psmash, 0x01ff, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51764,7 +55311,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_psmash, 0x01ff, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51776,7 +55324,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pvalidate, 0x01ff, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51788,7 +55337,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pvalidate, 0x01ff, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51804,7 +55354,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_pvalidate, 0x01ff, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51816,7 +55367,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpupdate, 0x01fe, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51828,7 +55380,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpupdate, 0x01fe, 2, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51842,7 +55395,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpupdate, 0x01fe, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51854,7 +55408,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpadjust, 0x01fe, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51866,7 +55421,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpadjust, 0x01fe, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51882,7 +55438,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpadjust, 0x01fe, 1, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51894,7 +55451,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpquery, 0x01fd, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51906,7 +55464,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rmpquery, 0x01fd, 3, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51922,7 +55481,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdpru, 0x01fd, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51934,7 +55494,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_serialize, 0x01e8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51946,7 +55507,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xsusldtrk, 0x01e8, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51958,7 +55520,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_xresldtrk, 0x01e9, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51970,7 +55533,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_ldtilecfg, 0x49, 1, SPACE_0F38, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51982,7 +55546,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_sttilecfg, 0x49, 1, SPACE_0F38, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -51994,7 +55559,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_tcmmimfp16ps, 0x6c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52010,7 +55576,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tcmmrlfp16ps, 0x6c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52026,7 +55593,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tdpbf16ps, 0x5c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52042,7 +55610,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tdpfp16ps, 0x5c, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52058,7 +55627,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tdpbssd, 0x5e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52074,7 +55644,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tdpbuud, 0x5e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52090,7 +55661,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tdpbusd, 0x5e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52106,7 +55678,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tdpbsud, 0x5e, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52122,7 +55695,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tileloadd, 0x4b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52136,7 +55710,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tileloaddt1, 0x4b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52150,7 +55725,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_tilestored, 0x4b, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52164,7 +55740,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_tilerelease, 0x49c0, 0, SPACE_0F38, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52176,7 +55753,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_tilezero, 0x49, 1, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52188,7 +55766,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 1, 0, 0 } } } }, + { MN_loadiwkey, 0xdc, 2, SPACE_0F38, None, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52202,7 +55781,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_encodekey128, 0xfa, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52216,7 +55796,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_encodekey256, 0xfb, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52230,7 +55811,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aesenc128kl, 0xdc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52244,7 +55826,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesdec128kl, 0xdd, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52258,7 +55841,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesenc256kl, 0xde, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52272,7 +55856,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesdec256kl, 0xdf, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52286,7 +55871,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_aesencwide128kl, 0xd8, 1, SPACE_0F38, 0, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52298,7 +55884,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_aesdecwide128kl, 0xd8, 1, SPACE_0F38, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52310,7 +55897,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_aesencwide256kl, 0xd8, 1, SPACE_0F38, 2, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52322,7 +55910,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_aesdecwide256kl, 0xd8, 1, SPACE_0F38, 3, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52334,7 +55923,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_tdcall, 0x01cc, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52346,7 +55936,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_seamret, 0x01cd, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52358,7 +55949,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_seamops, 0x01ce, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52370,7 +55962,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_seamcall, 0x01cf, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52382,7 +55975,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_uiret, 0x01ec, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52394,7 +55988,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_clui, 0x01ee, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52406,7 +56001,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_stui, 0x01ef, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52418,7 +56014,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_testui, 0x01ed, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52430,7 +56027,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_senduipi, 0xc7, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52442,7 +56040,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_hreset, 0xf0c0, 1, SPACE_0F3A, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52454,7 +56053,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfcmaddcph, 0x56, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52470,7 +56070,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfcmaddcsh, 0x57, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52486,7 +56087,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmaddcph, 0x56, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52502,7 +56104,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmaddcsh, 0x57, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52518,7 +56121,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfcmulcph, 0xd6, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52534,7 +56138,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfcmulcsh, 0xd7, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 3, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 3, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52550,7 +56155,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vfmulcph, 0xd6, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 3, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52566,7 +56172,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vfmulcsh, 0xd7, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52582,7 +56189,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeqph, 0xc2, 3, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52598,7 +56206,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqph, 0xc2, 3, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52614,7 +56223,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltph, 0xc2, 3, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52630,7 +56240,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_osph, 0xc2, 3, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52646,7 +56257,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpleph, 0xc2, 3, SPACE_0F3A, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52662,7 +56274,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_osph, 0xc2, 3, SPACE_0F3A, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52678,7 +56291,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordph, 0xc2, 3, SPACE_0F3A, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52694,7 +56308,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qph, 0xc2, 3, SPACE_0F3A, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52710,7 +56325,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqph, 0xc2, 3, SPACE_0F3A, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52726,7 +56342,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqph, 0xc2, 3, SPACE_0F3A, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52742,7 +56359,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltph, 0xc2, 3, SPACE_0F3A, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52758,7 +56376,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_usph, 0xc2, 3, SPACE_0F3A, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52774,7 +56393,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnleph, 0xc2, 3, SPACE_0F3A, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52790,7 +56410,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_usph, 0xc2, 3, SPACE_0F3A, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52806,7 +56427,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordph, 0xc2, 3, SPACE_0F3A, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52822,7 +56444,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qph, 0xc2, 3, SPACE_0F3A, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52838,7 +56461,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqph, 0xc2, 3, SPACE_0F3A, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52854,7 +56478,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngeph, 0xc2, 3, SPACE_0F3A, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52870,7 +56495,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_usph, 0xc2, 3, SPACE_0F3A, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52886,7 +56512,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtph, 0xc2, 3, SPACE_0F3A, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52902,7 +56529,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_usph, 0xc2, 3, SPACE_0F3A, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52918,7 +56546,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalseph, 0xc2, 3, SPACE_0F3A, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52934,7 +56563,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqph, 0xc2, 3, SPACE_0F3A, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52950,7 +56580,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqph, 0xc2, 3, SPACE_0F3A, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52966,7 +56597,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgeph, 0xc2, 3, SPACE_0F3A, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52982,7 +56614,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_osph, 0xc2, 3, SPACE_0F3A, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -52998,7 +56631,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtph, 0xc2, 3, SPACE_0F3A, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53014,7 +56648,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_osph, 0xc2, 3, SPACE_0F3A, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53030,7 +56665,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrueph, 0xc2, 3, SPACE_0F3A, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53046,7 +56682,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqph, 0xc2, 3, SPACE_0F3A, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53062,7 +56699,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_osph, 0xc2, 3, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53078,7 +56716,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqph, 0xc2, 3, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53094,7 +56733,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqph, 0xc2, 3, SPACE_0F3A, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53110,7 +56750,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_sph, 0xc2, 3, SPACE_0F3A, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53126,7 +56767,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_usph, 0xc2, 3, SPACE_0F3A, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53142,7 +56784,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqph, 0xc2, 3, SPACE_0F3A, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53158,7 +56801,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqph, 0xc2, 3, SPACE_0F3A, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53174,7 +56818,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_sph, 0xc2, 3, SPACE_0F3A, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53190,7 +56835,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_usph, 0xc2, 3, SPACE_0F3A, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53206,7 +56852,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqph, 0xc2, 3, SPACE_0F3A, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53222,7 +56869,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqph, 0xc2, 3, SPACE_0F3A, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53238,7 +56886,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_osph, 0xc2, 3, SPACE_0F3A, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53254,7 +56903,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_osph, 0xc2, 3, SPACE_0F3A, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53270,7 +56920,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqph, 0xc2, 3, SPACE_0F3A, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53286,7 +56937,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqph, 0xc2, 3, SPACE_0F3A, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53302,7 +56954,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_usph, 0xc2, 3, SPACE_0F3A, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53318,7 +56971,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpph, 0xc2, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53336,7 +56990,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeqsh, 0xc2, 3, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53352,7 +57007,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_oqsh, 0xc2, 3, SPACE_0F3A, 0x00, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53368,7 +57024,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpltsh, 0xc2, 3, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53384,7 +57041,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_ossh, 0xc2, 3, SPACE_0F3A, 0x01, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53400,7 +57058,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplesh, 0xc2, 3, SPACE_0F3A, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53416,7 +57075,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_ossh, 0xc2, 3, SPACE_0F3A, 0x02, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53432,7 +57092,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunordsh, 0xc2, 3, SPACE_0F3A, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53448,7 +57109,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_qsh, 0xc2, 3, SPACE_0F3A, 0x03, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53464,7 +57126,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneqsh, 0xc2, 3, SPACE_0F3A, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53480,7 +57143,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_uqsh, 0xc2, 3, SPACE_0F3A, 0x04, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53496,7 +57160,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnltsh, 0xc2, 3, SPACE_0F3A, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53512,7 +57177,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_ussh, 0xc2, 3, SPACE_0F3A, 0x05, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53528,7 +57194,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlesh, 0xc2, 3, SPACE_0F3A, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53544,7 +57211,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_ussh, 0xc2, 3, SPACE_0F3A, 0x06, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53560,7 +57228,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpordsh, 0xc2, 3, SPACE_0F3A, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53576,7 +57245,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_qsh, 0xc2, 3, SPACE_0F3A, 0x07, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53592,7 +57262,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_uqsh, 0xc2, 3, SPACE_0F3A, 0x08, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53608,7 +57279,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngesh, 0xc2, 3, SPACE_0F3A, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53624,7 +57296,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_ussh, 0xc2, 3, SPACE_0F3A, 0x09, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53640,7 +57313,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngtsh, 0xc2, 3, SPACE_0F3A, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53656,7 +57330,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_ussh, 0xc2, 3, SPACE_0F3A, 0x0a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53672,7 +57347,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalsesh, 0xc2, 3, SPACE_0F3A, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53688,7 +57364,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_oqsh, 0xc2, 3, SPACE_0F3A, 0x0b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53704,7 +57381,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_oqsh, 0xc2, 3, SPACE_0F3A, 0x0c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53720,7 +57398,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgesh, 0xc2, 3, SPACE_0F3A, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53736,7 +57415,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_ossh, 0xc2, 3, SPACE_0F3A, 0x0d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53752,7 +57432,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgtsh, 0xc2, 3, SPACE_0F3A, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53768,7 +57449,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_ossh, 0xc2, 3, SPACE_0F3A, 0x0e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53784,7 +57466,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptruesh, 0xc2, 3, SPACE_0F3A, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53800,7 +57483,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_uqsh, 0xc2, 3, SPACE_0F3A, 0x0f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53816,7 +57500,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_ossh, 0xc2, 3, SPACE_0F3A, 0x10, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53832,7 +57517,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmplt_oqsh, 0xc2, 3, SPACE_0F3A, 0x11, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53848,7 +57534,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmple_oqsh, 0xc2, 3, SPACE_0F3A, 0x12, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53864,7 +57551,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpunord_ssh, 0xc2, 3, SPACE_0F3A, 0x13, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53880,7 +57568,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_ussh, 0xc2, 3, SPACE_0F3A, 0x14, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53896,7 +57585,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnlt_uqsh, 0xc2, 3, SPACE_0F3A, 0x15, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53912,7 +57602,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnle_uqsh, 0xc2, 3, SPACE_0F3A, 0x16, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53928,7 +57619,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpord_ssh, 0xc2, 3, SPACE_0F3A, 0x17, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53944,7 +57636,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpeq_ussh, 0xc2, 3, SPACE_0F3A, 0x18, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53960,7 +57653,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpnge_uqsh, 0xc2, 3, SPACE_0F3A, 0x19, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53976,7 +57670,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpngt_uqsh, 0xc2, 3, SPACE_0F3A, 0x1a, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -53992,7 +57687,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpfalse_ossh, 0xc2, 3, SPACE_0F3A, 0x1b, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54008,7 +57704,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpneq_ossh, 0xc2, 3, SPACE_0F3A, 0x1c, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54024,7 +57721,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpge_oqsh, 0xc2, 3, SPACE_0F3A, 0x1d, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54040,7 +57738,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpgt_oqsh, 0xc2, 3, SPACE_0F3A, 0x1e, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54056,7 +57755,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmptrue_ussh, 0xc2, 3, SPACE_0F3A, 0x1f, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 1, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54072,7 +57772,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcmpsh, 0xc2, 4, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54090,7 +57791,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2ph, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 1, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 1, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54104,7 +57806,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2ph, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54118,7 +57821,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2ph, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54132,7 +57836,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2phx, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54146,7 +57851,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtdq2phy, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54160,7 +57866,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtudq2ph, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 3, 1, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 3, 1, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54174,7 +57881,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtudq2ph, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54188,7 +57896,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtudq2ph, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54202,7 +57911,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtudq2phx, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54216,7 +57926,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtudq2phy, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54230,7 +57941,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2ph, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54244,7 +57956,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2ph, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54258,7 +57971,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2phz, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54272,7 +57986,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2phx, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54286,7 +58001,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtqq2phy, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54300,7 +58016,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2ph, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54314,7 +58031,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2ph, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54328,7 +58046,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2phz, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54342,7 +58061,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2phx, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54356,7 +58076,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtuqq2phy, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54370,7 +58091,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ph, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54384,7 +58106,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2ph, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 4, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54398,7 +58121,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2phz, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 4, 1, 1, 6, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54412,7 +58136,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2phx, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 2, 1, 4, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54426,7 +58151,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtpd2phy, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54440,7 +58166,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2phx, 0x1d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 1, 1, 6, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 3, 1, 1, 6, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54454,7 +58181,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtps2phx, 0x1d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54468,7 +58196,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2phx, 0x1d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 3, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54482,7 +58211,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2phxx, 0x1d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 3, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54496,7 +58226,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtps2phxy, 0x1d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54510,7 +58241,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtw2ph, 0x7d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54524,7 +58256,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtuw2ph, 0x7d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54538,7 +58271,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtph2dq, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54552,7 +58286,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtph2dq, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54566,7 +58301,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtph2dq, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 1, 1, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 1, 1, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54580,7 +58316,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtph2udq, 0x79, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54594,7 +58331,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtph2udq, 0x79, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54608,7 +58346,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtph2udq, 0x79, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 1, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 1, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54622,7 +58361,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtph2qq, 0x7b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54636,7 +58376,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtph2qq, 0x7b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54650,7 +58391,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtph2qq, 0x7b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 1, 1, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 1, 1, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54664,7 +58406,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtph2uqq, 0x79, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54678,7 +58421,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtph2uqq, 0x79, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54692,7 +58436,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtph2uqq, 0x79, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 1, 1, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 1, 1, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54706,7 +58451,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtph2pd, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54720,7 +58466,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtph2pd, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54734,7 +58481,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtph2pd, 0x5a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 1, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 1, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54748,7 +58496,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtph2w, 0x7d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54762,7 +58511,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtph2uw, 0x7d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 1, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54776,7 +58526,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvtsd2sh, 0x5a, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54792,7 +58543,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtss2sh, 0x1d, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54808,7 +58560,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sh, 0x2a, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54824,7 +58577,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsi2sh, 0x2a, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54840,7 +58594,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2sh, 0x7b, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54856,7 +58611,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtusi2sh, 0x7b, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 1, 0, 2, 0, 0, 4, 0, 0, 1, 1, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54872,7 +58628,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsh2sd, 0x5a, 3, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 2, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54888,7 +58645,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsh2ss, 0x13, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 0, 0, 0, 4, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54904,7 +58662,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtsh2si, 0x2d, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54918,7 +58677,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttph2dq, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54932,7 +58692,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttph2dq, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54946,7 +58707,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvttph2dq, 0x5b, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 2, 0, 1, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 1, 2, 0, 1, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54960,7 +58722,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvttph2udq, 0x78, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54974,7 +58737,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttph2udq, 0x78, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -54988,7 +58752,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvttph2udq, 0x78, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 1, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 1, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55002,7 +58767,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvttph2qq, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55016,7 +58782,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttph2qq, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55030,7 +58797,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvttph2qq, 0x7a, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 0, 1, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 0, 1, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55044,7 +58812,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvttph2uqq, 0x78, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55058,7 +58827,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvttph2uqq, 0x78, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55072,7 +58842,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvttph2uqq, 0x78, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 0, 1, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 0, 1, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55086,7 +58857,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvtph2psx, 0x13, 2, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55100,7 +58872,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vcvtph2psx, 0x13, 2, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55114,7 +58887,8 @@ static const insn_template i386_optab[] + 0, 1, 0, 0, 0, 0 } } } }, + { MN_vcvtph2psx, 0x13, 2, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 0, 1, 5, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 2, 0, 1, 5, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55128,7 +58902,8 @@ static const insn_template i386_optab[] + 0, 0, 1, 0, 0, 0 } } } }, + { MN_vcvttph2w, 0x7c, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55142,7 +58917,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvttph2uw, 0x7c, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55156,7 +58932,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vcvttsh2si, 0x2c, 2, SPACE_EVEXMAP5, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55170,7 +58947,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassph, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, 7, 0, 0, 0, 1, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, 7, 0, 0, 0, 0, 1, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55186,7 +58964,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassph, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, 7, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, 7, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55202,7 +58981,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassphz, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 6, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 6, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55218,7 +58998,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassphx, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 4, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2, 0, 0, 4, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55234,7 +59015,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vfpclassphy, 0x66, 3, SPACE_0F3A, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 5, 0, 0, 1, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 5, 0, 0, 0, 1, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55250,7 +59032,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vmovw, 0x6e, 2, SPACE_EVEXMAP5, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55264,7 +59047,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vmovw, 0x7e, 2, SPACE_EVEXMAP5, None, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, +- 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55278,7 +59062,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_vrcpph, 0x4c, 2, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55292,7 +59077,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrcpsh, 0x4d, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55308,7 +59094,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_vrsqrtph, 0x4e, 2, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 0, 7, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 0, 7, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55322,7 +59109,8 @@ static const insn_template i386_optab[] + 1, 1, 1, 0, 0, 0 } } } }, + { MN_vrsqrtsh, 0x4f, 3, SPACE_EVEXMAP6, None, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55338,7 +59126,8 @@ static const insn_template i386_optab[] + 1, 0, 0, 0, 0, 0 } } } }, + { MN_prefetchit0, 0x18, 1, SPACE_0F, 7, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55350,7 +59139,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_prefetchit1, 0x18, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55362,7 +59152,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_cmpoxadd, 0xe0, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55378,7 +59169,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnoxadd, 0xe1, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55394,7 +59186,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpbxadd, 0xe2, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55410,7 +59203,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpcxadd, 0xe2, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55426,7 +59220,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnaexadd, 0xe2, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55442,7 +59237,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnbxadd, 0xe3, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55458,7 +59254,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpncxadd, 0xe3, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55474,7 +59271,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpaexadd, 0xe3, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55490,7 +59288,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpexadd, 0xe4, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55506,7 +59305,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpzxadd, 0xe4, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55522,7 +59322,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnexadd, 0xe5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55538,7 +59339,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnzxadd, 0xe5, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55554,7 +59356,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpbexadd, 0xe6, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55570,7 +59373,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnaxadd, 0xe6, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55586,7 +59390,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnbexadd, 0xe7, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55602,7 +59407,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpaxadd, 0xe7, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55618,7 +59424,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpsxadd, 0xe8, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55634,7 +59441,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnsxadd, 0xe9, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55650,7 +59458,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmppxadd, 0xea, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55666,7 +59475,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmppexadd, 0xea, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55682,7 +59492,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnpxadd, 0xeb, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55698,7 +59509,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmppoxadd, 0xeb, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55714,7 +59526,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmplxadd, 0xec, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55730,7 +59543,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpngexadd, 0xec, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55746,7 +59560,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnlxadd, 0xed, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55762,7 +59577,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpgexadd, 0xed, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55778,7 +59594,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmplexadd, 0xee, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55794,7 +59611,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpngxadd, 0xee, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55810,7 +59628,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpnlexadd, 0xef, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55826,7 +59645,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_cmpgxadd, 0xef, 3, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55842,7 +59662,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_wrmsrns, 0x01c6, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55854,7 +59675,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_rdmsrlist, 0x01c6, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55866,7 +59688,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_wrmsrlist, 0x01c6, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55878,7 +59701,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_aadd, 0xfc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55892,7 +59716,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_aand, 0xfc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55906,7 +59731,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_aor, 0xfc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55920,7 +59746,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_axor, 0xfc, 2, SPACE_0F38, None, + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55934,7 +59761,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_lkgs, 0x00, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, +- 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55946,7 +59774,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_lkgs, 0x00, 1, SPACE_0F, 6, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55958,7 +59787,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 1, 0 } } } }, + { MN_erets, 0x01ca, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -55970,7 +59800,8 @@ static const insn_template i386_optab[] + 0, 0, 0, 0, 0, 0 } } } }, + { MN_eretu, 0x01ca, 0, SPACE_0F, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, diff --git a/SPECS/binutils.spec b/SPECS/binutils.spec new file mode 100644 index 0000000..97662ab --- /dev/null +++ b/SPECS/binutils.spec @@ -0,0 +1,4528 @@ + +Summary: A GNU collection of binary utilities +Name: binutils%{?_with_debug:-debug} +Version: 2.41 +Release: 48%{?dist} +License: GPL-3.0-or-later AND (GPL-3.0-or-later WITH Bison-exception-2.2) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND BSD-3-Clause AND GFDL-1.3-or-later AND GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-2.0-or-later +URL: https://sourceware.org/binutils + +#---Start of Configure Options----------------------------------------------- + +# The binutils can be built with the following parameters to change +# the default behaviour: + +# --with bootstrap Build with minimal dependencies. +# --with clang Force building with CLANG instead of GCC. +# --without crossbuilds Do not build cross targeted versions of the binutils as well as natives. +# --with debug Build without optimizations and without splitting the debuginfo into a separate file. +# --without debuginfod Disable support for debuginfod. +# --without docs Skip building documentation. Default is with docs, except when building a cross binutils. +# --without gold Disable building of the GOLD linker. +# --without gprofng Do not build the GprofNG profiler. +# --without systemzlib Use the binutils version of zlib. +# --without testsuite Do not run the testsuite. Default is to run it. + +# Other configuration options can be set by modifying the following defines. + +# Create shared libraries. +%define enable_shared 1 + +# Create deterministic archives (ie ones without timestamps). +# Default is off because of BZ 1195883. +%define enable_deterministic_archives 0 + +# Generate a warning when linking creates an executable stack +%define warn_for_executable_stacks 1 + +# Generate a warning when linking creates a segment with read, write and execute permissions +%define warn_for_rwx_segments 1 + +# Turn the above warnings into errors. Only effective if the warnings are enabled. +%define error_for_executable_stacks 0 +%define error_for_rwx_segments 0 + +# Enable support for GCC LTO compilation. +# Disable if it is necessary to work around bugs in LTO. +# %%define enable_lto 0 +%define enable_lto 1 + +# Enable support for generating new dtags in the linker +# Disable if it is necessary to use RPATH instead. +# Currently enabled for Fedora, disabled for RHEL. +%if 0%{?fedora} != 0 +%define enable_new_dtags 1 +%else +%define enable_new_dtags 0 +%endif + +# Enable the compression of debug sections as default behaviour of the +# assembler and linker. This option is disabled for now. The assembler and +# linker have command line options to override the default behaviour. +%define default_compress_debug 0 + +# Default to read-only-relocations (relro) in shared binaries. +# This is enabled as a security feature. +%define default_relro 1 + +# Enable the default generation of GNU Build notes by the assembler. +# This option is disabled as it has turned out to be problematic for the i686 +# architecture, although the exact reason has not been determined. (See +# BZ 1572485). It also breaks building EFI binaries on AArch64, as these +# cannot have relocations against absolute symbols. +%define default_generate_notes 0 + +# Enable thread support in the GOLD linker (if it is being built). This is +# particularly important if plugins to the linker intend to use threads +# themselves. See BZ 1636479 for more details. This option is made +# configurable in case there is ever a need to disable thread support. +%define enable_threading 1 + +# Enable the use of separate code and data segments for all architectures, +# not just x86/x86_64. +%define enable_separate_code 0 + +#----End of Configure Options------------------------------------------------ + +# Note - in the future the gold linker may become deprecated. +%ifnarch riscv64 +%bcond_without gold +%else +# RISC-V does not have ld.gold thus disable by default. +%bcond_with gold +%endif + +# Default: Not bootstrapping. +%bcond_with bootstrap +# Default: Not debug +%bcond_with debug +# Default: Always build documentation. +%bcond_without docs +# Default: Always run the testsuite. +%bcond_without testsuite +# Default: support debuginfod. +%bcond_without debuginfod +# Default: build binutils-gprofng package. +%bcond_without gprofng +# Default: Use the system supplied version of the zlib compression library. +%bcond_without systemzlib + +# Allow the user to override the compiler used to build the binutils. +# The default build compiler is gcc if %%toolchain is not clang. +%if "%toolchain" == "clang" +%bcond_without clang +%else +%bcond_with clang +%endif + +%if %{with clang} +%global toolchain clang +%else +%global toolchain gcc +%endif + +# Create cross targeted versions of the binutils. +# For now we only do this for x86_64 hosts. +%ifarch x86_64 +%bcond_without crossbuilds +%else +%bcond_with crossbuilds +%endif + +%if %{with bootstrap} +%undefine with_docs +%undefine with_testsuite +%undefine with_gprofng +%endif + +%if %{with debug} +%undefine with_testsuite +%define enable_shared 0 +%endif + +# GprofNG currenly only supports the x86 and AArch64 architectures. +%ifnarch x86_64 aarch64 +%undefine with_gprofng +%endif + +# The opcodes library needs a few functions defined in the bfd +# library, but these symbols are not defined in the stub bfd .so +# that is available at link time. (They are present in the real +# .so that is used at run time). +%undefine _strict_symbol_defs_build + +# BZ 1924068. Since applications that use the BFD library are +# required to link against the static version, ensure that it retains +# its debug informnation. +%undefine __brp_strip_static_archive + +#---------------------------------------------------------------------------- + +# Note - the Linux Kernel binutils releases are too unstable and contain +# too many controversial patches so we stick with the official FSF version +# instead. + +Source: https://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.xz +Source2: binutils-2.19.50.0.1-output-format.sed + +#---------------------------------------------------------------------------- + +# Purpose: Use /lib64 and /usr/lib64 instead of /lib and /usr/lib in the +# default library search path of 64-bit targets. +# Lifetime: Permanent, but it should not be. This is a bug in the libtool +# sources used in both binutils and gcc, (specifically the +# libtool.m4 file). These are based on a version released in 2009 +# (2.2.6?) rather than the latest version. (Definitely fixed in +# libtool version 2.4.6). +Patch01: binutils-libtool-lib64.patch + +# Purpose: Appends a RHEL or Fedora release string to the generic binutils +# version string. +# Lifetime: Permanent. This is a RHEL/Fedora specific patch. +Patch02: binutils-version.patch + +# Purpose: Exports the demangle.h header file (associated with the libiberty +# sources) with the binutils-devel rpm. +# Lifetime: Permanent. This is a RHEL/Fedora specific patch. +Patch03: binutils-export-demangle.h.patch + +# Purpose: Disables the check in the BFD library's bfd.h header file that +# config.h has been included before the bfd.h header. See BZ +# #845084 for more details. +# Lifetime: Permanent - but it should not be. The bfd.h header defines +# various types that are dependent upon configuration options, so +# the order of inclusion is important. +# FIXME: It would be better if the packages using the bfd.h header were +# fixed so that they do include the header files in the correct +# order. +Patch04: binutils-no-config-h-check.patch + +# Purpose: Disable an x86/x86_64 optimization that moves functions from the +# PLT into the GOTPLT for faster access. This optimization is +# problematic for tools that want to intercept PLT entries, such +# as ltrace and LD_AUDIT. See BZs 1452111 and 1333481. +# Lifetime: Permanent. But it should not be. +# FIXME: Replace with a configure time option. +Patch05: binutils-revert-PLT-elision.patch + +# Purpose: Do not create PLT entries for AARCH64 IFUNC symbols referenced in +# debug sections. +# Lifetime: Permanent. +# FIXME: Find related bug. Decide on permanency. +Patch06: binutils-2.27-aarch64-ifunc.patch + +# Purpose: Stop the binutils from statically linking with libstdc++. +# Lifetime: Permanent. +Patch07: binutils-do-not-link-with-static-libstdc++.patch + +# Purpose: Allow OS specific sections in section groups. +# Lifetime: Fixed in 2.42 (maybe) +Patch08: binutils-special-sections-in-groups.patch + +# Purpose: Stop gold from aborting when input sections with the same name +# have different flags. +# Lifetime: Fixed in 2.42 (maybe) +Patch09: binutils-gold-mismatched-section-flags.patch + +# Purpose: Change the gold configuration script to only warn about +# unsupported targets. This allows the binutils to be built with +# BPF support enabled. +# Lifetime: Permanent. +Patch10: binutils-gold-warn-unsupported.patch + +# Purpose: Enable the creation of .note.gnu.property sections by the GOLD +# linker for x86 binaries. +# Lifetime: Permanent. +Patch11: binutils-gold-i386-gnu-property-notes.patch + +# Purpose: Allow the binutils to be configured with any (recent) version of +# autoconf. +# Lifetime: Fixed in 2.42 (maybe ?) +Patch12: binutils-autoconf-version.patch + +# Purpose: Stop libtool from inserting useless runpaths into binaries. +# Lifetime: Who knows. +Patch13: binutils-libtool-no-rpath.patch + +%if %{enable_new_dtags} +# Purpose: Change ld man page so that it says that --enable-new-dtags is the default. +# Lifetime: Permanent +Patch14: binutils-update-linker-manual.patch +%endif + +# Purpose: Stop an abort when using dwp to process a file with no dwo links. +# Lifetime: Fixed in 2.42 (maybe) +Patch15: binutils-gold-empty-dwp.patch + +# Purpose: Fix binutils testsuite failures. +# Lifetime: Permanent, but varies with each rebase. +Patch16: binutils-testsuite-fixes.patch + +# Purpose: Fix binutils testsuite failures for the RISCV-64 target. +# Lifetime: Permanent, but varies with each rebase. +Patch17: binutils-riscv-testsuite-fixes.patch + +# Purpose: Fix the GOLD linker's handling of 32-bit PowerPC binaries. +# Lifetime: Fixed in 2.42 +Patch18: binutils-gold-powerpc.patch + +# Purpose: Fix a potential NULL pointer dereference when parsing corrupt +# ELF symbol version information. +# Lifetime: Fixed in 2.42 +Patch19: binutils-handle-corrupt-version-info.patch + +# Purpose: Add options to turn the bfd linker's warnings about executable +# stacks and rwx segments into errors. +# Lifetime: Fixed in 2.42 +Patch20: binutils-execstack-error.patch + +# Purpose: Accept and ignore R_BPF_64_NODYLD32 relocations. +# Lifetime: Fixed in 2.42 +Patch21: binutils-BPF-reloc-4.patch + +# Purpose: Allow for x86_64 build environments that use a base ISA of x86-64-v3. +# Lifetime: Fixed in 2.42 +Patch22: binutils-x86-64-v3.patch + +# Purpose: Fix mergeing strings in really big programs. +# Lifetime: Fixed in 2.42 +Patch23: binutils-big-merge.patch + +# Purpose: Fix linker generated call veneers for large AArch64 programs with BTI enabled. +# Lifetime: Fixed in 2.42 +Patch24: binutils-aarch64-big-bti-programs.patch + +# Purpose: Make the GOLD linker ignore the "-z pack-relative-relocs" command line option. +# Lifetime: Fixed in 2.42 (maybe) +Patch25: binutils-gold-pack-relative-relocs.patch + +# Purpose: Add support for Intel's AVX10.1 architecture extension to gas. +# Lifetime: Fixed in 2.42 +Patch26: i686-AVX10.1-part-1.patch +Patch27: i686-AVX10.1-part-2.patch +Patch28: i686-AVX10.1-part-3.patch +Patch29: i686-AVX10.1-part-4.patch +Patch30: i686-AVX10.1-part-5.patch +Patch31: i686-AVX10.1-part-6.patch + +# Purpose: Fix: PR31179, The SET/ADD/SUB fix breaks ABI compatibility with 2.41 objects +# Lifetime: Fixed in 2.42 +Patch32: binutils-riscv-SUB_ULEB128.patch + +# Purpose: Let the gold lihnker ignore --error-execstack and --error-rwx-segments. +# Lifetime: Fixed in 2.42 (maybe) +Patch33: binutils-gold-ignore-execstack-error.patch + +# Purpose: Fix the allocation of space for DT_RELR relocations on PPC64. +# Lifetime: Fixed in 2.42 (maybe) +Patch34: binutils-ppc-dt_relr-relocs.patch + +# Purpose: Add support for mangling used by gcc v14. +# Lifetime: Fixed in 2.42 +Patch35: binutils-demangler-updates.patch + +# Purpose: Add support for Intel's APX extensions (part 1) +# Lifetime: Fixed in 2.42 +Patch36: binutils-Intel-APX-part-1.patch + +# Purpose: Add support for IBM's Power11 architecture extensions +# Lifetime: Fixed in 2.43 +Patch37: binutils-power-11.patch + +# Purpose: Fix support for Intel's APX extensions (part 1) +# Lifetime: Fixed in 2.43 +Patch38: binutils-Intel-APX-part-1-fixes.patch + +# Purpose: Import top-level multlib.am file. +# Lifetime: Fixed in 2.42 +Patch39: binutils-multilib.am.patch + +# Purpose: Add --section-ordering-file option to the BFD linker. +# Lifetime: Fixed in 2.43 +Patch40: binutils-section-ordering.patch + +# Purpose: Add --section-ordering-file option to the BFD linker. +# Lifetime: Fixed in 2.43 +Patch41: binutils-aarch64-RELR.patch + +# Purpose: More fixes for support for Intel's APX extensions (part 1) +# Lifetime: Fixed in 2.43 +Patch42: binutils-Intel-APX-part-1-supplimental.patch + +# Purpose: Workaround for an unresolved bug in ppc gcc +# which generates bad code in the linker. cf RHEL-49348 +# Lifetime: TEMPORARY +Patch88: bin.ppc64.gcc.patch + +# Purpose: Suppress the assembler's comment test as it fails - intermitantly - for RHEL-10 +# Lifetime: TEMPORARY +# Patch98: binutils-suppress-gas-comment-test.patch + +# Purpose: Suppress the x86 linker's p_align-1 tests due to kernel bug on CentOS-10 +# Lifetime: TEMPORARY +Patch99: binutils-suppress-ld-align-tests.patch + +#---------------------------------------------------------------------------- + +Provides: bundled(libiberty) + +%if %{with debug} +# Define this if you want to skip the strip step and preserve debug info. +# Useful for testing. +%define __debug_install_post : > %{_builddir}/%{?buildsubdir}/debugfiles.list +%define debug_package %{nil} +%endif + +# Perl, sed and touch are all used in the %%prep section of this spec file. +BuildRequires: autoconf, automake, perl, sed, coreutils, make + +%if %{with clang} +BuildRequires: clang compiler-rt +%else +BuildRequires: gcc +%endif + +%if %{with gold} +# Gold needs bison in order to build gold/yyscript.c. The GOLD testsuite needs a static libc++ +BuildRequires: bison, m4, gcc-c++, libstdc++-static + +%if ! %{with clang} +BuildRequires: gcc-c++ +Conflicts: gcc-c++ < 4.0.0 +%endif +%endif + +%if %{without bootstrap} +BuildRequires: gettext, flex, jansson-devel +%if %{with systemzlib} +BuildRequires: zlib-devel +%endif +%endif + +%if %{with docs} +BuildRequires: texinfo >= 4.0 +# BZ 920545: We need pod2man in order to build the manual pages. +BuildRequires: /usr/bin/pod2man +%else +BuildRequires: findutils +%endif + +# Required for: ld-bootstrap/bootstrap.exp bootstrap with --static +# It should not be required for: ld-elf/elf.exp static {preinit,init,fini} array +%if %{with testsuite} +# relro_test.sh uses dc which is part of the bc rpm, hence its inclusion here. +# sharutils is needed so that we can uuencode the testsuite results. +BuildRequires: dejagnu, glibc-static, sharutils, bc, libstdc++ +%if %{with systemzlib} +BuildRequires: zlib-devel +%endif +%endif + +%if %{with debuginfod} +BuildRequires: elfutils-debuginfod-client-devel +%endif + +Requires(post): %{_sbindir}/alternatives +Requires(preun): %{_sbindir}/alternatives +# We also need rm. +Requires(post): coreutils + +%if %{with gold} +# For now we make the binutils package require the gold sub-package. +# That way other packages that have a requirement on "binutils" but +# actually want gold will not have to be changed. In the future, if +# we decide to deprecate gold, we can remove this requirement, and +# then update other packages as necessary. +Requires: binutils-gold >= %{version} +%endif + +# On ARM EABI systems, we do want -gnueabi to be part of the +# target triple. +%ifnarch %{arm} +%define _gnu %{nil} +%endif + +#---------------------------------------------------------------------------- + +%description +Binutils is a collection of binary utilities, including ar (for +creating, modifying and extracting from archives), as (a family of GNU +assemblers), gprof (for displaying call graph profile data), ld (the +GNU linker), nm (for listing symbols from object files), objcopy (for +copying and translating object files), objdump (for displaying +information from object files), ranlib (for generating an index for +the contents of an archive), readelf (for displaying detailed +information about binary files), size (for listing the section sizes +of an object or archive file), strings (for listing printable strings +from files), strip (for discarding symbols), and addr2line (for +converting addresses to file and line). + +#---------------------------------------------------------------------------- + +%package devel +Summary: BFD and opcodes static and dynamic libraries and header files +Provides: binutils-static = %{version}-%{release} +%if %{with systemzlib} +Requires: zlib-devel +%endif +Requires: binutils = %{version}-%{release} +# BZ 1215242: We need touch... +Requires: coreutils + +%description devel +This package contains BFD and opcodes static and dynamic libraries. + +The dynamic libraries are in this package, rather than a separate +base package because they are actually linker scripts that force +the use of the static libraries. This is because the API of the +BFD library is too unstable to be used dynamically. + +The static libraries are here because they are now needed by the +dynamic libraries. + +Developers starting new projects are strongly encouraged to consider +using libelf instead of BFD. + +# BZ 1924068. Since applications that use the BFD library are +# required to link against the static version, ensure that it retains +# its debug informnation. +# FIXME: Yes - this is being done twice. I have no idea why this +# second invocation is necessary but if both are not present the +# static archives will be stripped. +%undefine __brp_strip_static_archive + +#---------------------------------------------------------------------------- + +%if %{with gold} + +%package gold +Summary: The GOLD linker, a faster alternative to the BFD linker +Provides: gold = %{version}-%{release} +Requires: binutils >= %{version} + +%description gold +This package provides the GOLD linker, which can be used as an alternative to +the default binutils linker (ld.bfd). The GOLD is generally faster than the +BFD linker, and it supports features such as Identical Code Folding and +Incremental linking. Unfortunately it is not as well maintained as the BFD +linker, and it may become deprecated in the future. + +# The higher of these two numbers determines the default linker. +%{!?ld_gold_priority:%global ld_gold_priority 30} + +%endif + +%{!?ld_bfd_priority: %global ld_bfd_priority 50} + +#---------------------------------------------------------------------------- + +%if %{with gprofng} + +%package gprofng +Summary: Next Generating code profiling tool +Provides: gprofng = %{version}-%{release} +Requires: binutils = %{version}-%{release} +BuildRequires: bison + +%description gprofng +GprofNG is the GNU Next Generation Profiler for analyzing the performance +of Linux applications. + +%endif + +#---------------------------------------------------------------------------- + +%if %{with crossbuilds} + +# Uncomment this when testing changes to the spec file, especially the cross building support. +# Remember to comment it out again once the testing is complete. +# %%undefine with_testsuite + +# The list of cross targets to build. +%global system redhat-linux +%global cross_targets aarch64-%{system} ppc64le-%{system} s390x-%{system} x86_64-%{system} + +%package -n cross-binutils-aarch64 +Summary: Cross targeted AArch64 binutils for developer use. Not intended for production. +Provides: cross-binutils-aarch64 = %{version}-%{release} +Requires: coreutils +%if %{with systemzlib} +Requires: zlib-devel +%endif +BuildRequires: autoconf automake perl sed coreutils make gcc findutils gcc-c++ +ExcludeArch: aarch64-linux-gnu aarch64-redhat-linux + +%description -n cross-binutils-aarch64 +This package contains an AArch64 cross targeted version of the binutils for +use by developers. It is NOT INTENDED FOR PRODUCTION use. + + +%package -n cross-binutils-ppc64le +Summary: Cross targeted PPC64LE binutils for developer use. Not intended for production. +Provides: cross-binutils-ppc64le = %{version}-%{release} +Requires: coreutils +%if %{with systemzlib} +Requires: zlib-devel +%endif +BuildRequires: autoconf automake perl sed coreutils make gcc findutils gcc-c++ +ExcludeArch: ppc64le-linux-gnu ppc64le-redhat-linux + +%description -n cross-binutils-ppc64le +This package contains a PPC64LE cross targeted version of the binutils for +use by developers. It is NOT INTENDED FOR PRODUCTION use. + + +%package -n cross-binutils-s390x +Summary: Cross targeted S390X binutils for developer use. Not intended for production. +Provides: cross-binutils-s390x = %{version}-%{release} +Requires: coreutils +%if %{with systemzlib} +Requires: zlib-devel +%endif +BuildRequires: autoconf automake perl sed coreutils make gcc findutils gcc-c++ +ExcludeArch: s390x-linux-gnu s390x-redhat-linux + +%description -n cross-binutils-s390x +This package contains a S390X cross targeted version of the binutils for +use by developers. It is NOT INTENDED FOR PRODUCTION use. + + +%package -n cross-binutils-x86_64 +Summary: Cross targeted X86_64 binutils for developer use. Not intended for production. +Provides: cross-binutils-x86_64 = %{version}-%{release} +Requires: coreutils +%if %{with systemzlib} +Requires: zlib-devel +%endif +BuildRequires: autoconf automake perl sed coreutils make gcc findutils gcc-c++ +ExcludeArch: x86_64-linux-gnu x86_64-redhat-linux i686-linux-gnu i686-redhat-linux + +%description -n cross-binutils-x86_64 +This package contains a X86_64 cross targeted version of the binutils for +use by developers. It is NOT INTENDED FOR PRODUCTION use. + +%endif + +#---------------------------------------------------------------------------- + +%prep +%autosetup -p1 -n binutils-%{version} + +# On ppc64 and aarch64, we might use 64KiB pages +sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*ppc.c +sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*aarch64.c +sed -i -e '/common_pagesize/s/4 /64 /' gold/powerpc.cc +sed -i -e '/pagesize/s/0x1000,/0x10000,/' gold/aarch64.cc + +# LTP sucks +perl -pi -e 's/i\[3-7\]86/i[34567]86/g' */conf* +sed -i -e 's/%''{release}/%{release}/g' bfd/Makefile{.am,.in} +sed -i -e '/^libopcodes_la_\(DEPENDENCIES\|LIBADD\)/s,$, ../bfd/libbfd.la,' opcodes/Makefile.{am,in} + +# Build libbfd.so and libopcodes.so with -Bsymbolic-functions if possible. +if gcc %{optflags} -v --help 2>&1 | grep -q -- -Bsymbolic-functions; then +sed -i -e 's/^libbfd_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' bfd/Makefile.{am,in} +sed -i -e 's/^libopcodes_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' opcodes/Makefile.{am,in} +fi + +# $PACKAGE is used for the gettext catalog name. +sed -i -e 's/^ PACKAGE=/ PACKAGE=%{?cross}/' */configure + +# Undo the name change to run the testsuite. +for tool in binutils gas ld +do + sed -i -e "2aDEJATOOL = $tool" $tool/Makefile.am + sed -i -e "s/^DEJATOOL = .*/DEJATOOL = $tool/" $tool/Makefile.in +done + +# Touch the .info files so that they are newer then the .texi files and +# hence do not need to be rebuilt. This eliminates the need for makeinfo. +# The -print is there just to confirm that the command is working. +%if %{without docs} + find . -name *.info -print -exec touch {} \; +%else +# If we are creating the docs, touch the texi files so that the info and +# man pages will be rebuilt. + find . -name *.texi -print -exec touch {} \; +%endif + +%ifarch %{power64} +%define _target_platform %{_arch}-%{_vendor}-%{_host_os} +%endif + +#---------------------------------------------------------------------------- + +%build + +# Building is now handled by functions which allow for both native and cross +# builds. Builds are created in their own sub-directory of the sources, which +# allows for both native and cross builds to be created at the same time. + +# compute_global_configuration() +# Build the CARGS variable which contains the global configuration arguments. +compute_global_configuration() +{ + CARGS="--quiet \ + --build=%{_target_platform} \ + --host=%{_target_platform} \ + --enable-ld \ + --enable-plugins \ + --enable-64-bit-bfd \ + --with-bugurl=%{dist_bug_report_url}" + +%if %{without bootstrap} + CARGS="$CARGS --enable-jansson=yes" +%endif + +%if %{with debuginfod} + CARGS="$CARGS --with-debuginfod" +%endif + +%if %{with gprofng} + CARGS="$CARGS --enable-gprofng=yes" +%else + CARGS="$CARGS --enable-gprofng=no" +%endif + +%if %{with systemzlib} + CARGS="$CARGS --with-system-zlib" +%endif + +%if %{default_compress_debug} + CARGS="$CARGS --enable-compressed-debug-sections=all" +%else + CARGS="$CARGS --enable-compressed-debug-sections=none" +%endif + +%if %{default_generate_notes} + CARGS="$CARGS --enable-generate-build-notes=yes" +%else + CARGS="$CARGS --enable-generate-build-notes=no" +%endif + +%if %{default_relro} + CARGS="$CARGS --enable-relro=yes" +%else + CARGS="$CARGS --enable-relro=no" +%endif + +%if %{enable_deterministic_archives} + CARGS="$CARGS --enable-deterministic-archives" +%else + CARGS="$CARGS --enable-deterministic-archives=no" +%endif + +%if %{warn_for_executable_stacks} + CARGS="$CARGS --enable-warn-execstack=yes" + CARGS="$CARGS --enable-default-execstack=no" +%if %{error_for_executable_stacks} + CARGS="$CARGS --enable-error-execstack=yes" +%endif +%else + CARGS="$CARGS --enable-warn-execstack=no" +%endif + +%if %{warn_for_rwx_segments} + CARGS="$CARGS --enable-warn-rwx-segments=yes" +%if %{error_for_rwx_segments} + CARGS="$CARGS --enable-error-rwx-segments=yes" +%endif +%else + CARGS="$CARGS --enable-warn-rwx-segments=no" +%endif + +%if %{enable_lto} + CARGS="$CARGS --enable-lto" +%endif + +%if %{enable_new_dtags} + CARGS="$CARGS --enable-new-dtags --disable-rpath" +%endif + +%if %{enable_separate_code} + CARGS="$CARGS --enable-separate-code=yes" + CARGS="$CARGS --enable-rosegment=yes" +%endif + +%if %{enable_threading} + CARGS="$CARGS --enable-threads=yes" +%else + CARGS="$CARGS --enable-threads=no" +%endif +} + +# run_target_configuration() +# Create and configure the build tree. +# $1 is the target architecture +# $2 is 1 if this is a native build +# $3 is 1 if shared libraries should be built +# +run_target_configuration() +{ + local target="$1" + local native="$2" + local shared="$3" + local builddir=build-$target + + # Create a build directory + rm -rf $builddir + mkdir $builddir + pushd $builddir + + echo "BUILDING the Binutils for TARGET $target (native ? $native) (shared ? $shared)" + + %set_build_flags + +%ifarch %{power64} + export CFLAGS="$RPM_OPT_FLAGS -Wno-error" +%else + export CFLAGS="$RPM_OPT_FLAGS" +%endif + +%if %{with debug} + %undefine _fortify_level + export CFLAGS="$CFLAGS -O0 -ggdb2 -Wno-error" +%endif + + export CXXFLAGS="$CXXFLAGS $CFLAGS" + + # BZ 1541027 - include the linker flags from redhat-rpm-config as well. + export LDFLAGS=$RPM_LD_FLAGS + +%if %{enable_new_dtags} + # Build the tools with new dtags, as well as supporting their generation by the linker. + export LDFLAGS="$LDFLAGS -Wl,--enable-new-dtags" +%endif + + if test x$native == x1 ; then + # Extra targets to build along with the native one. + # + # BZ 1920373: Enable PEP support for all targets as the PERF package's + # testsuite expects to be able to read PE format files ragrdless of + # the host's architecture. + # + # Also enable the BPF target so that strip will work on BPF files. + case $target in + s390*) + # Note - The s390-linux target is there so that the GOLD linker will + # build. By default, if configured for just s390x-linux, the GOLD + # configure system will only include support for 64-bit targets, but + # the s390x gold backend uses both 32-bit and 64-bit templates. + TARGS="--enable-targets=s390-linux,s390x-linux,x86_64-pep,bpf-unknown-none" + ;; + ia64*) + TARGS="--enable-targets=ia64-linux,x86_64-pep,bpf-unknown-none" + ;; + ppc64-*) + TARGS="--enable-targets=powerpc64le-linux,spu,x86_64-pep,bpf-unknown-none" + ;; + ppc64le*) + TARGS="--enable-targets=powerpc-linux,spu,x86_64-pep,bpf-unknown-none" + ;; + *) + TARGS="--enable-targets=x86_64-pep,bpf-unknown-none" + ;; + esac + + # Set up the sysroot and paths. + SARGS="--with-sysroot=/ \ + --prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --sysconfdir=%{_sysconfdir}" +%if %{with gold} + SARGS="$SARGS --enable-gold=default" +%else + SARGS="$SARGS --disable-gold" +%endif + + else # Cross builds + + # No extra targets are supported. + TARGS="" + + # Disable the GOLD linker for cross builds because although it does + # support sysroots specified on the command line, it does not support + # them in linker scripts via the =/$SYSROOT prefix. + SARGS="--with-sysroot=yes \ + --program-prefix=$target- \ + --prefix=%{_prefix}/$target \ + --libdir=%{_libdir} \ + --exec-prefix=%{_usr} \ + --sysconfdir=%{_sysconfdir} \ + --disable-gold" + fi + + if test x$shared == x1 ; then + RARGS="--enable-shared" + else + RARGS="--disable-shared" + fi + + ../configure --target=$target $CARGS $SARGS $RARGS $TARGS || cat config.log + + popd +} + +# build_target () +# Builds a configured set of sources. +# $1 is the target architecture +build_target() +{ + local target="$1" + local builddir=build-$target + + pushd $builddir + +%if %{with docs} + # Because of parallel building, info has to be made after all. + %make_build %{_smp_mflags} tooldir=%{_prefix} all + %make_build %{_smp_mflags} tooldir=%{_prefix} info +%else + %make_build %{_smp_mflags} tooldir=%{_prefix} MAKEINFO=true all +%endif + + popd +} + +# run_tests() +# Test a built (but not installed) binutils. +# $1 is the target architecture +# $2 is 1 if this is a native build +# +run_tests() +{ + local target="$1" + local native="$2" + + echo "TESTING the binutils FOR TARGET $target (native ? $native)" + + # Do not use %%check as it is run after %%install where libbfd.so is rebuilt + # with -fvisibility=hidden no longer being usable in its shared form. +%if %{without testsuite} + echo ================ $target == TESTSUITE DISABLED ==================== + return +%endif + + pushd build-$target + + # FIXME: I have not been able to find a way to capture a "failed" return + # value from "make check" without having it also stop the build. So in + # order to obtain the logs from the test runs if a check fails I have to + # run the tests twice. Once to generate the logs and then a second time + # to generate the correct exit code. + + echo ================ $target == TEST RUN 1 ============================= + + # Run the tests and accumulate the logs - but ignore failures... + + if test x$native == x1 ; then + make -k check-gas check-binutils check-ld < /dev/null || : +%if %{with gold} + # The GOLD testsuite always returns an error code, even if no tests fail. + make -k check-gold < /dev/null || : +%endif + else + # Do not try running linking tests for the cross-binutils. + make -k check-gas check-binutils < /dev/null || : + fi + + for f in {gas/testsuite/gas,ld/ld,binutils/binutils}.sum + do + if [ -f $f ]; then + cat $f + fi + done + +%if %{with gold} + if [ -f gold/test-suite.log ]; then + cat gold/test-suite.log + fi + if [ -f gold/testsuite/test-suite.log ]; then + cat gold/testsuite/*.log + fi +%endif + + for file in {gas/testsuite/gas,ld/ld,binutils/binutils}.{sum,log} + do + if [ -f $file ]; then + ln $file binutils-$target-$(basename $file) || : + fi + done + + tar cjf binutils-$target.tar.xz binutils-$target-*.{sum,log} + uuencode binutils-$target.tar.xz binutils-$target.tar.xz + rm -f binutils-$target.tar.xz binutils-$target-*.{sum,log} + +%if %{with gold} + if [ -f gold/testsuite/test-suite.log ]; then + tar cjf binutils-$target-gold.log.tar.xz gold/testsuite/*.log + uuencode binutils-$target-gold.log.tar.xz binutils-$target-gold.log.tar.xz + rm -f binutils-$target-gold.log.tar.xz + fi +%endif + + echo ================ $target == TEST RUN 2 ============================= + + # Run the tests and this time fail if there are any errors. + + if test x$native == x1 ; then + make -k check-gas check-binutils check-ld < /dev/null + # Ignore the gold tests - they always fail + else + # Do not try running linking tests for the cross-binutils. + make -k check-gas check-binutils < /dev/null + fi + + popd +} + +#---------------------------------------------------------------------------- + +# There is a problem with the clang+libtool+lto combination. +# The LDFLAGS containing -flto are not being passed when linking the +# libbfd.so, so the build fails. Solution: disable LTO. +%if %{with clang} +%define enable_lto 0 +%endif + +%if %{with clang} +%define _with_cc_clang 1 +%endif + +# Disable LTO on arm due to: +# https://bugzilla.redhat.com/show_bug.cgi?id=1918924 +%ifarch %{arm} +%define enable_lto 0 +%endif + +%if !0%{?enable_lto} +%global _lto_cflags %{nil} +%endif + +compute_global_configuration + +# Build the native configuration. +run_target_configuration %{_target_platform} 1 %{enable_shared} +build_target %{_target_platform} +run_tests %{_target_platform} 1 + +%if %{with crossbuilds} + +# Build the cross configurations. +for f in %{cross_targets}; do + + # Skip the native build. + if test x$f != x%{_target_platform}; then + # We could improve the cross build's size by enabling shared libraries but + # the produced binaries may be less convenient in the embedded environment. + run_target_configuration $f 0 0 + build_target $f + run_tests $f 0 + fi +done + +%endif + +#---------------------------------------------------------------------------- + +%install + +# install_binutils() +# Install the binutils. +# $1 is the target architecture +# $2 is 1 if this is a native build +# $3 is 1 if shared libraries should be built +# +install_binutils() +{ + local target="$1" + local native="$2" + local shared="$3" + + local local_root=%{buildroot}/%{_prefix} + local local_bindir=$local_root/bin + local local_libdir=%{buildroot}%{_libdir} + local local_mandir=$local_root/share/man/man1 + local local_incdir=$local_root/include + local local_infodir=$local_root/share/info + local local_libdir + + mkdir -p $local_libdir + mkdir -p $local_incdir + mkdir -p $local_mandir + mkdir -p $local_infodir + + echo "INSTALLING the binutils FOR TARGET $target (native ? $native) (shared ? $shared)" + + pushd build-$target + + if test x$native == x1 ; then + +%if %{with docs} + %make_install DESTDIR=%{buildroot} + make prefix=%{buildroot}%{_prefix} infodir=$local_infodir install-info +%else + %make_install DESTDIR=%{buildroot} MAKEINFO=true +%endif + + # Rebuild the static libiaries with -fPIC. + # It would be nice to build the static libraries with -fno-lto so that + # they can be used by programs that are built with a different version + # of GCC from the one used to build the libraries, but this will trigger + # warnings from annocheck. + + # Future: Remove libiberty together with its header file, projects should bundle it. + %make_build -s -C libiberty clean + %set_build_flags + %make_build -s CFLAGS="-g -fPIC $RPM_OPT_FLAGS" -C libiberty + + # Without the hidden visibility the 3rd party shared libraries would export + # the bfd non-stable ABI. + %make_build -s -C bfd clean + %set_build_flags + %make_build -s CFLAGS="-g -fPIC $RPM_OPT_FLAGS -fvisibility=hidden" -C bfd + + %make_build -s -C opcodes clean + %set_build_flags + %make_build -s CFLAGS="-g -fPIC $RPM_OPT_FLAGS" -C opcodes + + %make_build -s -C libsframe clean + %set_build_flags + %make_build -s CFLAGS="-g -fPIC $RPM_OPT_FLAGS" -C libsframe + + install -m 644 bfd/.libs/libbfd.a $local_libdir + install -m 644 libiberty/libiberty.a $local_libdir + install -m 644 ../include/libiberty.h $local_incdir + install -m 644 opcodes/.libs/libopcodes.a $local_libdir + install -m 644 libsframe/.libs/libsframe.a $local_libdir + + # Remove Windows/Novell only man pages + rm -f $local_mandir/{dlltool,nlmconv,windres,windmc}* +%if %{without docs} + rm -f $local_mandir/{addr2line,ar,as,c++filt,elfedit,gp,ld,nm,objcopy,objdump,ranlib,readelf,size,strings,strip}* + rm -f $local_infodir/{as,bfd,binutils,ctf,gprof,ld,sframe}* +%endif + +%if %{enable_shared} + chmod +x $local_libdir/lib*.so* +%endif + + # Prevent programs from linking against libbfd and libopcodes + # dynamically, as they are changed far too often. + rm -f $local_libdir/lib{bfd,opcodes}.so + + # Remove libtool files, which reference the .so libs + rm -f %local_libdir/lib{bfd,opcodes}.la + + # Sanity check --enable-64-bit-bfd really works. + grep '^#define BFD_ARCH_SIZE 64$' $local_incdir/bfd.h + # Fix multilib conflicts of generated values by __WORDSIZE-based expressions. +%ifarch %{ix86} x86_64 ppc %{power64} s390 s390x sh3 sh4 sparc sparc64 arm + sed -i -e '/^#include "ansidecl.h"/{p;s~^.*$~#include ~;}' \ + -e 's/^#define BFD_DEFAULT_TARGET_SIZE \(32\|64\) *$/#define BFD_DEFAULT_TARGET_SIZE __WORDSIZE/' \ + -e 's/^#define BFD_HOST_64BIT_LONG [01] *$/#define BFD_HOST_64BIT_LONG (__WORDSIZE == 64)/' \ + -e 's/^#define BFD_HOST_64_BIT \(long \)\?long *$/#if __WORDSIZE == 32\ +#define BFD_HOST_64_BIT long long\ +#else\ +#define BFD_HOST_64_BIT long\ +#endif/' \ + -e 's/^#define BFD_HOST_U_64_BIT unsigned \(long \)\?long *$/#define BFD_HOST_U_64_BIT unsigned BFD_HOST_64_BIT/' \ + $local_incdir/bfd.h +%endif + + touch -r ../bfd/bfd-in2.h $local_incdir/bfd.h + + # Generate .so linker scripts for dependencies; imported from glibc/Makerules: + + # This fragment of linker script gives the OUTPUT_FORMAT statement + # for the configuration we are building. + OUTPUT_FORMAT="\ +/* Ensure this .so library will not be used by a link for a different format + on a multi-architecture system. */ +$(gcc $CFLAGS $LDFLAGS -shared -x c /dev/null -o /dev/null -Wl,--verbose -v 2>&1 | sed -n -f "%{SOURCE2}")" + + tee $local_libdir/libbfd.so <> binutils.lang + cat bfd.lang >> binutils.lang + cat gas.lang >> binutils.lang + cat gprof.lang >> binutils.lang + + if [ -x ld/ld-new ]; then + %find_lang ld + cat ld.lang >> binutils.lang + fi + + if [ -x gold/ld-new ]; then + %find_lang gold + cat gold.lang >> binutils.lang + fi + + popd +} + +#---------------------------------------------------------------------------- + +install_binutils %{_target_platform} 1 %{enable_shared} + +%if %{with crossbuilds} + +for f in %{cross_targets}; do + if test x$f != x%{_target_platform}; then + install_binutils $f 0 0 + fi +done + +%endif + +# Stop check-rpaths from complaining about standard runpaths. +export QA_RPATHS=0x0003 + +#---------------------------------------------------------------------------- + +%if %{with gold} +%post gold + +%{_sbindir}/alternatives --install %{_bindir}/ld ld \ + %{_bindir}/ld.gold %{ld_gold_priority} +exit 0 +%endif + +%post + +# Remove the /usr/bin/ld file so that the alternatives program +# can replace it with a symbolic link. +%__rm -f %{_bindir}/ld + +%{_sbindir}/alternatives --install %{_bindir}/ld ld \ + %{_bindir}/ld.bfd %{ld_bfd_priority} + +# Do not run "alternatives --auto ld" here. Leave the setting to +# however the user previously had it set. See BZ 1592069 for more details. + +%ldconfig_post + +exit 0 + +#---------------------------------------------------------------------------- + +# Note: $1 == 0 means that there is an uninstall in progress. +# $1 == 1 means that there is an upgrade in progress. + +%if %{with gold} +%preun gold + +if [ $1 = 0 ]; then + %{_sbindir}/alternatives --remove ld %{_bindir}/ld.gold +fi +exit 0 +%endif + +%preun +if [ $1 = 0 ]; then + %{_sbindir}/alternatives --remove ld %{_bindir}/ld.bfd +fi + +# Restore the /usr/bin/ld file so that the automatic file +# removal part of the uninstall process will work. +touch %{_bindir}/ld + +exit 0 + +#---------------------------------------------------------------------------- + +%postun +%ldconfig_postun + +#---------------------------------------------------------------------------- + +%files -f build-%{_target_platform}/binutils.lang + +%if %{with crossbuilds} +%if "%{_target_platform}" != "aarch64-%{system}" +%exclude /usr/aarch64-%{system}/* +%exclude /usr/bin/aarch64-%{system}-* +%endif + +%if "%{_target_platform}" != "ppc64le-%{system}" +%exclude /usr/ppc64le-%{system}/* +%exclude /usr/bin/ppc64le-%{system}-* +%endif + +%if "%{_target_platform}" != "s390x-%{system}" +%exclude /usr/s390x-%{system}/* +%exclude /usr/bin/s390x-%{system}-* +%endif + +%if "%{_target_platform}" != "x86_64-%{system}" +%exclude /usr/x86_64-%{system}/* +%exclude /usr/bin/x86_64-%{system}-* +%endif +%endif + +%license COPYING COPYING3 COPYING3.LIB COPYING.LIB +%doc README +%{_bindir}/[!l]* +# %%verify(symlink) does not work for some reason, so using "owner" instead. +%verify(owner) %{_bindir}/ld +# %%verify(mtime) does not work, probably because of the alternatives command in the %%post stage, so using "owner" instead. (RHEL-30887) +%verify(owner) %{_bindir}/ld.bfd + +%if %{with gprofng} +%exclude %{_bindir}/gp-* +%exclude %{_bindir}/gprofng +%endif + +%exclude %dir %{_exec_prefix}/lib/debug + +%if %{with docs} +%{_mandir}/man1/ +%{_infodir}/as.info.* +%{_infodir}/binutils.info.* +%{_infodir}/ld.info.* +%{_infodir}/ldint.info.* +%{_infodir}/bfd.info.* +%{_infodir}/ctf-spec.info.* +%{_infodir}/gprof.info.* +%{_infodir}/sframe-spec.info.* +%if %{with gprofng} +%{_mandir}/man1/gp-* +%{_mandir}/man1/gprofng* +%{_infodir}/gprofng* +%endif +%endif + +%if %{enable_shared} +%{_libdir}/lib*.so +%{_libdir}/lib*.so.* +%exclude %{_libdir}/libbfd.so +%exclude %{_libdir}/libopcodes.so +%exclude %{_libdir}/libctf.a +%exclude %{_libdir}/libctf-nobfd.a + +%dir %{_libdir}/bfd-plugins +%{_libdir}/bfd-plugins/libdep.so +%exclude %{_libdir}/bfd-plugins/libdep.a +%endif + +%files devel +%{_prefix}/include/* +%{_libdir}/lib*.a +%{_libdir}/libbfd.so +%{_libdir}/libopcodes.so +%if %{enable_shared} +%exclude %{_libdir}/lib*.la +%endif + +%if %{with gold} +%files gold +%{_bindir}/%{?cross}ld.gold +%endif + +%if %{with gprofng} +%files gprofng +%{_bindir}/gp-* +%{_bindir}/gprofng +%dir %{_libdir}/gprofng +%{_libdir}/gprofng/* +%{_sysconfdir}/gprofng.rc +%endif + +%if %{with crossbuilds} + +%if "%{_target_platform}" != "aarch64-%{system}" +%files -n cross-binutils-aarch64 +/usr/aarch64-%{system}/ +/usr/bin/aarch64-%{system}-* +%endif + +%if "%{_target_platform}" != "ppc64le-%{system}" +%files -n cross-binutils-ppc64le +/usr/ppc64le-%{system}/ +/usr/bin/ppc64le-%{system}-* +%endif + +%if "%{_target_platform}" != "s390x-%{system}" +%files -n cross-binutils-s390x +/usr/s390x-%{system}/ +/usr/bin/s390x-%{system}-* +%endif + +%if "%{_target_platform}" != "x86_64-%{system}" +%files -n cross-binutils-x86_64 +/usr/x86_64-%{system}/ +/usr/bin/x86_64-%{system}-* +%endif + +%endif + +#---------------------------------------------------------------------------- +%changelog +* Thu Aug 08 2024 Nick Clifton - 2.41-48 +- Restore LTO use when building binutils. (RHEL-53215) + +* Tue Jul 30 2024 Nick Clifton - 2.41-47 +- Temporary workaround for ppc64 gcc compilation bug. (RHEL-49348) + +* Mon Jul 08 2024 Nick Clifton - 2.41-46 +- Import fix for AArch64 DT_RELR support (PR 31924). +- More fixes for Intel's APX (part 1) extensions. (RHEL-44713) +- Total list of APX patches applied (so far): +- Feb 19 5190fa38286a5a6a664e21c04fde361b395d9f72 x86: support APX forms of U{RD,WR}MSR +- Feb 9 41e115853eef32304e3e6fcd7feb4ec116090ee0 x86/APX: with REX2 map 1 doesn't "chain" to maps 2 or 3 +- Feb 9 5a635f1f59ad08e572e36419f1145433fd670214 x86/APX: VROUND{P,S}{S,D} encodings require AVX512{F,VL} +- Jan 19 2519809009ed5e250ad9ed9b6184d9c45dba5029 x86/APX: be consistent with insn suffixes +- Jan 19 eea4357967b6182459d423c4d919a7cb0219604b x86/APX: VROUND{P,S}{S,D} can generally be encoded +- Jan 15 3037cefe56affe48ac53d85b9e33c2c3a408c41f opcodes: gas: x86: define and use Rex2 as attribute not constraint +- Jan 9 7c3df3c680c2bee0b17e60bfbadc751c67e05ed0 x86: add missing APX logic to cpu_flags_match() +- Jan 9 7c3df3c680c2bee0b17e60bfbadc751c67e05ed0 x86: add missing APX logic to cpu_flags_match() +- Jan 8 a0c9f938521a36b34a27740e5008e35f0ddd2b3f i386: Use .insn describe jmpabs's testcases. +- Jan 8 a0c9f938521a36b34a27740e5008e35f0ddd2b3f i386: Use .insn describe jmpabs's testcases. +- Jan 7 f322084c7c842fbfd8c3291ff3f8d114173b4674 i386: Correct adcx suffix in disassembler +- Dec 29 eed38d8a02b277825a682d8d1daeb0bcc4508b04 Fix x86-64: Add R_X86_64_CODE_4_GOTPCRELX +- Dec 29 3d5a60de52556f6a53d71d7e607c6696450ae3e4 x86-64: Add R_X86_64_CODE_4_GOTPCRELX +- Dec 29 302a296de0e83d6c320cc0f0d5dd1a1d73182009 x86: Append "#pass" to APX tests +- Dec 29 302a296de0e83d6c320cc0f0d5dd1a1d73182009 x86: Append "#pass" to APX tests +- Dec 29 2eda6e3ecdd0ea93586a532d9464e430f708334a x86: Don't use .insn with '/' +- Dec 29 2eda6e3ecdd0ea93586a532d9464e430f708334a x86: Don't use .insn with '/' +- Dec 28 ce9cddf5dd2a614815b1d9affa67c9419599ff63 Add tests for APX GPR32 with extend evex prefix +- Dec 28 cca90632f83d47bc7f913e098c4531e52327d272 Support APX JMPABS for disassemble +- Dec 28 ac32c879b26af580e29ecaa152e3d9d999f34caa Support APX pushp/popp +- Dec 28 a6d0019eb7fcd634e12b7bcc535d5181c47fc82a ld: Mention support for Intel APX relocations in NEWS +- Dec 28 a6d0019eb7fcd634e12b7bcc535d5181c47fc82a ld: Mention support for Intel APX relocations in NEWS +- Dec 28 80d61d8d614d68a0b1932ed3a86d4cda01e5633e Support APX GPR32 with rex2 prefix +- Dec 28 6967f19dcd3d2794976b2a193a0c30b626c92c3b Support APX NDD optimized encoding. +- Dec 28 6177c84d5edc2cb6b197f00bd06380b7b24a719f Support APX GPR32 with extend evex prefix +- Dec 28 5e2f0c9a5f3d467a341a0c3d579d9c6ee6daa4d1 gas: Mention initial support for Intel APX in NEWS +- Dec 28 3083f376435662c747ab946bb84e6e6698985610 Support APX NDD +- Dec 28 2b1d6655c5c62673547b9676d811ef58ce3f0d1e Created an empty EVEX_MAP4_ sub-table for EVEX instructions. +- Dec 28 08a98d4c1331cc726c8c76c14d9db34d6f0aadd6 Support APX Push2/Pop2 +- Dec 22 3e4a511bee874d73f9f749cc8cf3bc748b4d47b5 x86-64: refuse "high" 8-bit regs with .insn and VEX/XOP/EVEX encodings +- Dec 15 35266cb139697e00ee993118aa621fdac17e3f6e x86: fold assembly dialect attributes +- Jul 2 00a17c6ad068c95019e1f37cfc2d1b8aaebd6ecb Gold: Handle R_X86_64_CODE_4_GOTPC32_TLSDESC/R_X86_64_CODE_4_GOTTPOFF +- Jun 9 a533c8df598b5ef99c54a13e2b137c98b34b043c x86-64: Add R_X86_64_CODE_4_GOTTPOFF/R_X86_64_CODE_4_GOTPC32_TLSDESC +- Jun 8 3d5a60de52556f6a53d71d7e607c6696450ae3e4 x86-64: Add R_X86_64_CODE_4_GOTPCRELX +- Jun 8 4a54cb06585f568031dfd291d0fe45979ad75e98 gold: Handle R_X86_64_CODE_4_GOTPCRELX + +* Mon Jun 24 2024 Troy Dawson - 2.41-45 +- Bump release for June 2024 mass rebuild + +* Mon Jun 24 2024 Nick Clifton - 2.41-44 +- Fix building with documentation disabled. (RHEL-44615) + +* Mon Jun 17 2024 Nick Clifton - 2.41-43 +- Do not enable '-z separate code' by default - allow packages to choose to do it. +- Add fix for discarded section counting for AArcch64 DT_RELR relocs. (RHEL-42765) + +* Thu Jun 13 2024 Nick Clifton - 2.41-42 +- Add --rosegment option to BFD linker. + +* Fri May 31 2024 Nick Clifton - 2.41-41 +- Add support for RELR relocs to the AArch64 target. (RHEL-31846) + +* Wed May 29 2024 Nick Clifton - 2.41-40 +- Suppress gas comment test. (RHEL-19865) + +* Tue May 28 2024 Nick Clifton - 2.41-39 +- Fix execstack error patch. (RHEL-19865) + +* Mon May 20 2024 Nick Clifton - 2.41-38 +- Add section-ordering patch to bfd linker. (RHEL-36305) + +* Tue Apr 02 2024 Nick Clifton - 2.41-36 +- Fix verification of ld.bfd installation. (RHEL-30887) + +* Mon Mar 18 2024 Nick Clifton - 2.41-35 +- Enable cross builds. (RHEL-27750) + +* Mon Feb 12 2024 Nick Clifton - 2.41-34 +- Backport commits 5a635f1f59ad and 41e115853eef to fix some APX issues. +- Add top-level multilib.am file. + +* Mon Feb 12 2024 Nick Clifton - 2.41-33 +- Backport commit 4199cf1e152d in order to add support for IBM's power-11 architecture extensions. + +* Wed Jan 24 2024 Nick Clifton - 2.41-32 +- Suppress the x86 linker's p_align-1 tests in order to cope with a CentOS-10 kernel bug. (RHEL-22466) + +* Tue Jan 23 2024 Fedora Release Engineering - 2.41-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Nick Clifton - 2.41-30 +- Import commits 4a54cb06585f568031dfd291d0fe45979ad75e98 and 00a17c6ad068c95019e1f37cfc2d1b8aaebd6ecb to add APX support to GOLD. + +* Sat Jan 20 2024 Jakub Jelinek - 2.41-29 +- Import commit eed38d8a02b2 to update APX support. (#2259333) + +* Fri Jan 19 2024 Nick Clifton - 2.41-28 +- Import commits 5190fa38286a , 2519809009ed and eea4357967b6 to update APX support. + +* Wed Jan 17 2024 Nick Clifton - 2.41-27 +- Add support for Intel's APX (part 1) architecture extensions. + +* Wed Jan 17 2024 Nick Clifton - 2.41-26 +- Import libiberty demangling improvements in order to support gcc v14 mangling. + +* Mon Jan 15 2024 Nick Clifton - 2.41-25 +- Fix creation of DT_RELR relocs for PPC64LE. (#2258061) + +* Thu Jan 11 2024 Siddhesh Poyarekar - 2.41-24 +- Use _fortify_level macro to control _FORTIFY_SOURCE. + +* Thu Jan 11 2024 Amit Shah - 2.41-23 +- Spec File: gprofng requires bison at build time + +* Thu Jan 11 2024 Tulio Machado - 2.41-22 +- Remove dependency upon zlib-static. + +* Thu Jan 04 2024 Yaakov Selkowitz - 2.41-21 +- Fix location of gprofng.rc + +* Thu Jan 04 2024 Nick Clifton - 2.41-20 +- Fix SPDX annotation. + +* Thu Jan 04 2024 Nick Clifton - 2.41-19 +- Have the gold linker ignore the --error-execstack and --error-rwx-segments options. + +* Tue Jan 02 2024 Nick Clifton - 2.41-18 +- Fix handling of Risc-V SUB_LEB128 relocation. (PR31179) + +* Mon Dec 11 2023 Nick Clifton - 2.41-17 +- Fix failure in binutils testsuite for RiscV architecture. + +* Thu Dec 07 2023 Nick Clifton - 2.41-16 +- Add support for Intel's AVX10.1 ISA. + +* Tue Nov 28 2023 Nick Clifton - 2.41-15 +- Disable errors for executable stacks (enabled too early by previous delta). + +* Tue Nov 21 2023 Nick Clifton - 2.41-14 +- Enable errors for executable stacks. + +* Fri Nov 10 2023 Nick Clifton - 2.41-13 +- Make the GOLD linker ignore the "-z pack-relative-relocs" option. (#2248936) + +* Tue Nov 07 2023 Nick Clifton - 2.41-12 +- Fix the bfd linker's generation of call stubs for large AArch64 binaries with BTI enabled. (#2241902) + +* Tue Nov 07 2023 Nick Clifton - 2.41-11 +- Fix merging strings when linking really big programs. + +* Wed Nov 01 2023 Nick Clifton - 2.41-10 +- Allow for x86_64 build environments that use a base ISA of x86-64-v3. (#2247296) + +* Mon Oct 30 2023 Nick Clifton - 2.41-9 +- Accept and ignore R_BPF_64_NODYLD32 relocations. (#2245296) + +* Thu Oct 19 2023 Nick Clifton - 2.41-8 +- Add ability to turn execstack warnings into errors. +- Enable warnings for rsx segments. + +* Fri Oct 13 2023 Nick Clifton - 2.41-7 +- Fix a potential NULL pointer derefence when parsing corrupt ELF symbol version information. (#2243769) + +* Thu Oct 12 2023 Nick Clifton - 2.41-6 +- Enable warnings about executable stacks by default. + +* Fri Aug 25 2023 Nick Clifton - 2.41-5 +- Fix the GOLD linker's handling of 32-bit PowerPC binaries. (#2234396) + +* Wed Aug 23 2023 Nick Clifton - 2.41-4 +- Add fixes for linker testsuite failures for the RISCV-64 target. + +* Thu Aug 17 2023 Adam Williamson - 2.41-3 +- More CI fixes. + +* Thu Aug 17 2023 Adam Williamson - 2.41-2 +- Tests: use uname -m instead of uname -i. + +* Thu Aug 03 2023 Nick Clifton - 2.41-1 +- Rebase to GNU Binutils 2.41 +- Retire: binutils-filename-in-readelf-messages.patch +- Retire: binutils-readelf-other-sym-info.patch +- Retire: binutils-fix-testsuite-failures.patch +- Retire: binutils-objcopy-note-merge-speedup.patch +- Retire: binutils-testsuite-fixes.patch +- Retire: binutils-reloc-symtab.patch +- Retire: binutils-CVE-2023-1972.patch + +* Wed Jul 19 2023 Fedora Release Engineering - 2.40-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 18 2023 Nick Clifton - 2.40-12 +- Spec File: migrated to SPDX license. (#2222113) + +* Mon Jul 17 2023 Nick Clifton - 2.40-11 +- Spec File: Change License field to use SPDX notation. (#2222113) + +* Wed Jun 21 2023 Nick Clifton - 2.40-10 +- Spec File: Add defines to enable rwx and execstack warnings. + +* Wed May 31 2023 Nick Clifton - 2.40-9 +- Spec File: Remove debug files from default package. (#2208360) + +* Tue May 02 2023 Nick Clifton - 2.40-8 +- GOLD: Stop an abort triggered by running dwp on a file with no dwo links. (#2192226) +- Spec File: Use _prefix. (#2192118) + +* Mon Apr 17 2023 Nick Clifton - 2.40-7 +- Spec File: Fix typo. (#2186396) +- BFD library: Fix illegal memory access when loading corrupt symbol version info. (#2186579) + +* Thu Mar 30 2023 Nick Clifton - 2.40-6 +- Linker: Do not associate allocated reloc sections with the .symtab section. (#2166419) + +* Wed Mar 08 2023 Nick Clifton - 2.40-5 +- Spec file: Rebuild libsframe.a with -fPIC enabled. (#2174841) + +* Mon Mar 06 2023 Nick Clifton - 2.40-4 +- Spec file: Add libsframe.a to the (fake) libbfd.so. (#2174841) + +* Thu Feb 16 2023 Nick Clifton - 2.40-2 +- Spec file: Remove duplicate gprofng debug file entries. +- Spec file: Fix testsuite failures for RiscV64. + +* Mon Feb 13 2023 Nick Clifton - 2.40-1 +- Rebase to 2.40. +- Retire: binutils-package-metadata.patch +- Retire: binutils-gas-dwarf-skip-empty-functions.patch +- Retire: binutils-CVE-38128-dwarf-abbrev-parsing.patch +- Retire: binutils-readelf-no-sections.patch +- Retire: binutils-libiberty-configure-compile-warnings.patch +- Retire: binutils-CVE-2022-4285.patch + +* Tue Jan 31 2023 Nick Clifton - 2.39-10 +- Spec File: Add (disabled by default) support for cross-builds of the binutils. + +* Wed Jan 18 2023 Fedora Release Engineering - 2.39-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Jan 16 2023 Nick Clifton - 2.39-8 +- Speed up objcopy's note merging algorithm. (#29993) + +* Tue Dec 13 2022 Nick Clifton - 2.39-7 +- Fix a potential dereference of a NULL pointer. (#2152946) + +* Wed Nov 23 2022 Nick Clifton - 2.39-6 +- Fix compile time warnings of the configure test files in the libiberty directory. (#2144041) + +* Wed Nov 02 2022 Nick Clifton - 2.39-5 +- Fix configuration of s390x binutils so that it does not include support for extraneous targets. (#2139143) + +* Mon Oct 03 2022 Nick Clifton - 2.39-4 +- Fix readelf's decoding of files with no sections. (#2131609) + +* Wed Aug 31 2022 Nick Clifton - 2.39-3 +- Stop a potential infinite loop in the binutils DWARF parser. (#2122675) + +* Tue Aug 16 2022 Nick Clifton - 2.39-2 +- Move gprofng related files into the gprofng sub-package. + +* Thu Aug 11 2022 Nick Clifton - 2.39-1 +- Rebase to GNU Binutils 2.39. +- Retire: binutils-CVE-2019-1010204.patch +- Retire: binutils-use-long-long.patch +- Retire: binutils-section-type.patch +- Retire: binutils-gas-loc-view.patch +- Retire: binutils-do-not-use-debuginfod.patch +- Retire: binutils-indirect-symbols.patch +- Retire: binutils-s390x-static-PIE.patch +- Retire: binutils-link-following.patch +- Retire: binutils-x86-non-canonical-references.patch +- Retire: binutils-ppc64-DT_RELR-relocs.patch +- Retire: binutils-ppc-gas-machine-directive.patch + +* Wed Aug 10 2022 Luca Boccassi - 2.38-24 +- Build with jansson when not bootstrapping. + +* Thu Aug 04 2022 Nick Clifton - 2.38-23 +- Add the --package-metadata option to the linkers. (#2099999) + +* Thu Jul 28 2022 Nick Clifton - 2.38-22 +- Fix a couple of x86_64 linker testsuite failures. + +* Tue Jul 26 2022 Nick Clifton - 2.38-21 +- Tweak the PowerPC assembler's handling of the .machine directive. (#2111082) + +* Tue Jul 26 2022 Amit Shah - 2.38-20 +- Check and enable 64-bit bfd on aarch64 and riscv64. + +* Mon Jul 25 2022 Nick Clifton - 2.38-19 +- Restore the use of --enable-64-bit-bfd for the AArch64 and riscv64 targets. + +* Wed Jul 20 2022 Fedora Release Engineering - 2.38-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jun 30 2022 Nick Clifton - 2.38-16 +- Fix a problem honouring readelf's -wE and -wN command line options. + +* Mon Jun 13 2022 Nick Clifton - 2.38-15 +- Fix a problem with PowerPC's handling of DT_RELR relocs. (#2095622) +- Move annobin data into a separate debuginfo file. + +* Wed Jun 08 2022 Nick Clifton - 2.38-14 +- Fix bugs preventing the linker tests from running. + +* Fri May 27 2022 Nick Clifton - 2.38-14 +- Fix bug in binutils.spec file that was causing the wrong linker flags to be used. + +* Fri May 27 2022 Nick Clifton - 2.38-13 +- Change the ld man page so that it says that --enable-new-dtags is the default. (#2090818) + +* Tue May 24 2022 Nick Clifton - 2.38-12 +- x86 linker: Disallow invalid relocations against protected symbols. (#2089358) + +* Fri May 20 2022 Nick Clifton - 2.38-11 +- Stop readelf and objdump from unnecessarily following links. (#2086863) + +* Thu May 19 2022 Nick Clifton - 2.38-10 +- Add support for generating static PIE binaries for s390x. (#2088331) + +* Thu May 12 2022 Nick Clifton - 2.38-9 +- Fix description of gold subpackage so that it does not include the Requires fields. (#2082919) + +* Mon Apr 04 2022 Nick Clifton - 2.38-8 +- Fix linker testsuite failures. + +* Wed Mar 30 2022 Nick Clifton - 2.38-7 +- Fix a bug handling indirect symbols. (PR 28879) (#2068343) + +* Thu Mar 10 2022 Nick Clifton - 2.38-6 +- Simplify the assembler's evaluation of chained .loc view expressions. [Second attempt] (#2059646) + +* Thu Mar 10 2022 Nick Clifton - 2.38-5 +- Add an option to objdump/readelf to disable accessing debuginfod servers. (#2051741) + +* Wed Mar 09 2022 Nick Clifton - 2.38-4 +- Simplify the assembler's evaluation of chained .loc view expressions. (#2059646) + +* Mon Feb 28 2022 Nick Clifton - 2.38-3 +- Do not export any windows tools (if they were built). (#2057636) + +* Wed Feb 16 2022 Nick Clifton - 2.38-2 +- Add support for specifying a section type in linker scripts. (#2052801) + +* Wed Feb 09 2022 Nick Clifton - 2.38-1 +- Rebase on GNU Binutils 2.38. + +* Thu Jan 27 2022 Nick Clifton - 2.37-25 +- Borrow a patch from the GCC package to stop libtool from inserting needless runpaths into binaries. (#2030667) + +* Wed Jan 19 2022 Fedora Release Engineering - 2.37-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Dec 20 2021 Nick Clifton - 2.37-23 +- Fix a potential illegal memory access parsing a COFF format file. (#2033716) + +* Thu Dec 02 2021 Luca Boccassi - 2.37-22 +- Backport upstream patch to allow readelf to recognize packaging metadata note. + +* Wed Dec 01 2021 Nick Clifton - 2.37-21 +- Add support for the EFI format to the AArch64 target. (#2027515) + +* Thu Nov 18 2021 Nick Clifton - 2.37-20 +- Add ability to warn about multibyte characters in the assembler. (#2018848) + +* Tue Nov 16 2021 Luca Boccassi - 2.37-19 +- Allows linker scripts to set the SEC_READONLY flag. + +* Tue Nov 09 2021 Nick Clifton - 2.37-18 +- Add ability to show unicode characters to display tools. + +* Wed Oct 27 2021 Orion Poplawski - 2.37-17 +- Add upstream patch to use the directory name in .file 0, fixes ccache FTBFS + (bz#1996936) + +* Tue Oct 26 2021 Timm Baeder - 2.27-16 +- Remove leftover libtool files. + +* Wed Oct 13 2021 Nick Clifton - 2.27-15 +- Fix linker seg-fault compiling efivar libraries. (#2012247) + +* Wed Sep 29 2021 Nick Clifton - 2.27-14 +- Fix linker testsuite failures triggered by 2.27-13 patch. (#2008203) + +* Fri Sep 17 2021 Nick Clifton - 2.27-13 +- Default to an entry address of 0 for shared libraries. (#2004952) + +* Mon Sep 13 2021 Tom Stellard - 2.37-12 +- Disable LTO on arm. (#1918924) + +* Tue Aug 31 2021 Nick Clifton - 2.37-11 +- Enable -separate-code for all architectures, not just x86/x86_64. + +* Tue Aug 31 2021 Nick Clifton - 2.37-10 +- Allow configuring with autonconf 2.71. (#1999437) + +* Wed Aug 18 2021 Nick Clifton - 2.37-9 +- Fix a few testsuite failures. + +* Wed Aug 11 2021 Stephen Gallagher - 2.37-8 +- Backport upstream patch to fix fd exhaustion +- Resolves: https://sourceware.org/bugzilla/show_bug.cgi?id=28138 + +* Tue Aug 10 2021 Nick Clifton - 2.37-6 +- Ensure that the manual pages are generated. (#1989836) + +* Tue Aug 10 2021 Nick Clifton - 2.37-5 +- Fix a local change to readelf which resulted in a success exit code for non-existant files. (#1990817) + +* Mon Aug 09 2021 Nick Clifton - 2.37-4 +- Ensure that dir[0] contains pwd in gas generated DWARF-5 directory tables. (#1966987) + +* Wed Jul 21 2021 Fedora Release Engineering - 2.37-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jul 21 2021 Nick Clifton - 2.37-2 +- Various fixes for testsuite failures. + +* Mon Jul 19 2021 Nick Clifton - 2.37-1 +- Rebase to GNU Binutils 2.37. +- Retire: binutils-2.36-branch-updates.patch +- Retire: binutils-CVE-2021-20197.patch +- Retire: binutils-CVE-2021-3530.patch +- Retire: binutils-plugin-file-descriptors.patch +- Retire: binutils-ppc-weak-undefined-plt-relocs.patch +- Retire: binutils-ppc64le-note-merge.patch +- Retire: binutils-s390-arch14-insns.patch + +* Mon Jun 21 2021 Nick Clifton - 2.36.1-15 +- Enable the creation of .note.gnu.property sections by the GOLD linker for x86 binaries. (#1970961) + +* Thu Jun 03 2021 Timm Bäder - 2.36.1-14 +- Set clang bconf default based on %%toolchain. +- Diable LTO when using clang. +- Disable check-rpath's test for standard runpaths. +- Make the existing tests have the gating effect. + +* Tue May 18 2021 Nick Clifton - 2.36.1-13 +- Increase number of file descriptors available to plugins. (#1918924) +- Remove uses of RPATH. + +* Tue May 18 2021 Nick Clifton - 2.36.1-12 +- Generate PLT relocs for weak undefined PPC function symbols. (#1960730) + +* Fri May 14 2021 Nick Clifton - 2.36.1-11 +- Enable file descriptor increase for plugin use. + +* Thu May 13 2021 Nick Clifton - 2.36.1-10 +- Enable use of new dtags. + +* Fri May 07 2021 Nick Clifton - 2.36.1-9 +- Fix stack exhaustion in the rust demangler. (#1956424) + +* Thu Mar 25 2021 Nick Clifton - 2.36.1-8 +- Add an explicit dependency upon autoconf 2.69. (#1942991) + +* Thu Mar 11 2021 Nick Clifton - 2.36.1-7 +- Extend vulnerability fix yet again. (#1925779) + +* Mon Feb 22 2021 Nick Clifton - 2.36.1-6 +- Fix merging ppc64le notes (again). (#1928936) + +* Fri Feb 19 2021 Nick Clifton - 2.36.1-5 +- Unretire the CVE 2021-20197 patch. + +* Fri Feb 19 2021 Nick Clifton - 2.36.1-4 +- Add support for the Z extensions to the s390x architecture. + +* Thu Feb 18 2021 Nick Clifton - 2.36.1-3 +- Fix merging ppc64le notes. (#1928936) + +* Fri Feb 12 2021 Nick Clifton - 2.36.1-2 +- Fix testsuite failures triggered by locally applied patches. + +* Thu Feb 11 2021 Nick Clifton - 2.36.1-1 +- Rebase to GNU Binutils 2.36.1. +- Retire: binutils-2.35.1-update.patch +- Retire: binutils-CVE-2021-20197.patch +- Retire: binutils-DWARF-5-line-number-parsing.patch +- Retire: binutils-LTO-fix.patch +- Retire: binutils-Power10-fixes.patch +- Retire: binutils-SHF_LINK_ORDER.patch +- Retire: binutils-aarch64-condbranch-relocs.patch +- Retire: binutils-add-sym-cache-to-elf-link-hash.patch +- Retire: binutils-attach-to-group.patch +- Retire: binutils-config.patch +- Retire: binutils-duplicate-sections.patch +- Retire: binutils-dwarf-DW_FORM_ref8.patch +- Retire: binutils-dwarf-type-sign-2.patch +- Retire: binutils-dwarf-type-sign.patch +- Retire: binutils-elf-add-objects.patch +- Retire: binutils-gas-auto-dwarf-5.patch +- Retire: binutils-gold-gnu-properties.patch +- Retire: binutils-plugin-as-needed.patch +- Retire: binutils-ppc-annobin-disassembly.patch +- Retire: binutils-recursive-debuglink-following.patch +- Retire: binutils-s390-build.patch +- Retire: binutils-strip-merge.patch +- Retire: binutils-testsuite-failures.patch +- Retire: binutils-warnings.patch + +* Mon Feb 08 2021 Nick Clifton - 2.35.1-34 +- Extend vulnerability fix again. (#1925779) + +* Thu Feb 04 2021 Nick Clifton - 2.35.1-33 +- Preserve debug information in libbfd.a and libopcodes.a. (#1924068) + +* Thu Feb 04 2021 Nick Clifton - 2.35.1-32 +- Extend vulnerability fix again. (#1913744) + +* Wed Feb 03 2021 Nick Clifton - 2.35.1-31 +- Enable PEP support for all targets. (#1920373) + +* Tue Feb 02 2021 Nick Clifton - 2.35.1-30 +- Extend vulnerability fix. (#1913744) + +* Mon Feb 01 2021 Nick Clifton - 2.35.1-29 +- Add support for DWARF-5 sections to the bfd linker's scripts. (#1922707) + +* Fri Jan 29 2021 Nick Clifton - 2.35.1-28 +- Fix a vulnerability in the smart_rename function. (#1913744) + +* Thu Jan 28 2021 Nick Clifton - 2.35.1-27 +- Fix failures is gas and ld testsuites. + +* Tue Jan 26 2021 Fedora Release Engineering - 2.35.1-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 25 2021 Nick Clifton - 2.35.1-25 +- Update the BFD library to handle DWARF-5 line number ranges. + +* Thu Jan 21 2021 Nick Clifton - 2.35.1-24 +- Update the GOLD linker to handle x86 .note.gnu.property sections. (#1916925) + +* Mon Jan 18 2021 Nick Clifton - 2.35.1-23 +- Add a fix to gas to automatically enable DWARF-5 style file name tables. + +* Fri Jan 15 2021 Nick Clifton - 2.35.1-22 +- Add an option (currently disabled) to build a linker which generates new dtags. + +* Tue Jan 12 2021 Nick Clifton - 2.35.1-21 +- Ensure that bfd.h is the same for i686- and x86_64 versions of the devel rpm. (#1915317) + +* Fri Jan 08 2021 Nick Clifton - 2.35.1-20 +- Fix bug running readelf on an empty file. (#1903448) + +* Thu Jan 07 2021 Nick Clifton - 2.35.1-19 +- Fix bug running readelf on a file that cannot be read. (#1913589) + +* Mon Jan 04 2021 Nick Clifton - 2.35.1-18 +- Fix linking with multiple same-name sections. (PR 27100) + +* Mon Jan 04 2021 Nick Clifton - 2.35.1-17 +- Fix linking mixed SHF_LINK_ORDER and non-SHF_LINK_ORDER sections. (#1907945) + +* Thu Nov 26 2020 Florian Weimer - 2.35.1-16 +- NVR bump for toolchain rebuild + +* Wed Nov 25 2020 Nick Clifton - 2.35.1-15 +- Import fixes added to the 2.35 branch after the 2.35.1 release. + +* Tue Nov 10 2020 Nick Clifton - 2.35.1-14 +- Add support for DW_FORM_ref8 when parsing DWARF types. (#1893921) + +* Tue Nov 03 2020 Nick Clifton - 2.35.1-13 +- Extend fix for erroneous decoding of LEB128 values. + +* Tue Nov 03 2020 Nick Clifton - 2.35.1-12 +- Another correction for plugin as-needed patch. (#1889763) + +* Wed Oct 28 2020 Nick Clifton - 2.35.1-11 +- Correction for plugin as-needed patch. (#1889763) + +* Tue Oct 27 2020 Nick Clifton - 2.35.1-8 +- Really fix erroneous decoding of LEB128 values. (#1891171) + +* Wed Oct 21 2020 Nick Clifton - 2.35.1-7 +- Fix erroneous decoding of LEB128 values. (#188716) + +* Thu Oct 15 2020 Nick Clifton - 2.35.1-6 +- Make readelf and objdump recursively follow debug links. (PR 26595) + +* Fri Oct 09 2020 Nick Clifton - 2.35.1-5 +- Allow plugin syms to mark as-needed shared libs needed + +* Thu Oct 08 2020 Nick Clifton - 2.35.1-4 +- Fix various problems with Power10 support. + +* Tue Oct 06 2020 Nick Clifton - 2.35.1-3 +- Fix strip when merging multiple same-named sections. (#1885607) + +* Mon Sep 21 2020 Nick Clifton - 2.35.1-1 +- Rebase to GNU Binutils 2.35.1 release. +- Retire: binutils-gas-dwarf-level-4.patch +- Retire: binutils-aarch64-plt-sh_entsize.patch +- Retire: binutils-ppc-rename-xvcvbf16sp-to-xvcvbf16spn.patch +- Retire: binutils-dwarf-5-fixes.patch + +* Fri Sep 11 2020 Nick Clifton - 2.35-14 +- Fix the PowerPC disassembler so that it ignores annobin symbols. + +* Thu Sep 10 2020 Nick Clifton - 2.35-13 +- Fix the handling of relocations for AArch64 conditional branches. + +* Tue Aug 25 2020 Nick Clifton - 2.35-12 +- Import fixes from GNU binutils mainline for handling DWARF-5 debug information. + +* Mon Aug 24 2020 Nick Clifton - 2.35-11 +- Rename the PPC xvcvbf16sp instruction to xvcvbf16spn. + +* Fri Jul 31 2020 Jeff Law - 2.35-10 +- Re-enable LTO + +* Fri Jul 31 2020 Jeff Law - 2.35-9 +- Disable LTO for bootstrapping purposes + +* Fri Jul 31 2020 Nick Clifton - 2.35-8 +- Fix building with LTO enabled. + +* Fri Jul 31 2020 Nick Clifton - 2.35-7 +- Set the sh_entsize field of the AArch64's PLT section to 0. (PR 26312) + +* Thu Jul 30 2020 Richard W.M. Jones - 2.35-6 +- Disable LTO again, it causes "ar" to segfault. + +* Thu Jul 30 2020 Nick Clifton - 2.35-5 +- Default to DWARF level 3 in the assembler. + +* Mon Jul 27 2020 Fedora Release Engineering - 2.35-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun Jul 26 2020 Jeff Law - 2.35-2 +- Disable LTO for now + +* Sun Jul 26 2020 Nick Clifton - 2.35-1 +- Rebase to GNU Binutils 2.35. (#1854613) + +* Mon Jul 20 2020 Jeff Law - 2.34-9 +- Fix more configure tests compromised by LTO. + +* Sun Jul 19 2020 Jeff Law - 2.34-9 +- Fix configure test compromised by LTO. Add appropriate BuildRequires + and force rebuliding the configure files in the appropriate dirs +- Fix various warnings exposed by LTO. + +* Tue Jul 07 2020 Jeff Law - 2.34-8 +- Switch to using %%autosetup. + +* Tue Jun 16 2020 Nick Clifton - 2.34-7 +- Add BPF support to the s390x target. (#1825193) + +* Tue May 26 2020 Nick Clifton - 2.34-6 +- Enhance the error message displayed by the BFD library when it fails to load a plugin. (#1836618) + +* Fri May 22 2020 Nick Clifton - 2.34-5 +- Rebase to tip of GNU Binutils 2.34 branch, brining in LTO fixes. +- Retire: binutils-nm-lto-plugin.patch + +* Tue Apr 28 2020 Nick Clifton - 2.34-4 +- Fix seg fault when loading plugins via symlinks. (#1828587) + +* Fri Apr 17 2020 Nick Clifton - 2.34-3 +- Add support for the BPF target. (#1825193) + +* Sun Feb 16 2020 Nick Clifton - 2.34-2 +- Fix the plugin support architecture to allow proper symbol info handling. (PR 25355) + +* Sun Feb 02 2020 Nick Clifton - 2.34-1 +- Rebase to GNU Binutils 2.34. (#1793098) +- Retire: binutils-improved-note-merging.patch +- Retire: binutils-CVE-2019-17451.patch +- Retire: binutils-CVE-2019-17450.patch +- Retire: binutils-addr2line-fixes.patch + +* Tue Jan 28 2020 Fedora Release Engineering - 2.33.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jan 23 2020 David Abdurachmanov - 2.33.1-12 +- Enable 64-bit BFD and PEP support for riscv. (#1794343) + +* Thu Jan 02 2020 Nick Clifton - 2.33.1-11 +- Improve the accuracy of addr2line. (#1760967) + +* Mon Dec 02 2019 Nick Clifton - 2.33.1-10 +- Re-enable strip merging build notes. (#1777760) + +* Mon Nov 25 2019 Nick Clifton - 2.33.1-9 +- Remove spurious code left in gold-mimatched-section-flags patch. (#1775750) + +* Thu Nov 21 2019 Nick Clifton - 2.33.1-8 +- Fix a buffer overrun in the note merging code. (#1774507) + +* Wed Nov 13 2019 Nick Clifton - 2.33.1-7 +- Fix a potential seg-fault in the BFD library when parsing pathalogical debug_info sections. (#1771669) +- Fix a potential memory exhaustion in the BFD library when parsing corrupt DWARF debug information. (#1771678) + +* Wed Nov 06 2019 Nick Clifton - 2.33.1-6 +- Stop objcopy from creating null filled note sections when merging notes. + +* Wed Nov 06 2019 Nick Clifton - 2.33.1-5 +- Strip: Do not merge notes unless explicitly requested to do so. + +* Tue Nov 05 2019 Nick Clifton - 2.33.1-4 +- Objcopy: Do not generate a failure exit status if note merging fails. (#1767937) + +* Wed Oct 30 2019 Nick Clifton - 2.33.1-3 +- Fix the verification of the installed linker symlink. (#1767000) + +* Mon Oct 28 2019 Nick Clifton - 2.33.1-2 +- Improve objdump's ability to merge GNU build attribute notes. + +* Mon Oct 14 2019 Nick Clifton - 2.33.1-1 +- Rebase to GNU Binutils 2.33.1. +- Retire: binutils-CVE-2019-9073.patch +- Retire: binutils-CVE-2019-9074.patch +- Retire: binutils-CVE-2019-9075.patch +- Retire: binutils-CVE-2019-9077.patch +- Retire: binutils-disassembling-efi-files.patch +- Retire: binutils-CVE-2019-9071.patch +- Retire: binutils-gas-build-note-relocs.patch +- Retire: binutils-do-not-warn-about-debuginfo-files.patch +- Retire: binutils-do-not-merge-differing-SHF_EXCLUDE-groups.patch +- Retire: binutils-rh1736114.patch +- Retire: binutils-objcopy-gnu-build-version-notes.patch +- Retire: binutils-CVE-2019-14250.patch +- Retire: binutils-CVE-2019-14444.patch +- Retire: binutils-gcc-10-fixes.patch +- Retire: binutils-remove-old-formats.patch +- Retire: binutils-aarch64-gold-PLT-for-MOVW_ABS.patch + +* Fri Oct 04 2019 Nick Clifton - 2.32-27 +- Remove support for old file formats (ihex, tekhex, verilog) as they are a constant source of CVEs. + +* Wed Sep 25 2019 Nick Clifton - 2.32-26 +- Add an option to build using clang instead of gcc. + +* Tue Sep 24 2019 Nick Clifton - 2.32-25 +- Fix building with gcc-10. + +* Tue Aug 13 2019 Nick Clifton - 2.32-24 +- Fix potential integer overflow in readelf. (#1740470) + +* Fri Aug 09 2019 Nick Clifton - 2.32-23 +- Fix potential integer overflow in GOLD. (#1739491) + +* Tue Aug 06 2019 Nick Clifton - 2.32-22 +- Stop GOLD from seg-faulting on a corrupt input with a fuzzed section offset. (#1735605) + +* Mon Aug 05 2019 Nick Clifton - 2.32-21 +- Stop strip from complaining if the first build note is not a version note. (#1736114) + +* Fri Aug 2 2019 Florian Weimer - 2.32-20 +- Fix ld -Map not to produce corrupt ELF notes (#1736114) + +* Wed Jul 24 2019 Fedora Release Engineering - 2.32-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jul 22 2019 Nick Clifton - 2.32-18 +- Stops the linker from merging section groups with different SHF_EXCLUDE flags. (#1730906) + +* Tue Jul 02 2019 Nick Clifton - 2.32-17 +- Stop the BFD library from complaining about sections found inside debuginfo files. (PR 24717) + +* Mon Jul 01 2019 Nick Clifton - 2.32-16 +- Stop gas from triggering a seg-fault when creating relocs for build notes. (PR 24748) + +* Mon Jun 24 2019 Nick Clifton - 2.32-15 +- Stop gold from aborting when it encounters input sections with the same name and different flags. (#1722715) + +* Tue May 21 2019 Nick Clifton - 2.32-14 +- Import fix for PR 23870 in order to help building Go binaries. + +* Mon Apr 29 2019 Nick Clifton - 2.32-13 +- Do not include ld.gold in the base binutils package. (#1703714) + +* Wed Apr 24 2019 Björn Esser - 2.32-12 +- Remove hardcoded gzip suffix from GNU info pages + +* Wed Apr 10 2019 Nick Clifton - 2.32-11 +- Fix a stack exhaustion problem in libiberty's name demangling code. (#1680658) + +* Mon Mar 18 2019 David Abdurachmanov - 2.32-10 +- Disable ld.gold on RISC-V and fix file installation issues. + +* Wed Mar 06 2019 Nick Clifton - 2.32-9 +- Stop potential illegal memory access when disassembling an EFI binary. (#1685727) + +* Wed Feb 27 2019 Nick Clifton - 2.32-8 +- Fix requirements and use of the alternatives mechanism. (#1683408, #1683466) + +* Tue Feb 26 2019 Nick Clifton - 2.32-7 +- Move GOLD into a sub-package of BINUTILS. + +* Tue Feb 26 2019 Nick Clifton - 2.32-6 +- Stop potential illegal memory access when parsing a corrupt MIPS binary. (#1680676) + +* Tue Feb 26 2019 Nick Clifton - 2.32-5 +- Stop potential illegal memory access when parsing corrupt archives. (#1680670) + +* Mon Feb 25 2019 Nick Clifton - 2.32-4 +- Stop potential illegal memory access when parsing corrupt PE files. (#1680682) + +* Mon Feb 25 2019 Nick Clifton - 2.32-3 +- Improve objdump's handling of corrupt input files. (#1680663) + +* Wed Feb 20 2019 Nick Clifton - 2.32-2 +- Fix some bfd linker testsuite failures. + +* Wed Feb 20 2019 Nick Clifton - 2.32-1 +- Rebase to GNU Binutils 2.32 +- Retire: binutils-s390-partial-relro.patch +- Retire: binutils-note-merge-improvements.patch +- Retire: Retire: binutils-merge-attribute-sections.patch +- Retire: binutils-gold-discard-version-info.patch +- Retire: binutils-gas-input-matches-output.patch +- Retire: binutils-fix-testsuite-failures.patch +- Retire: binutils-do-not-provide-shared-section-symbols.patch +- Retire: binutils-disable-readelf-gap-reports.patch +- Retire: binutils-detect-corrupt-sym-version-info.patch +- Retire: binutils-delay-ld-script-constant-eval.patch +- Retire: binutils-clear-version-info.patch +- Retire: binutils-CVE-2018-20002.patch +- Retire: binutils-CVE-2018-17358.patch +- Retire: binutils-2.31-export-demangle.h.patch +- Retire: binutils-2.28-ignore-gold-duplicates.patch +- Retire: binutils-2.26-lto.patch + +* Mon Feb 18 2019 Nick Clifton - 2.31.1-23 +- Ensure that decompressed sections have the correct alignment. (#1678204) + +* Thu Feb 14 2019 Nick Clifton - 2.31.1-22 +- Rework the post uninstall stage to avoid mysterious error from ldconfig. (#1673912) + +* Thu Jan 31 2019 Fedora Release Engineering - 2.31.1-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 30 2019 Nick Clifton - 2.31.1-20 +- Fix the assembler's check that the output file is not also one of the input files. (#1660279) + +* Thu Jan 03 2019 Nick Clifton - 2.31.1-19 +- Fix a memory leak reading minisymbols. (#1661535) + +* Wed Jan 02 2019 Nick Clifton - 2.31.1-18 +- Ensure that GOLD is linked with pthread library. (#1636479) + +* Wed Nov 28 2018 Nick Clifton - 2.31.1-17 +- Stop gold from warning about discard version information unless explicitly requested. (#1654153) + +* Thu Nov 15 2018 Nick Clifton - 2.31.1-16 +- Remove debugging fprintf statement accidentally left in patch. (#1645828) + +* Fri Oct 12 2018 Nick Clifton - 2.31.1-15 +- Allow OS specific sections in section groups. (#1639485) + +* Fri Sep 28 2018 Nick Clifton - 2.31.1-14 +- Fix a potential buffer overrun when parsing a corrupt ELF file. (#1632912) +- Add a .attach_to_group pseuo-op to assembler (for use by annobin). (#1630574) +- Stop the binutils from statically linking with libstdc++. (#1630550) +- Include gold testsuite results in test logs. +- Disable readelf's reporting of gaps in build notes. (#1623556) + +* Tue Sep 04 2018 Nick Clifton - 2.31.1-13 +- Delay the evaluation of linker script constants until after the configuration options have been set. (#1624751) + +* Tue Aug 28 2018 Nick Clifton - 2.31.1-12 +- Detect and report corrupt symbol version information. (#1599521) + +* Tue Aug 14 2018 Nick Clifton - 2.31.1-11 +- Remove the version information from a dynamic symbol that is being overridden. (#1614920) + +* Mon Aug 06 2018 Nick Clifton - 2.31.1-10 +- Improve objcopy's --merge-notes option. (#1608390) + +* Tue Jul 31 2018 Florian Weimer - 2.31.1-9 +- Rebuild with fixed binutils + +* Mon Jul 30 2018 Nick Clifton - 2.31.1-8 +- Move the .gnu.build.attributes section to after the .comment section. + +* Fri Jul 27 2018 Nick Clifton - 2.31.1-7 +- Fix a thinko in the merge patch. + +* Fri Jul 27 2018 Nick Clifton - 2.31.1-6 +- Fix a typo in the merge patch. + +* Thu Jul 26 2018 Nick Clifton - 2.31.1-5 +- Merge .gnu.build.attribute sections together. (#1608390) + +* Tue Jul 24 2018 Nick Clifton - 2.31.1-3 +- Extend gold linker patch to cover subsections of .gnu.build.attributes. (#1607054) + +* Thu Jul 19 2018 Nick Clifton - 2.31.1-2 +- Improve partial relro support for the s/390. + +* Thu Jul 19 2018 Nick Clifton - 2.31.1-1 +- Rebase to official 2.31.1 GNU Binutils release. +- Retire: binutils-2.22.52.0.1-export-demangle.h.patch +- Retire: binutils-2.30-allow_R_AARCH64-symbols.patch +- Retire: binutils-CVE-2018-10372.patch +- Retire: binutils-CVE-2018-10373.patch +- Retire: binutils-CVE-2018-10534.patch +- Retire: binutils-CVE-2018-10535.patch +- Retire: binutils-CVE-2018-6323.patch +- Retire: binutils-CVE-2018-6759.patch +- Retire: binutils-CVE-2018-7208.patch +- Retire: binutils-CVE-2018-7568.patch +- Retire: binutils-CVE-2018-7569.patch +- Retire: binutils-CVE-2018-7570.patch +- Retire: binutils-CVE-2018-7642.patch +- Retire: binutils-CVE-2018-7643.patch +- Retire: binutils-CVE-2018-8945.patch +- Retire: binutils-PowerPC-IEEE-long-double-warnings.patch +- Retire: binutils-debug-section-marking.patch +- Retire: binutils-gas-build-notes.patch +- Retire: binutils-gold-llvm-plugin.patch +- Retire: binutils-ifunc-relocs-in-notes.patch +- Retire: binutils-linkonce-notes.patch +- Retire: binutils-missing-notes.patch +- Retire: binutils-page-to-segment-assignment.patch +- Retire: binutils-revert-PowerPC-speculation-barriers.patch +- Retire: binutils-skip-dwo-search-if-not-needed.patch +- Retire: binutils-speed-up-objdump.patch +- Retire: binutils-strip-unknown-relocs.patch +- Retire: binutils-x86-local-relocs.patch +- Retire: binutils-x86-local-version.patch + +* Thu Jul 12 2018 Fedora Release Engineering - 2.30.90-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Jul 12 2018 Nick Clifton 2.30.90-3 +- Stop gold from complaining about annobin note relocs against symbols in sections which have been discarded. (#1600431) + +* Tue Jul 10 2018 Nick Clifton 2.30.90-2 +- Revert fix for PR 23161 which was placing unversioned section symbols (_edata, _end, __bss_start) into shared libraries. (#1599521) + +* Mon Jul 9 2018 Nick Clifton 2.30.90-1 +- Rebase to a snapshot of the soon-to-be-created 2.31 FSF release. + +* Fri Jul 6 2018 Peter Robinson 2.30-26 +- Fix the generation of relocations for assembler created notes. (#1598551) + +* Wed Jul 4 2018 Peter Robinson 2.30-25 +- Minor spec cleanups and fixes. + +* Mon Jun 18 2018 Nick Clifton 2.30-24 +- When installing both ld.bfd and ld.gold, do not reset the current alternative if upgrading. (#1592069) + +* Tue Jun 12 2018 Nick Clifton 2.30-23 +- Correct warning messages about incompatible PowerPC IEEE long double settings. + +* Fri Jun 01 2018 Nick Clifton 2.30-22 +- Fix handling of local versioned symbols by the x86 linker. (PR 23194) +- Fix linker testsuite failures. + +* Thu May 17 2018 Nick Clifton 2.30-21 +- Fix a seg-fault parsing PE format binaries. (#1560829) + +* Mon May 14 2018 Nick Clifton 2.30-20 +- Have the x86 linker resolve relocations against the _end, _edata and __bss_start symbols locally. (#1576735) +- Do not generate GNU build notes for linkonce sections. (#1576362) + +* Thu May 10 2018 Nick Clifton 2.30-19 +- Fix a seg-fault running objcopy on a corrupt PE format file. (#1574702) +- Fix a seg-fault running objcopy on a corrupt ELF format file. (#1574705) + +* Tue May 01 2018 Nick Clifton 2.30-18 +- Fix a seg-fault parsing corrupt DWARF information. (#1573360) +- Fix another seg-fault parsing corrupt DWARF information. (#1573367) +- Fix a seg-fault copying a corrupt ELF file. (#1551788) +- Fix a seg-fault parsing a large ELF files on a 32-bit host. (#1539891) +- Fix a seg-fault running nm on a corrupt ELF file. (#15343247) +- Fix a seg-fault running nm on a file containing corrupt DWARF information. (#1551781) +- Fix another seg-fault running nm on a file containing corrupt DWARF information. (#1551763) + +* Fri Apr 27 2018 Nick Clifton 2.30-17 +- Disable the automatic generation of annobin notes. (#1572485) + +* Fri Apr 27 2018 Nick Clifton 2.30-16 +- Fix for PR 22887 - crashing objdump by passing it a corrupt AOUT binary. (#1553115) +- Fix for PR 22905 - crashing objdump by passing it a corrupt DWARF file. (#1553122) +- Fix for PR 22741 - crashing objdump by passing it a corrupt COFF file. (#1571918) + +* Thu Apr 26 2018 Nick Clifton 2.30-15 +- Enhance the assembler to automatically generate annobin notes if none are present in the input. + +* Thu Mar 22 2018 Nick Clifton 2.30-14 +- Fix the GOLD linker's processing of protected symbols created by the LLVM plugin. (#1559234 and PR 22868) + +* Wed Mar 14 2018 Nick Clifton 2.30-13 +- Do not discard debugobj files created by GCC v8 LTO wrapper. (#1543912 and RHBZ 84847 and PR 20882) + +* Fri Mar 09 2018 Nick Clifton 2.30-12 +- Treat relocs against s390x IFUNC symbols in note sections as relocs against the FUNC symbol instead. +- Combined previous patches into one which covers all ifunc supporting architectures. (#1553705) +- Retire binutils-s390-ifunc-relocs-in-notes.patch +- Retire binutils-x86_64-ifunc-relocs-in-notes.patch + +* Fri Mar 09 2018 Nick Clifton 2.30-11 +- Treat relocs against s390x IFUNC symbols in note sections as relocs against the FUNC symbol instead. (#1553705) + +* Wed Mar 07 2018 Nick Clifton 2.30-10 +- Ignore duplicate symbols generated by GOLD. (#1458003) + +* Wed Mar 07 2018 Nick Clifton 2.30-9 +- Stop strip from replacing unknown relocs with null relocs. (#1545386) + +* Wed Mar 07 2018 Nick Clifton 2.30-8 +- Ignore duplicate symbols generated by GOLD. (#1458003) + +* Mon Mar 05 2018 Nick Clifton 2.30-7 +- Speed up objdump. (#1551540) + +* Thu Feb 22 2018 Patrick Uiterwijk - 2.30-6 +- Fix R_AARCH64 symbols (PR 22764) (#1547781) + +* Wed Feb 21 2018 Nick Clifton 2.30-5 +- Fix assignment of pages to segments. (PR 22758) +- Inject RPM_LD_FLAGS into the build. (#1541027) +- Fix slowdown in readelf when examining files with lots of debug information. (PR 22802) +- Remove support for PowerPC speculation barrier insertion. +- Rebase on 2.30 +- Retire binutils-2.22.52.0.1-relro-on-by-default.patch +- Retire binutils-2.28-dynamic-section-warning.patch +- Retire binutils-2.29-skip-rp14918-test-for-arm.patch +- Retire binutils-2.29.1-gold-start-stop.patch +- Retire binutils-2.29.1-readelf-use-dynamic.patch +- Retire binutils-aarch64-pie.patch +- Retire binutils-coverity.patch +- Retire binutils-ppc64-stub-creation.patch +- Retire binutils-strip-delete-relocs.patch +- Retire binutils-support-v3-build-notes.patch +- Retire binutils-z-undefs.patch + +* Mon Feb 12 2018 Nick Clifton 2.29.1-19 +- Remove comment that explained how to disable annobin. (#1541027) + +* Thu Feb 08 2018 Nick Clifton 2.29.1-18 +- Inject RPM_LD_FLAGS into the build. (#1541027) + +* Wed Feb 07 2018 Fedora Release Engineering - 2.29.1-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Feb 01 2018 Nick Clifton 2.29.1-16 +- Use make_build and make_install macros. (#1541027) + +* Thu Jan 25 2018 Nick Clifton 2.29.1-15 +- Reenable binary annotations. + +* Thu Jan 25 2018 Nick Clifton 2.29.1-14 +- Fix creation of PowerPC64 function call stubs. (#1523457) +- Disable -z defs during build. +- Disable binary annotations. (temporary ?) + +* Mon Jan 22 2018 Nick Clifton 2.29.1-13 +- Fix bugs in AArch64 static PIE support. (#1536645) + +* Tue Jan 16 2018 Nick Clifton 2.29.1-12 +- Add "-z undefs" option to the linker. + +* Thu Jan 11 2018 Nick Clifton 2.29.1-11 +- *Do* enable relro by default for the PowerPC64 architecture. (#1523946) + +* Wed Jan 03 2018 Nick Clifton 2.29.1-10 +- Update readelf and objcopy to support v3 build notes. + +* Tue Dec 12 2017 Nick Clifton 2.29.1-9 +- Have readelf display extra symbol information at the end of the line. (#1479302) + +* Mon Dec 11 2017 Nick Clifton 2.29.1-8 +- Do not enable relro by default for the PowerPC64 architecture. (#1523946) + +* Thu Dec 07 2017 Nick Clifton 2.29.1-7 +- Stop strip from crashing when deleteing relocs in a file with annobin notes. (#1520805) + +* Wed Dec 06 2017 Nick Clifton 2.29.1-6 +- Have readelf return an exit failure status when attempting to process an empty file. (#1522732) + +* Tue Nov 28 2017 Nick Clifton 2.29.1-5 +- Disable PLT elision for x86/x86_64. (#1452111 and #1333481) + +* Wed Nov 01 2017 Nick Clifton 2.29.1-4 +- Have readelf suggest the use of --use-dynamic when there are dynamic relocs that could have been displayed. (#1507694) + +* Wed Oct 18 2017 Nick Clifton 2.29.1-3 +- Fix the GOLD linker's generation of relocations for start and stop symbols. (#1500898) + +* Thu Sep 28 2017 Nick Clifton 2.29.1-2 +- Enable GOLD for PPC64 and s390x. (#1173780) +- Retire: binutils-2.20.51.0.10-sec-merge-emit.patch. + (It has been redundant for a long time now...) + +* Tue Sep 26 2017 Nick Clifton 2.29.1-1 +- Rebase on FSF binutils 2.29.1 release. +- Retire: binutils-2.29-ppc64-plt-localentry0-disable.patch +- Retire: binutils-2.29-non-elf-orphan-skip.patch + +* Thu Sep 14 2017 Nick Clifton 2.29-10 +- Extend fix for PR 21884. + (#1491023) + +* Thu Sep 14 2017 Nick Clifton 2.29-8 +- Import fix for PR 21884 which stops a seg-fault in the linker when changing output format to binary during a final link. + (#1491023) + +* Sun Sep 10 2017 Nick Clifton - 2.29-7 +- Annotate patches with reason and lifetime expectances. +- Retire: binutils-2.24-ldforcele.patch +- Retire: binutils-2.25-set-long-long.patch +- Retire: binutils-2.25.1-cleansweep.patch +- Retire: binutils-2.26-fix-compile-warnings.patch +- Retire: binutils-2.28-ignore-gold-duplicates.patch + +* Wed Aug 02 2017 Fedora Release Engineering - 2.29-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Mon Jul 31 2017 Nick Clifton 2.29-5 +- Update ppc64 localentry0 patch with changes made by Alan Modra to the FSF binutils sources. + (#1475636) + +* Sun Jul 30 2017 Florian Weimer - 2.29-4 +- Rebuild with binutils fix for ppc64le, bootstrapping (#1475636) + +* Fri Jul 28 2017 Nick Clifton 2.29-3 +- Do not enable the PPC64 plt-localentry0 linker optimization by default. + (#1475636) + +* Wed Jul 26 2017 Fedora Release Engineering - 2.29-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 24 2017 Nick Clifton 2.29-1 +- Rebase on FSF binutils 2.29. +- Retire: binutils-2.20.51.0.10-ppc64-pie.patch +- Retire: binutils-2.27-ld-buffer-overflow.patch +- Retire: binutils-2.28-libiberty-bugfixes.patch +- Retire: binutils-gnu-build-notes.patch +- Retire: binutils-2.28-gas-comp_dir.patch +- Retire: binutils-2.28-ppc-dynamic-relocs.patch +- Retire: binutils-2.28-dynamic-section-warning.patch +- Retire: binutils-2.28-aarch64-copy-relocs.patch +- Retire: binutils-2.28-DW_AT_export_symbols.patch + +* Thu Jul 20 2017 Nick Clifton 2.28-14 +- Remove -flto compile time option accidentally added to CFLAGS. + +* Thu Jul 20 2017 Nick Clifton 2.28-13 +- Add support for displaying new DWARF5 tags. + (#1472966) + +* Wed Jul 19 2017 Nick Clifton 2.28-12 +- Correct snafu in previous delta that broke building s390 binaries. + (#1472486) + +* Mon Jul 17 2017 Nick Clifton 2.28-11 +- Fix s390 assembler so that it remove fake local symbols from its output. + (#1460254) + +* Wed Jun 28 2017 Nick Clifton 2.28-10 +- Update support for GNU Build Attribute notes to include version 2 notes. + +* Thu Jun 15 2017 Nick Clifton 2.28-9 +- Update patch to fix AArch64 copy reloc generation. + (#1452170) + +* Fri Jun 09 2017 Nick Clifton 2.28-8 +- Ignore duplicate indirect symbols generated by the GOLD linker. + (#1458003) + +* Thu Jun 08 2017 Nick Clifton 2.28-7 +- Eliminate the generation of incorrect dynamic copy relocations on AArch64. + (#1452170) + +* Mon May 15 2017 Fedora Release Engineering - 2.28-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + +* Mon Mar 20 2017 Nick Clifton 2.28-5 +- Update GNU BUILD NOTES patch. +- Import FSF binutils patch to fix running readelf on debug info binaries. + (#1434050) + +* Wed Mar 08 2017 Nick Clifton 2.28-4 +- Update GNU BUILD NOTES patch. +- Import FSF binutils patch to fix an abort with PowerPC dynamic relocs. + +* Mon Mar 06 2017 Mark Wielaard 2.28-3 +- Backport patch to add support for putting name, comp_dir and + producer strings into the .debug_str section. + (#1429389) + +* Fri Mar 03 2017 Nick Clifton 2.28-2 +- Add support for GNU BUILD NOTEs. + +* Thu Mar 02 2017 Nick Clifton 2.28-1 +- Rebase on FSF binutils v2.28. +- Retire: binutils-2.23.52.0.1-addr2line-dynsymtab.patch +- Retire: binutils-2.27-local-dynsym-count.patch +- Retire: binutils-2.27-monotonic-section-offsets.patch +- Retire: binutils-2.27-arm-aarch64-default-relro.patch +- Retire: binutils-2.28-gold.patch +- Retire: binutils-2.27-objdump-improvements.patch +- Retire: binutils-2.27-dwarf-parse-speedup.patch +- Retire: binutils-2.27-objdump-improvements.2.patch +- Retire: binutils-2.27-arm-binary-objects.patch +- Retire: binutils-2.27-ppc-fp-attributes.patch +- Add patch to sync libiberty with FSF GCC mainline. + (#1428310) + +* Fri Feb 17 2017 Nick Clifton 2.27-19 +- Add support for PowerPC FP attributes. + (#1422461) + +* Wed Feb 15 2017 Nick Clifton 2.27-18 +- Fix running the ARM port of the linker on BINARY objects. + (#1422577) + +* Fri Feb 10 2017 Fedora Release Engineering - 2.27-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 02 2017 Stephen Gallagher 2.27-16 +- Install COPYING[*] files using the % license macro. + (#1418430) + +* Tue Jan 31 2017 Nick Clifton 2.27-15 +- Fix buffer overflows when printing translated messages. + (#1417411) + +* Mon Jan 16 2017 Nick Clifton 2.27-14 +- Include the filename concerned in readelf error messages. + (#1412348) + +* Mon Jan 09 2017 Nick Clifton 2.27-13 +- Another speed up for objdump when displaying source code alognside disassembly. + (#1397113) + +* Tue Nov 22 2016 Nick Clifton 2.27-12 +- Speed up objdump when displaying source code alognside disassembly. + (#1397113) + +* Tue Nov 08 2016 Nick Clifton 2.27-11 +- Fix objdumps disassembly of dynamic executables. + (#1370275) + +* Fri Nov 04 2016 Nick Clifton 2.27-10 +- Fix GOLD for ARM and AARCH64 + (#1386126) + +* Mon Sep 26 2016 Mark Pryor 2.27-9 +- Fix invocation of /sbin/ldconfig when reinstalling binutils + in order to prevent warnings from rpm. + (#1379030) + (#1379117) + +* Thu Sep 22 2016 Mark Pryor 2.27-8 +- Add i386pep emulation for all EFI capable CPU types. + (#1376870) + +* Wed Sep 21 2016 Nick Clifton 2.27-7 +- Use --with-sysroot=/ for native targets. This prevents the default + sysroot of /usr/local//sys-root from being used, which breaks + locating needed shared libaries, but still allows the --sysroot + linker command line option to be effective. + (#1374889) + (#1377803) + (#1377949) + +* Tue Sep 20 2016 Nick Clifton 2.27-6 +- Omit building GOLD when bootstrapping. +- Add a generic build requirement on gcc. +- Move bison and m4 build requirements to be conditional upon building GOLD. +- Add --with-sysroot configure option when building native targets. +- Skip PR14918 linker test for ARM native targets. + (#1374889) + +* Fri Sep 16 2016 Nick Clifton 2.27-5 +- Add support for building the rpm with "--with bootstrap" enabled. +- Retire: binutils-2.20.51.0.2-ia64-lib64.patch + +* Thu Sep 01 2016 Nick Clifton 2.27-4 +- Properly disable the default generation of compressed debug sections. + (#1366182) + +* Fri Aug 19 2016 Nick Clifton 2.27-3 +- Put sections in a monotonically increasing order of file offset. +- Allow ARM and AArch64 targets to have relro on by default. + +* Mon Aug 15 2016 Nick Clifton 2.27-2 +- Fix computation of sh_info field in the header of .dynsym sections. + +* Wed Aug 03 2016 Nick Clifton 2.27-1 +- Rebase on FSF binutils 2.27 release. +- Retire: binutils-2.26-formatting.patch +- Retire: binutils-2.26-Bsymbolic_PIE.patch +- Retire: binutils-rh1312151.patch +- Retire: binutils-2.26-fix-GOT-offset-calculation.patch +- Retire: binutils-2.26-common-definitions.patch +- Retire: binutils-2.26-x86-PIE-relocations.patch + +* Mon Jun 13 2016 Nick Clifton 2.26-23 +- Enable support for GCC's LTO. + (#1342618) + +* Thu Jun 02 2016 Nick Clifton 2.26-22 +- Retire the copy-osabi patch. + (#1252066) + +* Mon May 09 2016 Nick Clifton 2.26-21 +- Fix another compile time warning, this time in tc-arm.c. + (#1333695) + +* Fri Apr 22 2016 Nick Clifton 2.26-20 +- Housekeeping: Delete retired patches. Renumber patches. +- Increase version number past F24 because F24 update is blocked by a version number comparison. + +* Fri Mar 18 2016 Nick Clifton 2.26-16 +- Import patch to fix generation of x86 relocs in PIE mode. (PR 19827) + +* Mon Mar 14 2016 Nick Clifton 2.26-15 +- Import patch to have common symbols in an executable override definitions in shared objects (PR 19579) + (#1312507) + +* Mon Feb 29 2016 Nick Clifton 2.26-14 +- Import patch to fix x86 GOT offset calculation in 2.26 sources (PR 19601) + (#1312489) + +* Fri Feb 26 2016 Nick Clifton 2.26-13 +- Import patch to fix symbol versioning bug in 2.26 sources (PR 19698) + (#1312151) + +* Fri Feb 19 2016 Nick Clifton 2.26-12 +- Import H.J.Lu's kernel LTO patch. + (#1302071) + +* Tue Feb 16 2016 poma 2.26-11 +- Enable -Bsymbolic and -Bsymbolic-functions to PIE. Needed by Syslinux + (#1308296) + +* Wed Feb 10 2016 Nick Clifton 2.26-10 +- Retire: binutils-2.23.2-aarch64-em.patch + (#1305179) + +* Tue Feb 09 2016 Nick Clifton 2.26-9 +- Fix indentation in bfd/elf64-s390.c, gas/config/tc-ia64.c + and bfd/pe-mips.c to avoid compile time warnings. + +* Thu Feb 04 2016 Nick Clifton 2.26-8 +- Fix indentation in bfd/coff-[i386|x86_64].c to avoid compile time warning. +- Suppress GOLD's dir_caches destructor. +- Suppress GOLD's Reloc_stub::Key::name function. +- Suppress unused ARM architecture variations in GAS. + +* Wed Feb 03 2016 Fedora Release Engineering - 2.26-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 27 2016 Nick Clifton 2.26-4 +- Drop the kernel patch entirely... +- Retire: binutils-2.25-kernel-ld-r.patch +- Retire: binutils-2.25.1-plugin-format-checking.patch + +* Tue Jan 26 2016 Nick Clifton 2.26-3 +- Fix kernel patch for AVR targets. + +* Mon Jan 25 2016 Nick Clifton 2.26-2 +- Fix kernel patch for PPC32 targets. + +* Mon Jan 25 2016 Nick Clifton 2.26-1 +- Rebase on FSF binutils 2.26 release. +- Retire: binutils-2.25.1-ihex-parsing.patch +- Retire: binutils-2.25.1-dynamic_list.patch +- Retire: binutils-2.25.1-aarch64-pr18668.patch +- Retire: binutils-rh1247126.patch + (#1271387) + +* Thu Nov 05 2015 Nick Clifton 2.25.1-9 +- Prevent an infinite recursion when a plugin tries to claim a file in an unrecognised format. + (#1174065) + +* Wed Oct 28 2015 Nick Clifton 2.25.1-8 +- Enable little endian support when configuring for 64-bit PowerPC. + (#1275709) + +* Thu Sep 24 2015 Nick Clifton 2.25.1-7 +- Fix incorrectly generated binaries and DSOs on PPC platforms. + (#1247126) + +* Fri Sep 11 2015 Nick Clifton 2.25.1-6 +- Fix handling of AArch64 local GOT relocs. (#1262091) + +* Thu Sep 10 2015 Nick Clifton 2.25.1-5 +- Do not enable deterministic archives by default (#1195883) + +* Thu Aug 06 2015 Rex Dieter 2.25.1-4 +- Qt linked with gold crash on startup (#1193044) + +* Tue Aug 04 2015 Nick Clifton - 2.25.1-3 +- Fix the parsing of corrupt iHex files. +- Resovles: 1250141 + +* Tue Aug 04 2015 Nick Clifton - 2.25.1-2 +- Retire: binutils-2.25-aarch64-fPIC-error.patch +- Resovles: 1249969 + +* Thu Jul 23 2015 Nick Clifton - 2.25.1-1 +- Rebase on FSF binutils 2.25.1 release. +- Retire: binutils-2.25-x86_64-pie-relocs.patch + +* Thu Jul 02 2015 Nick Clifton - 2.25-12 +- For AArch64 issue an error message when attempting to resolve a + PC-relative dynamic reloc in a non-PIC object file. +- Related: 1232499 + +* Wed Jun 17 2015 Fedora Release Engineering - 2.25-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Jun 10 2015 Nick Clifton - 2.25-10 +- Make the AArch64 GOLD port use 64K pages. +- Resolves: BZ #1225156 and BZ #1215546 + +* Mon Apr 27 2015 Nick Clifton - 2.25-8 +- Require the coreutils so that touch is available. +- Resolves: BZ #1215242 + +* Tue Apr 21 2015 Nick Clifton - 2.25-7 +- Enable building GOLD for the AArch64. +- Resolves: BZ #1203057 + +* Thu Mar 19 2015 Nick Clifton - 2.25-6 +- Remove the windmc manual page, so that it is not installed. +- Resolves: BZ #1203606 + +* Sat Feb 21 2015 Till Maas - 2.25-6 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code + +* Mon Feb 02 2015 Nick Clifton - 2.25-5 +- Fix scanning for object symbols in binutils-2.25-kernel-ld-r.patch +- Resolves: BZ #1149660 + +* Tue Jan 20 2015 Nick Clifton - 2.25-4 +- Import the fix for PR ld/17827 from FSF mainline. +- Resolves: BZ #1182511 + +* Mon Jan 12 2015 Nick Clifton - 2.25-3 +- Suppress building of GOLD for PPC, for now... +- Resolves: BZ #1173780 + +* Sat Dec 27 2014 Ralf Corsépius - 2.25-2 +- Reflect configure.info/standards.info having been dropped (RHBZ#1177359). + +* Wed Dec 24 2014 Nick Clifton - 2.25-1 +- Rebase on FSF binutils 2.25 release. +- Retire: binutils-2.24-s390-mkopc.patch +- Retire: binutils-2.24-elfnn-aarch64.patch +- Retire: binutils-2.24-DW_FORM_ref_addr.patch +- Retire: binutils-2.24-set-section-macros.patch +- Retire: binutils-2.24-fake-zlib-sections.patch +- Retire: binutils-2.24-arm-static-tls.patch +- Retire: binutils-2.24-fat-lto-objects.patch +- Retire: binutils-2.24-symbol-warning.patch +- Retire: binutils-2.24-aarch64-ld-shared-non-PIC-xfail.patch +- Retire: binutils-2.24-weak-sym-merge.patch +- Retire: binutils-2.24-indirect-chain.patch +- Retire: binutils-2.24-aarch64-fix-final_link_relocate.patch +- Retire: binutils-2.24-aarch64-fix-gotplt-offset-ifunc.patch +- Retire: binutils-2.24-aarch64-fix-static-ifunc.patch +- Retire: binutils-2.24-aarch64-fix-ie-relax.patch +- Retire: binutils-HEAD-change-ld-notice-interface.patch +- Retire: binutils-2.24-corrupt-binaries.patch +- Retire: binutils-2.24-strings-default-all.patch +- Retire: binutils-2.24-corrupt-ar.patch + +* Thu Nov 13 2014 Nick Clifton - 2.24-29 +- Fix problems with the ar program reported in FSF PR 17533. + Resolves: BZ #1162666, #1162655 + +* Fri Oct 31 2014 Nick Clifton - 2.24-28 +- Fix buffer overrun in ihex parser. +- Fix memory corruption in previous patch. +- Consoldiate corrupt handling patches into just one patch. +- Default strings command to using -a. + +* Wed Oct 29 2014 Nick Clifton - 2.24-27 +- Fix memory corruption bug introduced by the previous patch. + +* Tue Oct 28 2014 Nick Clifton - 2.24-26 +- Import patches for PR/17510 and PR/17512 to fix reading corrupt ELF binaries. + Resolves: BZ #1157276, #1157277 + +* Mon Oct 27 2014 Nick Clifton - 2.24-25 +- Import patch from mainline to fix seg-fault when reading corrupt group headers. + Resolves: BZ #1157276 + +* Fri Oct 24 2014 Nick Clifton - 2.24-24 +- Import patch from mainline to fix seg-fault when reading corrupt srec fields. + Resolves: BZ #1156272 + +* Mon Aug 25 2014 Kyle McMartin - 2.24-23 +- aarch64: increase common page size to 64KB +- binutils-HEAD-change-ld-notice-interface.patch: backport fix from HEAD + that fixes LTO + ifunc when using ld.bfd instead of gold. +- binutils-2.24-aarch64-fix-gotplt-offset-ifunc.patch + binutils-2.24-aarch64-fix-static-ifunc.patch, split elfnn-aarch64 patches + into upstream git commits, to make it easier to figure out what's + backported already +- binutils-2.24-aarch64-fix-ie-relax.patch: add fix for gd to ie relaxation + when target register is >16 (pretty unlikely, but...) + +* Thu Aug 21 2014 Kyle McMartin - 2.24-22 +- bfd/elfnn-aarch64.c: use correct offsets in final_link_relocate + Resolves: BZ #1126199 + +* Thu Aug 21 2014 Nick Clifton - 2.24-21 +- Import patch from mainline to fix indirect symbol resolution. + Resolves: BZ #1123714 + +* Tue Aug 19 2014 Nick Clifton - 2.24-20 +- Enable deterministic archives by default. + Resolves: BZ #1124342 + +* Fri Aug 15 2014 Fedora Release Engineering - 2.24-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Aug 15 2014 Nick Clifton - 2.24-18 +- Correct elf_merge_st_other arguments for weak symbols. + Resolves: #1126436 + +* Tue Aug 12 2014 Jeff Law - 2.24-17 +- Enable gold for PPC. + +* Tue Jun 24 2014 Kyle McMartin - 2.24-16 +- Backport a couple LTO testsuite fixes from HEAD. + Default to -ffat-lto-objects for some ld tests, which was the default in + gcc 4.8, but changed in 4.9, and resulted in some failures. +- Add STATIC_TLS flag on ARM when IE relocs are emitted in a shared + library. Also fix up offsets in the testsuite resulting from the + addition of the flags. +- XFail some ld tests on AArch64 to cut some of the spurious testsuite + failures down. + +* Sat Jun 07 2014 Fedora Release Engineering - 2.24-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 09 2014 Nick Clifton - 2.24-14 +- Fix detection of little endian PPC64 binaries. (#1095885) + +* Mon Apr 28 2014 Nick Clifton - 2.24-13 +- Fix detection of uncompressed .debug_str sections. (#1082370) + +* Tue Apr 22 2014 Nick Clifton - 2.24-12 +- Fix compiling using gcc 4.9 (#1087374) + +* Thu Mar 27 2014 Nick Clifton - 2.24-11 +- Use {version} in Source string. Delete unused patches. + +* Tue Jan 28 2014 Nick Clifton - 2.24-10 +- Fix decoding of abbrevs using a DW_FORM_ref_addr attribute. (#1056797) + +* Tue Dec 17 2013 Nick Clifton - 2.24-9 +- Import fixes on 2.24 branch that affect AArch64 IFUNC and PLT handling. + +* Thu Dec 05 2013 Nick Clifton - 2.24-8 +- Fix building opcodes library with -Werror=format-security. (#1037026) + +* Wed Dec 04 2013 Jeff Law - 2.24-7 +- Update to official binutils 2.24 release. + +* Thu Nov 21 2013 Nick Clifton - 2.24-6 +- Update binutils 2.24 snapshot. + +* Mon Nov 11 2013 Nick Clifton - 2.24-5 +- Update binutils 2.24 snapshot. +- Switch to using GIT instead of CVS to access the FSF repository. +- Retire binutils-2.24-nm-dynsym.patch + +* Fri Oct 25 2013 Nick Clifton - 2.24-4 +- Update binutils 2.24 snapshot. +- Stop NM from halting if it encounters a file with no symbols when displaying dynamic symbols in multiple files. (#1022845) + +* Fri Oct 18 2013 Nick Clifton - 2.24-3 +- Update binutils 2.24 snapshot. + +* Fri Oct 11 2013 Nick Clifton - 2.24-2 +- Update binutils 2.24 snapshot. + +* Fri Oct 04 2013 Nick Clifton - 2.24-1 +- Rebase on binutils 2.24 snapshot. +- Retire: binutils-2.23.52.0.1-64-bit-thin-archives.patch, +- binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch, +- binutils-2.23.52.0.1-check-regular-ifunc-refs.patch, +- binutils-2.23.2-ld-texinfo-fixes.patch, +- binutils-2.23.2-bfd-texinfo-fixes.patch, +- binutils-2.23.2-dwz-alt-debuginfo.patch +- binutils-2.23.2-s390-gas-machinemode.patch +- binutils-2.23.2-xtensa.memset.patch +- binutils-2.23.2-s390-zEC12.patch +- binutils-2.23.2-arm-add-float-abi-to-e_flags.patch +- binutils-2.23.51.0.1-readelf-flush-stdout.patch + +* Mon Sep 09 2013 Nick Clifton - 2.23.88.0.1-14 +- Make readelf flush stdout before emitting an error or warning message. (#1005182) + +* Fri Aug 30 2013 Kyle McMartin 2.23.88.0.1-13 +- Add the hard-float/soft-float ABI flag as appropriate for + ET_DYN/ET_EXEC in EABI_VER5. +- Fix last changelog entry, it was release 12, not 14. + +* Wed Aug 14 2013 Nick Clifton 2.23.88.0.1-12 +- Add support for the s/390 zEC12 architecture to gas. (#996395) + +* Mon Aug 12 2013 Nick Clifton 2.23.88.0.1-11 +- Fix typos in invocations of memset in elf32-xtensa.c + +* Wed Aug 07 2013 Karsten Hopp 2.23.88.0.1-10 +- disable -Werror on ppc64p7 for #918189 + +* Sat Aug 03 2013 Fedora Release Engineering - 2.23.88.0.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jul 19 2013 Nick Clifton - 2.23.88.0.1-8 +- Add support for the S/390 .machinemode pseudo-op to GAS. (#986031) + +* Fri Jul 05 2013 Nick Clifton - 2.23.88.0.1-7 +- Add a requirement for libstdc++-static when running the GOLD testsuite. + +* Wed Jun 05 2013 Nick Clifton - 2.23.88.0.1-6 +- Fix building of aarch64 targets after applying the patch for kernel ld -r modules. +- Fix building when "--with debug" is specified. + +* Wed May 29 2013 Nick Clifton - 2.23.88.0.1-5 +- Add support for the alternative debuging files generated by the DWZ program. (#965255) + +* Fri May 17 2013 Nick Clifton - 2.23.88.0.1-4 +- Import H.J.'s patch to add support for kernel ld -r modules. +- Fix errors reported by version 5.0 of texinfo when parsing bfd documentation. + +* Fri Apr 26 2013 Nick Clifton - 2.23.88.0.1-3 +- Fix errors reported by version 5.0 of texinfo when parsing assembler documentation. + +* Thu Apr 25 2013 Nick Clifton - 2.23.88.0.1-2 +- Fix errors reported by version 5.0 of texinfo when parsing linker documentation. + +* Wed Apr 24 2013 Nick Clifton - 2.23.88.0.1-1 +- Switch over to basing sources on the official FSF binutils releases. +- Retire binutils-2.23.52.0.1-revert-pr15149.patch. +- Update binutils-2.22.52.0.1-relro-on-by-default.patch and binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch. + +* Wed Apr 17 2013 Nick Clifton - 2.23.52.0.1-10 +- Import patch for FSF mainline PR 15371 to fix ifunc references in shared libraries. (#927818) + +* Thu Mar 14 2013 Nick Clifton - 2.23.52.0.1-9 +- Enhance opncls.c:find_separate_debug_file() to look in Fedora specific locations. +- Enhance dwarf2.c:find_line() to work with shared libraries. (#920542) + +* Wed Mar 13 2013 Nick Clifton - 2.23.52.0.1-8 +- Fix addr2line to use dynamic symbols if it failed to canonicalize ordinary symbols. (#920542) + +* Wed Mar 13 2013 Nick Clifton - 2.23.52.0.1-7 +- Change requirement to explicitly depend upon /usr/bin/pod2man. (#920545) + +* Wed Mar 13 2013 Nick Clifton - 2.23.52.0.1-6 +- Require perl for pod2man for building man pages. (#920545) + +* Fri Mar 08 2013 Nick Clifton - 2.23.52.0.1-5 +- Reverts patch for PR15149 - prevents report weak DT_NEEDED symbols. (#918003) + +* Wed Mar 06 2013 Nick Clifton - 2.23.52.0.1-4 +- Enable building of GOLD for the ARM. (#908966) + +* Mon Mar 04 2013 Nick Clifton - 2.23.52.0.1-3 +- Fix errors reported by version 5.0 of texinfo when parsing assembler documentaion. + +* Fri Mar 01 2013 Nick Clifton - 2.23.52.0.1-2 +- Fix the creation of index tables in 64-bit thin archives. (#915411) + +* Thu Feb 28 2013 Nick Clifton - 2.23.52.0.1-1 +- Rebase on 2.23.51.0.1 release. (#916516) + +* Fri Feb 08 2013 Nick Clifton - 2.23.51.0.9-2 +- Enable 64-bit BFD for aarch64. (#908904) + +* Mon Feb 04 2013 Nick Clifton - 2.23.51.0.9-1 +- Rebase on 2.23.51.0.9 release. (#907089) +- Retire binutils-2.23.51.0.8-arm-whitespace.patch. + +* Mon Jan 21 2013 Nick Clifton - 2.23.51.0.8-4 +- Allow more whitespace in ARM instructions. (#892261) + +* Tue Jan 15 2013 Patsy Franklin - 2.23.51.0.8-3 +- Add bc to BuildRequires when running the testsuite. (#895321) + +* Wed Jan 02 2013 Nick Clifton - 2.23.51.0.8-2 +- Add runtime link with libdl. (#889134) + +* Wed Jan 02 2013 Nick Clifton - 2.23.51.0.8-1 +- Rebase on 2.23.51.0.8 release. (#890382) + +* Fri Dec 21 2012 Nick Clifton - 2.23.51.0.7-1 +- Rebase on 2.23.51.0.7 release. (#889432) + +* Tue Nov 27 2012 Nick Clifton - 2.23.51.0.6-1 +- Rebase on 2.23.51.0.6 release. (#880508) + +* Tue Nov 13 2012 Nick Clifton - 2.23.51.0.5-1 +- Rebase on 2.23.51.0.5 release. (#876141) +- Retire binutils-2.23.51.0.3-arm-ldralt.patch + +* Tue Oct 23 2012 Nick Clifton - 2.23.51.0.3-3 +- Rename ARM LDRALT instruction to LDALT. (#869025) PR/14575 + +* Mon Oct 15 2012 Jon Ciesla - 2.23.51.0.3-2 +- Provides: bundled(libiberty) + +* Tue Oct 02 2012 Nick Clifton - 2.23.51.0.3-1 +- Rebase on 2.23.51.0.3 release. (#858560) + +* Tue Sep 11 2012 Nick Clifton - 2.23.51.0.2-1 +- Rebase on 2.23.51.0.2 release. (#856119) +- Retire binutils-2.23.51.0.1-gold-keep.patch and binutils-rh805974.patch. + +* Tue Sep 4 2012 Jeff Law 2.23.51.0.1-4 +- Correctly handle PLTOFF relocs for s390 IFUNCs. + +* Tue Aug 14 2012 Karsten Hopp 2.23.51.0.1-3 +- apply F17 commit cd2fda5 to honour {powerpc64} macro (#834651) + +* Tue Aug 14 2012 Nick Clifton - 2.23.51.0.1-2 +- Make GOLD honour KEEP directives in linker scripts (#8333355) + +* Wed Aug 08 2012 Nick Clifton - 2.23.51.0.1-1 +- Rebase on 2.23.51.0.1 release. (#846433) +- Retire binutils-2.22.52.0.4-dwz.patch, binutils-2.22.52.0.4-ar-4Gb.patch, binutils-2.22.52.0.4-arm-plt-refcount.patch, binutils-2.22.52.0.4-s390-64bit-archive.patch. + +* Thu Aug 02 2012 Nick Clifton - 2.22.52.0.4-8 +- Make the binutils-devel package depend upon the binutils package. (#845082) + +* Thu Aug 02 2012 Nick Clifton - 2.22.52.0.4-7 +- Disable checks that config.h is included before system headers. (#845084) + +* Tue Jul 17 2012 Nick Clifton - 2.22.52.0.4-6 +- Use 64bit indicies in archives for s390 binaries. (#835957) + +* Thu Jul 05 2012 Nick Clifton - 2.22.52.0.4-5 +- Catch attempts to create a broken symbol index with archives > 4Gb in size. (#835957) + +* Fri Jun 29 2012 Nick Clifton - 2.22.52.0.4-4 +- Import fix for ld/14189. (#829311) + +* Fri Jun 29 2012 Nick Clifton - 2.22.52.0.4-3 +- Fix handling of archives > 4Gb in size by importing patch for PR binutils/14302. (#835957) + +* Tue Jun 19 2012 Jakub Jelinek - 2.22.52.0.4-2 +- Add minimal dwz -m support. + +* Wed Jun 06 2012 Nick Clifton - 2.22.52.0.4-1 +- Rebase on 2.22.52.0.4 release. (#829027) + +* Tue May 08 2012 Nick Clifton - 2.22.52.0.3-1 +- Rebase on 2.22.52.0.3 release. (#819823) + +* Mon Apr 30 2012 Nick Clifton - 2.22.52.0.2-1 +- Rebase on 2.22.52.0.2 release. (#816514) +- Retire binutils-2.22.52.0.1-weakdef.patch, binutils-2.22.52.0.1-ld-13621.patch, binutils-rh797752.patch, binutils-2.22.52.0.1-x86_64-hidden-ifunc.patch, binutils-2.22.52.0.1-tsx.patch and binutils-2.22.52.0.1-hidden-ifunc.patch. +- Update binutils-2.22.52.0.1-reloc-on-by-default.patch. + +* Fri Apr 27 2012 Nick Clifton - 2.22.52.0.1-12 +- Include demangle.h in the devel rpm. + +* Tue Apr 03 2012 Nick Clifton - 2.22.52.0.1-11 +- Enable -zrelro by default for RHEL 7+. (#807831) + +* Fri Mar 16 2012 Jakub Jelinek - 2.22.52.0.1-10 +- Fix up handling of hidden ifunc relocs on i?86 + +* Wed Mar 14 2012 Jeff Law - 2.22.52.0.1-9 +- Fix c++filt docs (2nd instance) (#797752) + +* Wed Mar 07 2012 Jakub Jelinek - 2.22.52.0.1-8 +- Fix up handling of hidden ifunc relocs on x86_64 +- Add Intel TSX support + +* Tue Mar 06 2012 Nick Clifton - 2.22.52.0.1-7 +- Enable -zrelro by default. (#621983 #807831) + +* Mon Feb 27 2012 Jeff Law - 2.22.52.0.1-6 +- Fix c++filt docs (#797752) + +* Wed Feb 15 2012 Mark Wielaard - 2.22.52.0.1-5 +- Add upstream ld/13621 'dangling global hidden symbol in symtab' patch. + +* Wed Feb 08 2012 Adam Williamson - 2.22.52.0.1-4 +- Actually apply the patch + +* Wed Feb 08 2012 Adam Williamson - 2.22.52.0.1-3 +- Add upstream weakdef.patch to fix RH #788107 + +* Wed Feb 01 2012 Nick Clifton - 2.22.52.0.1-2 +- Drat - forgot to upload the new tarball. Now done. + +* Wed Feb 01 2012 Nick Clifton - 2.22.52.0.1-1 +- Rebase on 2.22.52 release. +- Remove build-id.patch and gold-casts.patch as they are included in the 2.22.52 sources. + +* Fri Jan 13 2012 Nick Clifton - 2.22-4 +- Fix bug in GOLD sources parsing signed integers in command line options. + +* Fri Jan 13 2012 Nick Clifton - 2.22-3 +- Add casts for building gold with 4.7 version of gcc. + +* Thu Jan 12 2012 Fedora Release Engineering - 2.22-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Nov 22 2011 Nick Clifton - 2.22-1 +- Rebase on 2.22 release. + +* Fri Sep 30 2011 Ricky Zhou - 2.21.53.0.2-2 +- Rebuild libopcodes.a with -fPIC. + +* Tue Aug 09 2011 Nick Clifton - 2.21.53.0.2-1 +- Rebase on 2.21.53.0.2 tarball. Delete unneeded patches. (BZ 728677) + +* Tue Aug 02 2011 Nick Clifton - 2.21.53.0.1-3 +- Update libiberty demangling. (BZ 727453) + +* Wed Jul 27 2011 Nick Clifton - 2.21.53.0.1-2 +- Import Jakub Jelinek's patch to add support for displaying the contents of .debug_macro sections. + +* Tue Jul 19 2011 Nick Clifton - 2.21.53.0.1-1 +- Rebase on 2.21.53.0.1 tarball. Delete unneeded patches. (BZ 712668) + +* Fri Jun 24 2011 Nick Clifton - 2.21.52.0.1-5 +- Import fix for PR ld/12921. + +* Fri Jun 24 2011 Nick Clifton - 2.21.52.0.1-4 +- Run "alternatives --auto" to restore ld symbolic link if it was manually configured. (BZ 661247) + +* Thu Jun 16 2011 Nick Clifton - 2.21.52.0.1-3 +- Fix seg-fault attempting to find a function name without a symbol table. (BZ 713471) + +* Fri Jun 10 2011 Nick Clifton - 2.21.52.0.1-2 +- Import fix for PR ld/12851 (BZ 711268) + +* Thu Jun 09 2011 Nick Clifton - 2.21.52.0.1-1 +- Rebase on 2.21.52.0.1 tarball. (BZ 712025) + +* Tue May 17 2011 Nick Clifton - 2.21.51.0.9-1 +- Rebase on 2.21.51.0.9 tarball. (BZ 703105) + +* Mon May 2 2011 Peter Robinson - 2.21.51.0.8-3 +- Add ARM to BFD checks + +* Mon Apr 11 2011 Nick Clifton - 2.21.51.0.8-2 +- Delete plugins patch - enable plugins via configure option. + +* Mon Apr 11 2011 Nick Clifton - 2.21.51.0.8-1 +- Rebase on 2.21.51.0.8 tarball. + +* Thu Mar 17 2011 Nick Clifton - 2.21.51.0.7-1 +- Rebase on 2.21.51.0.7 tarball. + +* Tue Mar 08 2011 Nick Clifton - 2.21.51.0.6-2 +- Enable gold plugins. (BZ 682852) + +* Thu Feb 10 2011 Nick Clifton - 2.21.51.0.6-1 +- Rebase on 2.21.51.0.6 tarball. + +* Mon Feb 07 2011 Fedora Release Engineering - 2.21.51.0.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Jan 28 2011 Jakub Jelinek - 2.21.51.0.5-3 +- Readd --build-id fix patch. (PR ld/12451) + +* Thu Jan 6 2011 Dan Horák - 2.21.51.0.5-2 +- fix build on non-gold arches like s390(x) where both ld and ld.bfd is installed + +* Wed Jan 5 2011 Nick Clifton - 2.21.51.0.5-1 +- Rebase on 2.21.51.0.5 tarball. +- Delete redundant patches. +- Fix gold+ld configure command line option. + +* Fri Nov 5 2010 Dan Horák - 2.20.51.0.12-2 +- "no" is not valid option for --enable-gold + +* Thu Oct 28 2010 Nick Clifton - 2.20.51.0.12-1 +- Rebase on 2.20.51.0.12 tarball. (BZ 582160) + +* Fri Sep 10 2010 Nick Clifton - 2.20.51.0.11-1 +- Rebase on 2.20.51.0.11 tarball. (BZ 631771) + +* Fri Aug 20 2010 Nick Clifton - 2.20.51.0.10-3 +- Allow ^ and ! characters in linker script wildcard patterns. (BZ 621742) + +* Fri Aug 20 2010 Nick Clifton - 2.20.51.0.10-2 +- Fix seg fault in sec_merge_emit(). (BZ 623687) + +* Tue Aug 10 2010 Nick Clifton - 2.20.51.0.10-1 +- Rebase on 2.20.51.0.10 tarball. +- Import GOLD sources from binutils mainline as of 10 Aug 2010. + +* Wed Jun 30 2010 Nick Clifton - 2.20.51.0.7-5 +- Rename the binutils-static package to binutils-devel in line with the Fedora packaging guidelines. + +* Wed Jun 9 2010 Nick Clifton - 2.20.51.0.7-4 +- Allow GOLD linker to parse "-l" directives inside INPUT statements in linker scripts. (BZ 600553) + +* Tue May 4 2010 Nick Clifton - 2.20.51.0.7-3 +- Allow unique symbols in archive maps. + +* Tue Apr 20 2010 Nick Clifton - 2.20.51.0.7-2 +- Merge binutils-devel package into binutils-static package. (BZ 576300) + +* Thu Apr 8 2010 Nick Clifton - 2.20.51.0.7-1 +- Rebase on 2.20.51.0.7 tarball. +- Delete redundant patches: + binutils-2.20.51.0.2-add-needed.patch, + binutils-2.20.51.0.2-do-not-set-ifunc.patch, + binutils-2.20.51.0.2-enable-gold.patch, + binutils-2.20.51.0.2-gas-expr.patch, + binutils-2.20.51.0.2-ifunc-ld-s.patch, + binutils-2.20.51.0.2-lwp.patch, + binutils-2.20.51.0.2-ppc-hidden-plt-relocs.patch, + binutils-2.20.51.0.2-x86-hash-table.patch, +- Do not allow unique symbols to be bound locally. (PR ld/11434) +- Add support for DWARF4 debug information. + +* Thu Mar 4 2010 Nick Clifton - 2.20.51.0.2-17 +- Do not set ELFOSABI_LINUX on binaries which just link to IFUNC using DSOs. (BZ 568941) + +* Tue Mar 2 2010 Nick Clifton - 2.20.51.0.2-16 +- Copy the OSABI field in ELF headers, if set. (BZ 568921) + +* Fri Feb 12 2010 Nick Clifton - 2.20.51.0.2-15 +- Create separate static and devel sub-packages. (BZ 556040) + +* Tue Feb 2 2010 Nick Clifton - 2.20.51.0.2-14 +- Fix seg-fault when linking mixed x86 and x86_64 binaries. (BZ 487472) + +* Fri Jan 22 2010 Nick Clifton - 2.20.51.0.2-13 +- Add a requirement for the coreutils. (BZ 557006) + +* Wed Jan 20 2010 Nick Clifton - 2.20.51.0.2-12 +- Fix --no-copy-dt-needed so that it will not complain about weak references. + +* Fri Dec 18 2009 Nick Clifton - 2.20.51.0.2-11 +- Add missing part of PR 11088 patch. + +* Thu Dec 17 2009 Nick Clifton - 2.20.51.0.2-10 +- Apply patch for PR 11088. (BZ 544149) + +* Wed Dec 9 2009 Nick Clifton - 2.20.51.0.2-9 +- Apply patch for PR 10856. (BZ 544358) + +* Tue Dec 1 2009 Roland McGrath - 2.20.51.0.2-8 +- Build gold only for x86 flavors until others are tested. + +* Tue Nov 24 2009 Roland McGrath - 2.20.51.0.2-7 +- Add support for building gold. + +* Mon Nov 9 2009 Jakub Jelinek 2.20.51.0.2-5 +- Fix up --copy-dt-needed-entries default. (Nick Clifton) + +* Mon Nov 9 2009 Jakub Jelinek 2.20.51.0.2-4 +- Fix ld -s with IRELATIVE relocations. (BZ 533321, PR ld/10911) +- Add AMD Orochi LWP support, fix FMA4 support. + +* Thu Nov 05 2009 Nick CLifton 2.20.51.0.2-3 +- Rename --add-needed to --copy-dt-needed-entries and improve error message about unresolved symbols in DT_NEEDED DSOs. + +* Tue Oct 27 2009 Jan Kratochvil 2.20.51.0.2-2 +- Fix rpm --excludedocs (BZ 515922). +- Fix spurious scriplet errors by `exit 0'. (BZ 517979, Nick Clifton) + +* Mon Oct 12 2009 Nick Clifton 2.20.51.0.2-1 +- Rebase on 2.20 tarball. +- Remove redundant moxie patch. +- Remove redundant unique is global patch. +- Remove redundant cxxfilt java doc patch. + +* Tue Sep 29 2009 Jan Kratochvil 2.19.51.0.14-32 +- Remove spurious description of nonexistent --java switch for cxxfilt. + +* Thu Aug 6 2009 Jakub Jelinek 2.19.51.0.14-31 +- Fix strip on objects with STB_GNU_UNIQUE symbols. (BZ 515700, PR binutils/10492) + +* Fri Jul 24 2009 Fedora Release Engineering - 2.19.51.0.14-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 22 2009 Nick Clifton 2.19.51.0.11-28 +- Rebase sources on 2.19.51.0.14 tarball. Gain fixes for PRs 10429 and 10433. + +* Wed Jul 22 2009 Nick Clifton 2.19.51.0.11-28 +- Rebase sources on 2.19.51.0.13 tarball. Remove redundant orphan section placement patch. (BZ 512937) + +* Tue Jul 14 2009 Nick Clifton 2.19.51.0.11-27 +- Add patch to allow moxie target to build, and hence --enable-targets=all to work. + +* Tue Jul 14 2009 Nick Clifton 2.19.51.0.11-26 +- Import orphan section placement patch from mainline. (BZ 510384) + +* Tue Jul 14 2009 Nick Clifton 2.19.51.0.11-25 +- Fix build-id patch to avoid memory corruption. (BZ 501582) + +* Sat Jul 11 2009 Jan Kratochvil 2.19.51.0.11-24 +- Provide uuencode output of the testsuite results. + +* Tue Jun 30 2009 Nick Clifton 2.19.51.0.11-23 +- Rebase sources on the 2.19.51.0.11 tarball. + +* Mon Jun 22 2009 Nick Clifton 2.19.51.0.10-22 +- Rebase sources on the 2.19.51.0.10 tarball. + +* Thu Jun 11 2009 Nick Clifton 2.19.51.0.2-21 +- Do not attempt to set execute permission on non-regular files. (BZ 503426) + +* Tue Jun 9 2009 Jakub Jelinek 2.19.51.0.2-20 +- Fix .cfi_* skip over >= 64KB of code. (PR gas/10255) + +* Wed May 27 2009 Nick Clifton 2.19.51.0.2-19 +- Import fix for binutils PR #9938. (BZ 500295) + +* Wed Apr 15 2009 Nick Clifton 2.19.51.0.2-18 +- Update IBM Power 7 support patch to fix tlbilx opcode. (BZ 494718) + +* Tue Mar 17 2009 Nick Clifton 2.19.51.0.2-17 +- Add glibc-static to BuildRequires when running the testsuite. + +* Thu Mar 05 2009 Nick Clifton 2.19.51.0.2-16 +- Add IBM Power7 support. (BZ 487887) + +* Mon Mar 02 2009 Nick Clifton 2.19.51.0.2-15 +- Add IFUNC support. (BZ 465302) + +* Mon Feb 23 2009 Fedora Release Engineering - 2.19.51.0.2-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 23 2009 Jan Kratochvil 2.19.50.0.2-13 +- Rediff the symbolic-envvar-revert patch to comply with rpm patch --fuzz=0. + +* Thu Feb 5 2009 Nick Clifton 2.19.51.0.2-12 +- Rebase sources on 2.19.51.0.2 tarball. Remove linkonce-r-discard and + gcc-expect-table patches. + +* Mon Feb 2 2009 Jan Kratochvil 2.19.50.0.1-11 +- Fix .eh_frame_hdr build also for .gcc_except_table LSDA refs (BZ 461675). + +* Fri Jan 23 2009 Nick Clifton 2.19.50.0.1-10 +- Only require dejagnu if the testsuites are going to be run. (BZ 481169) + +* Sat Nov 29 2008 Nick Clifton 2.19.50.0.1-8 +- Add build-id patch to ensure that section contents are incorporated + into a build id. (BZ 472152) + +* Fri Nov 21 2008 Nick Clifton 2.19.50.0.1 +- Rebase sources on 2.19.50.0.1 tarball. Update all patches, trimming + those that are no longer needed. + +* Thu Oct 30 2008 Jan Kratochvil 2.18.50.0.9-7 +- Fix %%{_prefix}/include/bfd.h on 32-bit hosts due the 64-bit BFD target + support from 2.18.50.0.8-2 (BZ 468495). + +* Thu Oct 30 2008 Jan Kratochvil 2.18.50.0.9-6 +- binutils-devel now requires zlib-devel (BZ 463101 comment 5). +- Fix complains on .gnu.linkonce.r relocations to their discarded + .gnu.linkonce.t counterparts. + +* Mon Sep 22 2008 Jan Kratochvil 2.18.50.0.9-5 +- Remove %%makeinstall to comply with the spu-binutils review (BZ 452211). + +* Mon Sep 22 2008 Jan Kratochvil 2.18.50.0.9-4 +- Fix *.so scripts for multilib linking (BZ 463101, suggested by Jakub Jelinek). + +* Sun Sep 21 2008 Jan Kratochvil 2.18.50.0.9-3 +- Provide libbfd.so and libopcodes.so for automatic dependencies (BZ 463101). +- Fix .eh_frame_hdr build on C++ files with discarded common groups (BZ 458950). +- Provide --build and --host to fix `rpmbuild --target' biarch builds. +- Include %%{binutils_target}- filename prefix for binaries for cross builds. +- Fix multilib conflict on %%{_prefix}/include/bfd.h's BFD_HOST_64BIT_LONG_LONG. + +* Mon Sep 15 2008 Jan Kratochvil 2.18.50.0.9-2 +- Package review, analysed by Jon Ciesla and Patrice Dumas (BZ 225615). + - build back in the sourcedir without problems as gasp is no longer included. + - Fix the install-info requirement. + - Drop the needless gzipping of the info files. + - Provide Obsoletes versions. + - Use the %%configure macro. + +* Sat Aug 30 2008 Jan Kratochvil 2.18.50.0.9-1 +- Update to 2.18.50.0.9. + - Drop the ppc-only spu target pre-build stage (BZ 455242). + - Drop parsing elf64-i386 files for kdump PAE vmcore dumps (BZ 457189). +- New .spec BuildRequires zlib-devel (/-static) for compressed sections. +- Update .spec Buildroot to be more unique. + +* Fri Aug 1 2008 Jan Kratochvil 2.18.50.0.8-2 +- Fix parsing elf64-i386 files for kdump PAE vmcore dumps (BZ 457189). +- Turn on 64-bit BFD support for i386, globally enable AC_SYS_LARGEFILE. +- `--with debug' builds now with --disable-shared. +- Removed a forgotten unused ld/eelf32_spu.c workaround from 2.18.50.0.8-1. + +* Thu Jul 31 2008 Jan Kratochvil 2.18.50.0.8-1 +- Update to 2.18.50.0.8. + - Drop the .clmul -> .pclmul renaming backport. +- Add %%{binutils_target} macro to support building cross-binutils. + (David Woodhouse) +- Support `--without testsuite' to suppress the testsuite run. +- Support `--with debug' to build without optimizations. +- Refresh the patchset with fuzz 0 (for new rpmbuild). +- Enable the spu target on ppc/ppc64 (BZ 455242). + +* Wed Jul 16 2008 Jan Kratochvil 2.18.50.0.6-4 +- include the `dist' tag in the Release number +- libbfd.a symbols visibility is now hidden (for #447426, suggested by Jakub) + +* Wed Jul 16 2008 Jan Kratochvil 2.18.50.0.6-3 +- rebuild libbfd.a with -fPIC for inclusion into shared libraries (#447426) + +* Tue Apr 8 2008 Jakub Jelinek 2.18.50.0.6-2 +- backport .clmul -> .pclmul renaming + +* Fri Apr 4 2008 Jakub Jelinek 2.18.50.0.6-1 +- update to 2.18.50.0.6 + - Intel AES, CLMUL, AVX/FMA support + +* Mon Mar 3 2008 Jakub Jelinek 2.18.50.0.4-2 +- revert aranges optimization (Alan Modra, BZ#5303, BZ#5755) +- fix ld-shared testcase for GCC 4.3 (H.J. Lu) + +* Fri Feb 29 2008 Jakub Jelinek 2.18.50.0.4-1 +- update to 2.18.50.0.4 + +* Tue Feb 19 2008 Fedora Release Engineering 2.18.50.0.3-2 +- Autorebuild for GCC 4.3 + +* Wed Dec 12 2007 Jakub Jelinek 2.18.50.0.3-1 +- update to 2.18.50.0.3 + - fix build with recent makeinfo (#415271) + +* Thu Aug 16 2007 Jakub Jelinek 2.17.50.0.18-1 +- update to 2.17.50.0.18 + - GPLv3+ + - preserve .note.gnu.build-id in objcopy --only-keep-debug (#251935) + - fix sparc64/alpha broken by --build-id patch (#252936) +- update License tag +- fix ld crash with --build-id and non-ELF output format (Alan Modra, BZ#4923) + +* Tue Jul 31 2007 Jakub Jelinek 2.17.50.0.17-7 +- fix ppc32 secure PLT detection (Alan Modra) + +* Wed Jul 25 2007 Jakub Jelinek 2.17.50.0.17-6 +- rebuilt to make sure even libbfd.so and libopcodes.so aren't + broken by #249435 + +* Tue Jul 24 2007 Jakub Jelinek 2.17.50.0.17-5 +- add .note.gnu.build-id into default linker script (#249435) + +* Tue Jul 24 2007 Jakub Jelinek 2.17.50.0.17-4 +- don't kill the %%{_gnu} part of target name on arm + (Lennert Buytenhek, #243516) +- create just one PT_NOTE segment header for all consecutive SHT_NOTE + sections + +* Wed Jul 18 2007 Roland McGrath 2.17.50.0.17-3 +- fix for ld --build-id + +* Sun Jul 15 2007 Roland McGrath 2.17.50.0.17-2 +- ld --build-id support + +* Wed Jun 27 2007 Jakub Jelinek 2.17.50.0.17-1 +- update to 2.17.50.0.17 + +* Tue Jun 12 2007 Jakub Jelinek 2.17.50.0.16-1 +- update to 2.17.50.0.16 + +* Sat Apr 14 2007 Jakub Jelinek 2.17.50.0.12-4 +- fix linking non-ELF input objects into ELF output (#235747) + +* Wed Mar 14 2007 Jakub Jelinek 2.17.50.0.12-3 +- don't require matching ELF_OSABI for target vecs with ELFOSABI_NONE, + only prefer specific osabi target vecs over the generic ones + (H.J.Lu, #230964, BZ#3826) +- build libbfd.so and libopcodes.so with -Bsymbolic-functions + +* Fri Mar 2 2007 Jakub Jelinek 2.17.50.0.12-2 +- ignore install-info errors from scriptlets (#223678) + +* Thu Mar 1 2007 Jakub Jelinek 2.17.50.0.12-1 +- update to 2.17.50.0.12 +- revert the misdesigned LD_SYMBOLIC{,_FUNCTIONS} env var support, + only support -Bsymbolic/-Bsymbolic-functions/--dynamic-list* + +* Mon Jan 8 2007 Jakub Jelinek 2.17.50.0.9-1 +- update to 2.17.50.0.9 +- fix tekhex reader + +* Sat Dec 23 2006 Jakub Jelinek 2.17.50.0.8-2 +- fix --as-needed on ppc64 (#219629) + +* Sun Dec 3 2006 Jakub Jelinek 2.17.50.0.8-1 +- update to 2.17.50.0.8 +- initialize frch_cfi_data (BZ#3607) + +* Fri Dec 1 2006 Jakub Jelinek 2.17.50.0.7-1 +- update to 2.17.50.0.7 + - .cfi_personality and .cfi_lsda directives, per subsection .cfi_* + directives, better .eh_frame CIE merging + +* Thu Nov 9 2006 Jakub Jelinek 2.17.50.0.6-3 +- fix popcnt instruction assembly and disassembly on amd64 (#214767) + +* Mon Oct 23 2006 Jakub Jelinek 2.17.50.0.6-2 +- update to 2.17.50.0.6 + - fix for section relative linker script defined symbols in + empty sections (#207598, BZ#3267) + - fix handling of DW_CFA_set_loc in .eh_frame optimizations + - fix R_PPC_{PLT,GOT{,_TLSGD,_TLSLD,_TPREL,_DTPREL}}16_HA relocation + handling with weak undefined symbols (Alan Modra, #211094) + +* Tue Sep 12 2006 Jakub Jelinek 2.17.50.0.3-6 +- fix multilib conflict in %%{_prefix}/include/bfd.h + +* Tue Sep 12 2006 Jakub Jelinek 2.17.50.0.3-5 +- fix efi-app-ia64 magic number (#206002, BZ#3171) + +* Tue Sep 5 2006 Jakub Jelinek 2.17.50.0.3-4 +- link libopcodes*.so against libbfd*.so (#202327) +- split *.a and header files into binutils-devel + +* Fri Aug 18 2006 Jakub Jelinek 2.17.50.0.3-3 +- on ppc and ppc64 increase default -z commonpagesize to 64K (#203001) + +* Fri Jul 28 2006 Alexandre Oliva 2.17.50.0.3-2 +- do not infer x86 arch implicitly based on instruction in the input + (#200330) + +* Mon Jul 17 2006 Jakub Jelinek 2.17.50.0.3-1 +- update to 2.17.50.0.3 + +* Fri Jul 14 2006 Jakub Jelinek 2.17.50.0.2-8 +- add support for new AMDFAM10 instructions (#198281, IT#97662) +- add -march=/-mtune= gas support on x86/x86-64 +- x86/x86-64 nop insn improvements +- fix DT_GNU_HASH shift count value computation + +* Tue Jul 11 2006 Jakub Jelinek 2.17.50.0.2-7 +- add DT_GNU_HASH support (--hash-style=gnu and --hash-style=both + ld options) + +* Thu Jun 29 2006 Jakub Jelinek 2.17.50.0.2-4 +- fix i?86 TLS GD->IE transition in executables (#196157, BZ#2513) + +* Mon Jun 19 2006 Jakub Jelinek 2.17.50.0.2-3 +- fix two places in ld that misbehaved with MALLOC_PERTURB_=N +- fix .tls_common handling in relocatable linking + +* Mon Jun 5 2006 Jakub Jelinek 2.17.50.0.2-2 +- fix --as-needed (Alan Modra, #193689, BZ#2721) + +* Thu Jun 1 2006 Jakub Jelinek 2.17.50.0.2-1 +- update to 2.17.50.0.2 +- update from CVS to 20060601 +- speed up the ELF linker by caching the result of kept section check + (H.J. Lu) + +* Tue May 9 2006 Jakub Jelinek 2.17.50.0.1-1 +- update to 2.17.50.0.1 + +* Fri Mar 31 2006 Jakub Jelinek 2.16.91.0.6-6 +- fix ld error message formatting, so that collect2 parser can + parse it again for g++ -frepo (#187142) + +* Thu Mar 9 2006 Alexandre Oliva 2.16.91.0.6-4 +- fix relaxation of TLS GD to LE on PPC (#184590) + +* Fri Mar 3 2006 Jakub Jelinek 2.16.91.0.6-3 +- support DW_CFA_val_{offset,offset_sf,expression} in readelf/objdump + +* Tue Feb 28 2006 Jakub Jelinek 2.16.91.0.6-2 +- add MNI support on i?86/x86_64 (#183080) +- support S signal frame augmentation flag in .eh_frame, + add .cfi_signal_frame support (#175951, PR other/26208, BZ#300) + +* Tue Feb 14 2006 Jakub Jelinek 2.16.91.0.6-1 +- update to 2.16.91.0.6 + - fix ppc64 --gc-sections + - disassembler fixes for x86_64 cr/debug regs + - fix linker search order for DT_NEEDED libs + +* Mon Jan 02 2006 Jakub Jelinek 2.16.91.0.5-1 +- update to 2.16.91.0.5 +- don't error about .toc1 references to discarded sectiosn on ppc64 + (#175944) + +* Wed Dec 14 2005 Jakub Jelinek 2.16.91.0.3-2 +- put .gnu.linkonce.d.rel.ro.* sections into relro region + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Fri Nov 11 2005 Jakub Jelinek 2.16.91.0.3-1 +- update to 2.16.91.0.3 +- add .weakref support (Alexandre Oliva, #115157, #165728) + +* Thu Aug 18 2005 Jakub Jelinek 2.16.91.0.2-4 +- install-info also configure.info +- update standards.texi from gnulib (#165530) + +* Tue Aug 16 2005 Jakub Jelinek 2.16.91.0.2-3 +- update to 20050816 CVS +- better fix for ld-cdtest +- fix symbol version script parsing + +* Fri Jul 29 2005 Jakub Jelinek 2.16.91.0.2-2 +- don't complain about relocs to discarded sections in ppc32 + .got2 sections (Alan Modra, PR target/17828) + +* Fri Jul 22 2005 Jakub Jelinek 2.16.91.0.2-1 +- update to 2.16.91.0.2 + +* Thu Jul 21 2005 Jakub Jelinek 2.16.91.0.1-3 +- fix buffer overflow in readelf ia64 unwind printing code +- use vsnprintf rather than vsprintf in gas diagnostics (Tavis Ormandy) +- fix ld-cdtest when CFLAGS contains -fexceptions + +* Wed Jul 20 2005 Jakub Jelinek 2.16.91.0.1-2 +- update to 20050720 CVS + +* Mon Jul 11 2005 Jakub Jelinek 2.16.91.0.1-1 +- update to 2.16.91.0.1 plus 20050708 CVS + +* Wed Jun 15 2005 Jakub Jelinek 2.16.90.0.3-1 +- update to 2.16.90.0.3 +- update to 20050615 CVS + - ppc32 secure PLT support (Alan Modra) +- further bfd/readelf robustification + +* Sat Jun 11 2005 Jakub Jelinek 2.15.94.0.2.2-4 +- further bfd robustification (CAN-2005-1704, #158680) + +* Fri Jun 10 2005 Jakub Jelinek 2.15.94.0.2.2-3 +- further objdump and readelf robustification (CAN-2005-1704, #158680) + +* Wed May 25 2005 Jakub Jelinek 2.15.94.0.2.2-2 +- bfd and readelf robustification (CAN-2005-1704, #158680) + +* Tue Mar 29 2005 Jakub Jelinek 2.15.94.0.2.2-1 +- update to 2.15.94.0.2.2 +- speed up walk_wild_section (Robert O'Callahan) + +* Mon Mar 7 2005 Jakub Jelinek 2.15.94.0.2-4 +- rebuilt with GCC 4 + +* Mon Feb 28 2005 Jakub Jelinek 2.15.94.0.2-3 +- fix buffer overflows in readelf (#149506) +- move c++filt to binutils from gcc-c++, conflict with gcc-c++ < 4.0 (#86333) + +* Thu Feb 10 2005 Jakub Jelinek 2.15.94.0.2-1 +- update to 2.15.94.0.2 +- fix .note.GNU-stack/PT_GNU_STACK computation in linker on ppc64 (#147296) +- fix stripping of binaries/libraries that have empty sections right before + .dynamic section (with the same starting address; #144038) +- handle AS_NEEDED (...) in linker script INPUT/GROUP + +* Tue Dec 14 2004 Jakub Jelinek 2.15.92.0.2-11 +- fix a longstanding -z relro bug + +* Mon Dec 13 2004 Jakub Jelinek 2.15.92.0.2-10 +- avoid unnecessary gap with -z relro showing on i686 libc.so +- ppc64 --emit-relocs fix (Alan Modra) +- don't crash if STT_SECTION symbol has incorrect st_shndx (e.g. SHN_ABS, + as created by nasm; #142181) +- don't try to make absptr LSDAs relative if they don't have relocations + against them (Alan Modra, #141162) + +* Wed Oct 27 2004 Jakub Jelinek 2.15.92.0.2-5.EL4 +- fix ar xo (#104344) + +* Wed Oct 20 2004 Jakub Jelinek 2.15.92.0.2-5 +- fix --just-symbols on ppc64 (Alan Modra, #135498) + +* Fri Oct 15 2004 Jakub Jelinek 2.15.92.0.2-4 +- fix code detecting matching linkonce and single member comdat + group sections (#133078) + +* Mon Oct 11 2004 Jakub Jelinek 2.15.92.0.2-3 +- revert Sep 09 change to make ppc L second argument e.g. for tlbie + non-optional +- fix stripping of prelinked binaries and libraries (#133734) +- allow strings(1) on 32-bit arches to be used again with > 2GB + files (#133555) + +* Mon Oct 4 2004 Jakub Jelinek 2.15.92.0.2-2 +- update to 2.15.92.0.2 +- change ld's ld.so.conf parser to match ldconfig's (#129340) + +* Mon Sep 20 2004 Jakub Jelinek 2.15.91.0.2-9 +- avoid almost 1MB (sparse) gaps in the middle of -z relro + libraries on x86-64 (Andreas Schwab) +- fix -z relro to make sure end of PT_GNU_RELRO segment is always + COMMONPAGESIZE aligned + +* Wed Aug 18 2004 Jakub Jelinek 2.15.91.0.2-8 +- fix linker segfaults on input objects with SHF_LINK_ORDER with + incorrect sh_link (H.J.Lu, Nick Clifton, #130198, BZ #290) + +* Wed Aug 18 2004 Jakub Jelinek 2.15.91.0.2-7 +- resolve all undefined ppc64 .* syms to the function bodies through + .opd, not just those used in brach instructions (Alan Modra) + +* Tue Aug 17 2004 Jakub Jelinek 2.15.91.0.2-6 +- fix ppc64 ld --dotsyms (Alan Modra) + +* Tue Aug 17 2004 Jakub Jelinek 2.15.91.0.2-5 +- various ppc64 make check fixes when using non-dot-syms gcc (Alan Modra) +- fix --gc-sections +- on ia64 create empty .gnu.linkonce.ia64unw*.* sections for + .gnu.linkonce.t.* function doesn't need unwind info + +* Mon Aug 16 2004 Jakub Jelinek 2.15.91.0.2-4 +- kill ppc64 dot symbols (Alan Modra) +- objdump -d support for objects without dot symbols +- support for overlapping ppc64 .opd entries + +* Mon Aug 9 2004 Jakub Jelinek 2.15.91.0.2-3 +- fix a newly introduced linker crash on x86-64 + +* Sun Aug 8 2004 Alan Cox 2.15.91.0.2-2 +- BuildRequire bison and macroise buildroot - from Steve Grubb + +* Fri Jul 30 2004 Jakub Jelinek 2.15.91.0.2-1 +- update to 2.15.91.0.2 +- BuildRequire flex (#117763) + +* Wed May 19 2004 Jakub Jelinek 2.15.90.0.3-7 +- use lib64 instead of lib directories on ia64 if %%{_lib} is + set to lib64 by rpm + +* Sat May 15 2004 Jakub Jelinek 2.15.90.0.3-6 +- fix a bug introduced in the ++/-- rejection patch + from 2.15.90.0.3 (Alan Modra) + +* Tue May 4 2004 Jakub Jelinek 2.15.90.0.3-5 +- fix s390{,x} .{,b,p2}align handling +- ppc/ppc64 testsuite fix + +* Mon May 3 2004 Jakub Jelinek 2.15.90.0.3-4 +- -z relro ppc/ppc64/ia64 fixes +- change x86-64 .plt symbol st_size handling to match ia32 +- prettify objdump -d output + +* Tue Apr 20 2004 Jakub Jelinek 2.15.90.0.3-3 +- several SPARC fixes + +* Sun Apr 18 2004 Jakub Jelinek 2.15.90.0.3-2 +- yet another fix for .tbss handling + +* Fri Apr 16 2004 Jakub Jelinek 2.15.90.0.3-1 +- update to 2.15.90.0.3 + +* Fri Mar 26 2004 Jakub Jelinek 2.15.90.0.1.1-2 +- update to 20040326 CVS + - fix ppc64 weak .opd symbol handling (Alan Modra, #119086) +- fix .tbss handling bug introduced + +* Fri Mar 26 2004 Jakub Jelinek 2.15.90.0.1.1-1 +- update to 2.15.90.0.1.1 + +* Sat Feb 21 2004 Jakub Jelinek 2.14.90.0.8-8 +- with -z now without --enable-new-dtags create DT_BIND_NOW + dynamic entry in addition to DT_FLAGS_1 with DF_1_NOW bit set + +* Fri Feb 20 2004 Jakub Jelinek 2.14.90.0.8-7 +- fix -pie on ppc32 + +* Fri Feb 20 2004 Jakub Jelinek 2.14.90.0.8-6 +- clear .plt sh_entsize on sparc32 +- put whole .got into relro area with -z now -z relro + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Thu Jan 22 2004 Jakub Jelinek 2.14.90.0.8-4 +- fix -pie on IA64 + +* Mon Jan 19 2004 Jakub Jelinek 2.14.90.0.8-3 +- fix testcases on s390 and s390x + +* Fri Jan 16 2004 Jakub Jelinek 2.14.90.0.8-2 +- fix testcases on AMD64 +- fix .got's sh_entsize on IA32/AMD64 +- set COMMONPAGESIZE on s390/s390x +- set COMMONPAGESIZE on ppc32 (Alan Modra) + +* Fri Jan 16 2004 Jakub Jelinek 2.14.90.0.8-1 +- update to 2.14.90.0.8 + +* Tue Jan 13 2004 Jakub Jelinek 2.14.90.0.7-4 +- fix -z relro on 64-bit arches + +* Mon Jan 12 2004 Jakub Jelinek 2.14.90.0.7-3 +- fix some bugs in -z relro support + +* Fri Jan 9 2004 Jakub Jelinek 2.14.90.0.7-2 +- -z relro support, reordering of RW sections + +* Fri Jan 9 2004 Jakub Jelinek 2.14.90.0.7-1 +- update to 2.14.90.0.7 + +* Mon Nov 24 2003 Jakub Jelinek 2.14.90.0.6-4 +- fix assembly parsing of foo=(.-bar)/4 (Alan Modra) +- fix IA-64 assembly parsing of (p7) hint @pause + +* Tue Sep 30 2003 Jakub Jelinek 2.14.90.0.6-3 +- don't abort on some linker warnings/errors on IA-64 + +* Sat Sep 20 2003 Jakub Jelinek 2.14.90.0.6-2 +- fix up merge2.s to use .p2align instead of .align + +* Sat Sep 20 2003 Jakub Jelinek 2.14.90.0.6-1 +- update to 2.14.90.0.6 +- speed up string merging (Lars Knoll, Michael Matz, Alan Modra) +- speed up IA-64 local symbol handling during linking + +* Fri Sep 5 2003 Jakub Jelinek 2.14.90.0.5-7 +- avoid ld -s segfaults introduced in 2.14.90.0.5-5 (Dmitry V. Levin, + #103180) + +* Fri Aug 29 2003 Jakub Jelinek 2.14.90.0.5-6 +- build old demangler into libiberty.a (#102268) +- SPARC .cfi* support + +* Tue Aug 5 2003 Jakub Jelinek 2.14.90.0.5-5 +- fix orphan section placement + +* Tue Jul 29 2003 Jakub Jelinek 2.14.90.0.5-4 +- fix ppc64 elfvsb linker tests +- some more 64-bit cleanliness fixes, give ppc64 fdesc symbols + type and size (Alan Modra) + +* Tue Jul 29 2003 Jakub Jelinek 2.14.90.0.5-3 +- fix 64-bit unclean code in ppc-opc.c + +* Mon Jul 28 2003 Jakub Jelinek 2.14.90.0.5-2 +- fix 64-bit unclean code in tc-ppc.c + +* Mon Jul 28 2003 Jakub Jelinek 2.14.90.0.5-1 +- update to 2.14.90.0.5 +- fix ld -r on ppc64 (Alan Modra) + +* Fri Jul 18 2003 Jakub Jelinek 2.14.90.0.4-23 +- rebuilt + +* Thu Jul 17 2003 Jakub Jelinek 2.14.90.0.4-22 +- fix elfNN_ia64_dynamic_symbol_p (Richard Henderson, #86661) +- don't access memory beyond what was allocated in readelf + (Richard Henderson) + +* Thu Jul 10 2003 Jakub Jelinek 2.14.90.0.4-21 +- add .cfi_* support on ppc{,64} and s390{,x} + +* Tue Jul 8 2003 Jakub Jelinek 2.14.90.0.4-20 +- remove lib{bfd,opcodes}.la (#98190) + +* Mon Jul 7 2003 Jakub Jelinek 2.14.90.0.4-19 +- fix -pie support on amd64, s390, s390x and ppc64 +- issue relocation overflow errors for s390/s390x -fpic code when + accessing .got slots above 4096 bytes from .got start + +* Thu Jul 3 2003 Jakub Jelinek 2.14.90.0.4-18 +- rebuilt + +* Thu Jul 3 2003 Jakub Jelinek 2.14.90.0.4-17 +- fix ia64 -pie support +- require no undefined non-weak symbols in PIEs like required for normal + binaries + +* Wed Jul 2 2003 Jakub Jelinek 2.14.90.0.4-16 +- fix readelf -d on IA-64 +- build libiberty.a with -fPIC, so that it can be lined into shared + libraries + +* Wed Jun 25 2003 Jakub Jelinek 2.14.90.0.4-15 +- rebuilt + +* Wed Jun 25 2003 Jakub Jelinek 2.14.90.0.4-14 +- added support for Intel Prescott instructions +- fix hint@pause for ia64 +- add workaround for LTP sillyness (#97934) + +* Wed Jun 18 2003 Jakub Jelinek 2.14.90.0.4-13 +- update CFI stuff to 2003-06-18 +- make sure .eh_frame is aligned to 8 bytes on 64-bit arches, + remove padding within one .eh_frame section + +* Tue Jun 17 2003 Jakub Jelinek 2.14.90.0.4-12 +- rebuilt + +* Tue Jun 17 2003 Jakub Jelinek 2.14.90.0.4-11 +- one more fix for the same patch + +* Tue Jun 17 2003 Jakub Jelinek 2.14.90.0.4-10 +- fix previous patch + +* Mon Jun 16 2003 Jakub Jelinek 2.14.90.0.4-9 +- ensure R_PPC64_{RELATIVE,ADDR64} have *r_offset == r_addend + and the other relocs have *r_offset == 0 + +* Tue Jun 10 2003 Jakub Jelinek 2.14.90.0.4-8 +- remove some unnecessary provides in ppc64 linker script + which were causing e.g. empty .ctors/.dtors section creation + +* Fri Jun 6 2003 Jakub Jelinek 2.14.90.0.4-7 +- some CFI updates/fixes +- don't create dynamic relocations against symbols defined in PIE + exported from its .dynsym + +* Wed Jun 4 2003 Jakub Jelinek 2.14.90.0.4-6 +- update gas to 20030604 +- PT_GNU_STACK support + +* Mon Jun 2 2003 Jakub Jelinek 2.14.90.0.4-5 +- buildrequire gettext (#91838) + +* Sat May 31 2003 Jakub Jelinek 2.14.90.0.4-4 +- fix shared libraries with >= 8192 .plt slots on ppc32 + +* Thu May 29 2003 Jakub Jelinek 2.14.90.0.4-3 +- rebuilt + +* Thu May 29 2003 Jakub Jelinek 2.14.90.0.4-2 +- rename ld --dynamic option to --pic-executable or --pie +- fix ld --help output +- document --pie/--pic-executable in ld.info and ld.1 + +* Wed May 28 2003 Jakub Jelinek 2.14.90.0.4-1 +- update to 2.14.90.0.4-1 +- gas CFI updates (Richard Henderson) +- dynamic executables (Ulrich Drepper) + +* Tue May 20 2003 Jakub Jelinek 2.14.90.0.2-2 +- fix ELF visibility handling +- tidy plt entries on IA-32, ppc and ppc64 + +* Mon May 19 2003 Jakub Jelinek 2.14.90.0.2-1 +- update to 2.14.90.0.2-1 + +* Tue May 13 2003 Jakub Jelinek 2.13.90.0.20-8 +- fix bfd_elf_hash on 64-bit arches (Andrew Haley) + +* Wed Apr 30 2003 Jakub Jelinek 2.13.90.0.20-7 +- rebuilt + +* Mon Apr 14 2003 Jakub Jelinek 2.13.90.0.20-6 +- optimize DW_CFA_advance_loc4 in gas even if there is 'z' augmentation + with size 0 in FDE + +* Fri Apr 11 2003 Jakub Jelinek 2.13.90.0.20-5 +- fix SPARC build + +* Thu Apr 3 2003 Jakub Jelinek 2.13.90.0.20-4 +- fix ppc32 plt reference counting +- don't include %%{_prefix}/%%{_lib}/debug in the non-debuginfo package + (#87729) + +* Mon Mar 31 2003 Jakub Jelinek 2.13.90.0.20-3 +- make elf64ppc target native extra on ppc and elf32ppc native extra + on ppc64. + +* Fri Mar 28 2003 Jakub Jelinek 2.13.90.0.20-2 +- fix TLS on IA-64 with ld relaxation + +* Sat Mar 22 2003 Jakub Jelinek 2.13.90.0.20-1 +- update to 2.13.90.0.20 + +* Mon Feb 24 2003 Jakub Jelinek 2.13.90.0.18-9 +- rebuilt + +* Mon Feb 24 2003 Jakub Jelinek 2.13.90.0.18-8 +- don't strip binaries in %%install, so that there is non-empty + debuginfo + +* Mon Feb 24 2003 Jakub Jelinek 2.13.90.0.18-7 +- don't optimize .eh_frame during ld -r + +* Thu Feb 13 2003 Jakub Jelinek 2.13.90.0.18-6 +- don't clear elf_link_hash_flags in the .symver patch +- only use TC_FORCE_RELOCATION in s390's TC_FORCE_RELOCATION_SUB_SAME + (Alan Modra) + +* Mon Feb 10 2003 Jakub Jelinek 2.13.90.0.18-5 +- fix the previous .symver change +- remove libbfd.so and libopcodes.so symlinks, so that other packages + link statically, not dynamically against libbfd and libopcodes + whose ABI is everything but stable + +* Mon Feb 10 2003 Jakub Jelinek 2.13.90.0.18-4 +- do .symver x, x@FOO handling earlier +- support .file and .loc on s390* + +* Mon Feb 10 2003 Jakub Jelinek 2.13.90.0.18-3 +- handle .symver x, x@FOO in ld such that relocs against x become + dynamic relocations against x@FOO (#83325) +- two PPC64 TLS patches (Alan Modra) + +* Sun Feb 09 2003 Jakub Jelinek 2.13.90.0.18-2 +- fix SEARCH_DIR on x86_64/s390x +- fix Alpha --relax +- create DT_RELA{,SZ,ENT} on s390 even if there is just .rela.plt + and no .rela.dyn section +- support IA-32 on IA-64 (#83752) +- .eh_frame_hdr fix (Andreas Schwab) + +* Thu Feb 06 2003 Jakub Jelinek 2.13.90.0.18-1 +- update to 2.13.90.0.18 + 20030121->20030206 CVS diff + +* Tue Feb 04 2003 Jakub Jelinek 2.13.90.0.16-8 +- alpha TLS fixes +- use .debug_line directory table to make the section tiny bit smaller +- libtool fix from Jens Petersen + +* Sun Feb 02 2003 Jakub Jelinek 2.13.90.0.16-7 +- sparc32 TLS + +* Fri Jan 24 2003 Jakub Jelinek 2.13.90.0.16-6 +- s390{,x} TLS and two other mainframe patches + +* Fri Jan 17 2003 Jakub Jelinek 2.13.90.0.16-5 +- fix IA-64 TLS IE in shared libs +- .{preinit,init,fini}_array compat hack from Alexandre Oliva + +* Thu Jan 16 2003 Jakub Jelinek 2.13.90.0.16-4 +- IA-64 TLS fixes +- fix .plt sh_entsize on Alpha +- build with %%_smp_mflags + +* Sat Nov 30 2002 Jakub Jelinek 2.13.90.0.16-3 +- fix strip on TLS binaries and libraries + +* Fri Nov 29 2002 Jakub Jelinek 2.13.90.0.16-2 +- fix IA-64 ld bootstrap + +* Thu Nov 28 2002 Jakub Jelinek 2.13.90.0.16-1 +- update to 2.13.90.0.16 +- STT_TLS SHN_UNDEF fix + +* Wed Nov 27 2002 Jakub Jelinek 2.13.90.0.10-4 +- pad .rodata.cstNN sections at the end if they aren't sized to multiple + of sh_entsize +- temporary patch to make .eh_frame and .gcc_except_table sections + readonly if possible (should be removed when AUTO_PLACE is implemented) +- fix .PPC.EMB.apuinfo section flags + +* Wed Oct 23 2002 Jakub Jelinek 2.13.90.0.10-3 +- fix names and content of alpha non-alloced .rela.* sections (#76583) +- delete unpackaged files from the buildroot + +* Tue Oct 15 2002 Jakub Jelinek 2.13.90.0.10-2 +- enable s390x resp. s390 emulation in linker too + +* Mon Oct 14 2002 Jakub Jelinek 2.13.90.0.10-1 +- update to 2.13.90.0.10 +- add a bi-arch patch for sparc/s390/x86_64 +- add --enable-64-bit-bfd on sparc, s390 and ppc + +* Thu Oct 10 2002 Jakub Jelinek 2.13.90.0.4-3 +- fix combreloc testcase + +* Thu Oct 10 2002 Jakub Jelinek 2.13.90.0.4-2 +- fix orphan .rel and .rela section placement with -z combreloc (Alan Modra) +- skip incompatible linker scripts when searching for libraries + +* Tue Oct 1 2002 Jakub Jelinek 2.13.90.0.4-1 +- update to 2.13.90.0.4 +- x86-64 TLS support +- some IA-32 TLS fixes +- some backported patches from trunk +- include opcodes, ld, gas and bfd l10n too + +* Thu Sep 19 2002 Jakub Jelinek 2.13.90.0.2-3 +- allow addends for IA-32 TLS @tpoff, @ntpoff and @dtpoff +- clear memory at *r_offset of dynamic relocs on PPC +- avoid ld crash if accessing non-local symbols through LE relocs +- new IA-32 TLS relocs, bugfixes and testcases +- use brl insn on IA-64 (Richard Henderson) +- fix R_IA64_PCREL21{M,F} handling (Richard Henderson) +- build in separate builddir, so that gasp tests don't fail +- include localization + +* Thu Aug 8 2002 Jakub Jelinek 2.13.90.0.2-2 +- fix R_386_TPOFF32 addends (#70824) + +* Sat Aug 3 2002 Jakub Jelinek 2.13.90.0.2-1 +- update to 2.13.90.0.2 + - fix ld TLS assertion failure (#70084) + - fix readelf --debug-dump= handling to match man page and --help + (#68997) +- fix _GLOBAL_OFFSET_TABLE gas handling (#70241) + +* Wed Jul 24 2002 Jakub Jelinek 2.12.90.0.15-1 +- update to 2.12.90.0.15 +- TLS .tbss fix +- don't use rpm %%configure macro, it is broken too often (#69366) + +* Thu May 30 2002 Jakub Jelinek 2.12.90.0.9-1 +- update to 2.12.90.0.9 + - TLS support +- remove gasp.info from %%post/%%preun (#65400) + +* Mon Apr 29 2002 Jakub Jelinek 2.12.90.0.7-1 +- update to 2.12.90.0.7 +- run make check + +* Mon Apr 29 2002 Jakub Jelinek 2.11.93.0.2-12 +- fix .hidden handling on SPARC (Richard Henderson) +- don't crash when linking -shared non-pic code with SHF_MERGE +- fix .eh_frame_hdr for DW_EH_PE_aligned +- correctly adjust DW_EH_PE_pcrel encoded personalities in CIEs + +* Fri Apr 5 2002 Jakub Jelinek 2.11.93.0.2-11 +- don't emit dynamic R_SPARC_DISP* relocs against STV_HIDDEN symbols + into shared libraries + +* Thu Mar 21 2002 Jakub Jelinek 2.11.93.0.2-10 +- don't merge IA-64 unwind info sections together during ld -r + +* Mon Mar 11 2002 Jakub Jelinek 2.11.93.0.2-9 +- fix DATA_SEGMENT_ALIGN on ia64/alpha/sparc/sparc64 + +* Fri Mar 8 2002 Jakub Jelinek 2.11.93.0.2-8 +- don't crash on SHN_UNDEF local dynsyms (Andrew MacLeod) + +* Thu Mar 7 2002 Jakub Jelinek 2.11.93.0.2-7 +- fix bfd configury bug (Alan Modra) + +* Tue Mar 5 2002 Jakub Jelinek 2.11.93.0.2-6 +- don't copy visibility when equating symbols +- fix alpha .text/.data with .previous directive bug + +* Tue Mar 5 2002 Jakub Jelinek 2.11.93.0.2-5 +- fix SHF_MERGE crash with --gc-sections (#60369) +- C++ symbol versioning patch + +* Fri Feb 22 2002 Jakub Jelinek 2.11.93.0.2-4 +- add DW_EH_PE_absptr -> DW_EH_PE_pcrel optimization for shared libs, + if DW_EH_PE_absptr cannot be converted that way, don't build the + .eh_frame_hdr search table + +* Fri Feb 15 2002 Jakub Jelinek 2.11.93.0.2-3 +- fix ld -N broken by last patch + +* Tue Feb 12 2002 Jakub Jelinek 2.11.93.0.2-2 +- trade one saved runtime page for data segment (=almost always not shared) + for up to one page of disk space where possible + +* Fri Feb 8 2002 Jakub Jelinek 2.11.93.0.2-1 +- update to 2.11.93.0.2 +- use %%{ix86} instead of i386 for -z combreloc default (#59086) + +* Thu Jan 31 2002 Jakub Jelinek 2.11.92.0.12-10 +- don't create SHN_UNDEF STB_WEAK symbols unless there are any relocations + against them + +* Wed Jan 30 2002 Bill Nottingham 2.11.92.0.12-9.1 +- rebuild (fix ia64 miscompilation) + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Fri Dec 28 2001 Jakub Jelinek 2.11.92.0.12-8 +- two further .eh_frame patch fixes + +* Wed Dec 19 2001 Jakub Jelinek 2.11.92.0.12-7 +- as ld is currently not able to shrink input sections to zero size + during discard_info, build a fake minimal CIE in that case +- update elf-strtab patch to what was commited + +* Mon Dec 17 2001 Jakub Jelinek 2.11.92.0.12-6 +- one more .eh_frame patch fix +- fix alpha .eh_frame handling +- optimize elf-strtab finalize + +* Sat Dec 15 2001 Jakub Jelinek 2.11.92.0.12-5 +- yet another fix for the .eh_frame patch + +* Fri Dec 14 2001 Jakub Jelinek 2.11.92.0.12-4 +- Alan Modra's patch to avoid crash if there is no dynobj + +* Thu Dec 13 2001 Jakub Jelinek 2.11.92.0.12-3 +- H.J.'s patch to avoid crash if input files are not ELF +- don't crash if a SHF_MERGE for some reason could not be merged +- fix objcopy/strip to preserve SHF_MERGE sh_entsize +- optimize .eh_frame sections, add PT_GNU_EH_FRAME support +- support anonymous version tags in version script + +* Tue Nov 27 2001 Jakub Jelinek 2.11.92.0.12-2 +- fix IA-64 SHF_MERGE handling + +* Tue Nov 27 2001 Jakub Jelinek 2.11.92.0.12-1 +- update to 2.11.92.0.12 + - optimize .dynstr and .shstrtab sections (#55524) + - fix ld.1 glitch (#55459) +- turn relocs against SHF_MERGE local symbols with zero addend + into STT_SECTION + addend +- remove man pages for programs not included (nlmconv, windres, dlltool; + #55456, #55461) +- add BuildRequires for texinfo + +* Thu Oct 25 2001 Jakub Jelinek 2.11.92.0.7-2 +- duh, fix strings on bfd objects (#55084) + +* Sat Oct 20 2001 Jakub Jelinek 2.11.92.0.7-1 +- update to 2.11.92.0.7 +- remove .rel{,a}.dyn from output if it is empty + +* Thu Oct 11 2001 Jakub Jelinek 2.11.92.0.5-2 +- fix strings patch +- use getc_unlocked in strings to speed it up by 50% on large files + +* Wed Oct 10 2001 Jakub Jelinek 2.11.92.0.5-1 +- update to 2.11.92.0.5 + - binutils localization (#45148) + - fix typo in REPORT_BUGS_TO (#54325) +- support files bigger than 2GB in strings (#54406) + +* Wed Sep 26 2001 Jakub Jelinek 2.11.90.0.8-12 +- on IA-64, don't mix R_IA64_IPLTLSB relocs with non-PLT relocs in + .rela.dyn section. + +* Tue Sep 25 2001 Jakub Jelinek 2.11.90.0.8-11 +- add iplt support for IA-64 (Richard Henderson) +- switch to new section flags for SHF_MERGE and SHF_STRINGS, put + in compatibility code +- "s" section flag for small data sections on IA-64 and Alpha + (Richard Henderson) +- fix sparc64 .plt[32768+] handling +- don't emit .rela.stab on sparc + +* Mon Sep 10 2001 Jakub Jelinek 2.11.90.0.8-10 +- fix SHF_MERGE on Sparc + +* Fri Aug 31 2001 Jakub Jelinek 2.11.90.0.8-9 +- on Alpha, copy *r_offset to R_ALPHA_RELATIVE's r_addend + +* Thu Aug 30 2001 Jakub Jelinek 2.11.90.0.8-8 +- on IA-64, put crtend{,S}.o's .IA_64.unwind section last in + .IA_64.unwind output section (for compatibility with 7.1 eh) + +* Fri Aug 24 2001 Jakub Jelinek 2.11.90.0.8-7 +- put RELATIVE relocs first, not last +- enable -z combreloc by default on IA-{32,64}, Alpha, Sparc* + +* Thu Aug 23 2001 Jakub Jelinek 2.11.90.0.8-6 +- support for -z combreloc +- remove .dynamic patch, -z combreloc patch does this better +- set STT_FUNC default symbol sizes in .endp directive on IA-64 + +* Mon Jul 16 2001 Jakub Jelinek 2.11.90.0.8-5 +- fix last patch (H.J.Lu) + +* Fri Jul 13 2001 Jakub Jelinek 2.11.90.0.8-4 +- fix placing of orphan sections + +* Sat Jun 23 2001 Jakub Jelinek +- fix SHF_MERGE support on Alpha + +* Fri Jun 8 2001 Jakub Jelinek +- 2.11.90.0.8 + - some SHF_MERGE suport fixes +- don't build with tooldir /usrusr instead of /usr (#40937) +- reserve few .dynamic entries for prelinking + +* Mon Apr 16 2001 Jakub Jelinek +- 2.11.90.0.5 + - SHF_MERGE support + +* Tue Apr 3 2001 Jakub Jelinek +- 2.11.90.0.4 + - fix uleb128 support, so that CVS gcc bootstraps + - some ia64 fixes + +* Mon Mar 19 2001 Jakub Jelinek +- add -Bgroup support from Ulrich Drepper + +* Fri Mar 9 2001 Jakub Jelinek +- hack - add elf_i386_glibc21 emulation + +* Fri Feb 16 2001 Jakub Jelinek +- 2.10.91.0.2 + +* Fri Feb 9 2001 Jakub Jelinek +- 2.10.1.0.7 +- remove ExcludeArch ia64 +- back out the -oformat, -omagic and -output change for now + +* Fri Dec 15 2000 Jakub Jelinek +- Prereq /sbin/install-info + +* Tue Nov 21 2000 Jakub Jelinek +- 2.10.1.0.2 + +* Tue Nov 21 2000 Jakub Jelinek +- add one more alpha patch + +* Wed Nov 15 2000 Jakub Jelinek +- fix alpha visibility as problem +- add support for Ultra-III + +* Fri Sep 15 2000 Jakub Jelinek +- and one more alpha patch + +* Fri Sep 15 2000 Jakub Jelinek +- two sparc patches + +* Mon Jul 24 2000 Jakub Jelinek +- 2.10.0.18 + +* Mon Jul 10 2000 Jakub Jelinek +- 2.10.0.12 + +* Mon Jun 26 2000 Jakub Jelinek +- 2.10.0.9 + +* Thu Jun 15 2000 Jakub Jelinek +- fix ld -r + +* Mon Jun 5 2000 Jakub Jelinek +- 2.9.5.0.46 +- use _mandir/_infodir/_lib + +* Mon May 8 2000 Bernhard Rosenkraenzer +- 2.9.5.0.41 + +* Wed Apr 12 2000 Bernhard Rosenkraenzer +- 2.9.5.0.34 + +* Wed Mar 22 2000 Bernhard Rosenkraenzer +- 2.9.5.0.31 + +* Fri Feb 04 2000 Cristian Gafton +- man pages are compressed +- apply kingdon's patch from #5031 + +* Wed Jan 19 2000 Jeff Johnson +- Permit package to be built with a prefix other than /usr. + +* Thu Jan 13 2000 Cristian Gafton +- add pacth from hjl to fix the versioning problems in ld + +* Tue Jan 11 2000 Bernhard Rosenkraenzer +- Add sparc patches from Jakub Jelinek +- Add URL: + +* Tue Dec 14 1999 Bernhard Rosenkraenzer +- 2.9.5.0.22 + +* Wed Nov 24 1999 Bernhard Rosenkraenzer +- 2.9.5.0.19 + +* Sun Oct 24 1999 Bernhard Rosenkraenzer +- 2.9.5.0.16 + +* Mon Sep 06 1999 Jakub Jelinek +- make shared non-pic libraries work on sparc with glibc 2.1. + +* Fri Aug 27 1999 Jim Kingdon +- No source/spec changes, just rebuilding with egcs-1.1.2-18 because + the older egcs was miscompling gprof. + +* Mon Apr 26 1999 Cristian Gafton +- back out very *stupid* sparc patch done by HJLu. People, keep out of + things you don't understand. +- add alpha relax patch from rth + +* Mon Apr 05 1999 Cristian Gafton +- version 2.9.1.0.23 +- patch to make texinfo documentation compile +- auto rebuild in the new build environment (release 2) + +* Tue Feb 23 1999 Cristian Gafton +- updated to 2.9.1.0.21 +- merged with UltraPenguin + +* Mon Jan 04 1999 Cristian Gafton +- added ARM patch from philb +- version 2.9.1.0.19a +- added a patch to allow arm* arch to be identified as an ARM + +* Thu Oct 01 1998 Cristian Gafton +- updated to 2.9.1.0.14. + +* Sat Sep 19 1998 Jeff Johnson +- updated to 2.9.1.0.13. + +* Wed Sep 09 1998 Cristian Gafton +- updated to 2.9.1.0.12 + +* Thu Jul 2 1998 Jeff Johnson +- updated to 2.9.1.0.7. + +* Wed Jun 03 1998 Jeff Johnson +- updated to 2.9.1.0.6. + +* Tue Jun 02 1998 Erik Troan +- added patch from rth to get right offsets for sections in relocateable + objects on sparc32 + +* Thu May 07 1998 Prospector System +- translations modified for de, fr, tr + +* Tue May 05 1998 Cristian Gafton +- version 2.9.1.0.4 is out; even more, it is public ! + +* Tue May 05 1998 Jeff Johnson +- updated to 2.9.1.0.3. + +* Mon Apr 20 1998 Cristian Gafton +- updated to 2.9.0.3 + +* Tue Apr 14 1998 Cristian Gafton +- upgraded to 2.9.0.2 + +* Sun Apr 05 1998 Cristian Gafton +- updated to 2.8.1.0.29 (HJ warned me that this thing is a moving target... + :-) +- "fixed" the damn make install command so that all tools get installed + +* Thu Apr 02 1998 Cristian Gafton +- upgraded again to 2.8.1.0.28 (at least on alpha now egcs will compile) +- added info packages handling + +* Tue Mar 10 1998 Cristian Gafton +- upgraded to 2.8.1.0.23 + +* Mon Mar 02 1998 Cristian Gafton +- updated to 2.8.1.0.15 (required to compile the newer glibc) +- all patches are obsoleted now + +* Wed Oct 22 1997 Erik Troan +- added 2.8.1.0.1 patch from hj +- added patch for alpha palcode form rth